Jazoon, Keynote d’ouvertue de Dave Thomas

 

 

Les tendances

Pour ouvrir cette saison 2012 de Jazoon, on nous présente Dave Thomas comme quelqu’un de provocateur, qui ose dire la vérité. J’ai hâte d’entendre ce qu’il a à dire. Il aborde rapidement les grands sujets tendances du moment:

  • Multi-coeur
    C’est grâce à cela que nous allons résoudre les défis de performances. Il attire notre attention particulièrement sur les multiples niveaux de caches apparaissant dans le hardware.
  • Big data
    Il y a tellement de données actuellement, que nous avons beaucoup de mal à toutes les traiter. La barrière du Zettabyte (soit 1 milliard de terra-octets) devrait être franchie en 2016. Que faire de tout cela ?
  • NoSQL
    Il n’existe pas une seule réponse aux problématiques de persistance. La constellation des bases « NoSQL » est et sera la bonne réponse à ce problème.
  • Mobilité
    Dave ne comprend pas l’engouement et la folie autour du développement mobile. La plus grande partie des applications ne sont souvent que l’équivalent d’une application web avec deux trois gadgets en plus.

L’état du monde informatique

Il brosse ensuite l’état du monde informatique:

  • Plus de 50 ans de « Legacy Code » à maintenir.
  • Plus de 40 ans de base de données relationnelles à faire évoluer.
  • Plus de 30 ans de programmes soi-disant orientés objet à supporter.
  • 14 ans de méthodes agiles qui bouleversent encore des organisations entières.

Il provoque encore un peu en fustigeant les approches TDD systématiques. Pour lui, il vaudrait mieux réfléchir à son code systématiquement plutôt que se créer des outils qui nous rappellent à l’ordre systématiquement.

Pour lui, il y a trop de développeurs, qui ont produit trop de code mais surtout trop de dette technique. Cette dette représenterait 70 à 90% de l’effort mondial dans l’informatique. Le grand défi des années à venir :

  • Comment écrire moins de code avec moins de personnes plus rapidement ?

Métissage

Et voici la composante essentiel de l’avenir (pas si lointain d’ailleurs) selon Dave : le métissage. On parle alors de programmation polyglotte. On utilise le meilleur paradigme à chaque besoin :

  • Programmation fonctionnelle pour les algorithmes. Elle nous prouve ses qualités de jour en jour.
  • Pattern acteur pour la distribution de traitements. La programmation concurrentielle par thread est vraiment difficile à mettre en place de façon robuste.
  • L’objet pour résoudre les problématiques du domaine métier. C’est avant tout pour cela que l’orienté objet a été créé.

Aujourd’hui, Scala utilise cette notion de programmation polyglotte. Ce langage permet d’utiliser chaque paradigme pour résoudre au mieux chaque problématique. Le développeur va devoir avoir une culture de plus en plus large sur ces différents patterns. Il nous parle alors de polyculture, de poly-VM. Chaque paradigme tourne alors sur une VM qui lui est spécifiquement personnalisée. On cherche les meilleures performances pour chaque besoin.
Même si la programmation fonctionnelle semble effrayante à première vue, il nous conseille de nous retrousser les manches, elle va vite devenir incontournable.

2018

Fermez les yeux, … attendez un peu… vous êtes en 2018, à travers les yeux de Dave.
La programmation n’est plus que du requêtage. La part belle est faite à un nouveau concept : DIY Computing. C’est à dire le débrouille-toi-pour-calculer-ce-que-tu-veux. La puissance est donnée de plus en plus aux utilisateurs.
Si toi développeur, tu ne veux pas sombrer dans les limbes, tu as deux choix :

  • Devenir expert dans une technologie (mais expert genre master warrior legend in chief).
  • Apprendre le domaine du client.

Si un développeur ne souhaite pas s’intéresser au domaine, Dave ne donne pas cher de sa peau. La place d’un développeur ni trop attiré par la technique, ni trop attiré par le métier, aura du mal à trouver sa place et devra choisir son camp.

Le pouvoir est maintenant clairement donné aux utilisateurs finaux. Les outils de développement visuels continuent de progresser, comme Scratch, Exadata, Pentaho…
Les couches classiques d’outils des utilisateurs seront :

  • L’analytique avec des outils de reporting, de requêtage ad-hoc
  • Des environnements de développement interactifs et collaboratifs. Les solutions techniques derrières ces éditeurs se perfectionnent. L’équipe d’analyse métier connait la réponse fonctionnelle au besoin. Pourquoi passer du temps à l’expliquer à l’équipe de développement, si d’une part elle n’en a que faire et si en plus, je peux le faire seul avec ces nouveaux outils ?
  • Les solutions NoSQL seront une réponse standard aux problématiques de stockage.

Une de ses dernières phrases est la suivante : All you do as programming is make queries with technical stuff. Let’s remove technical stuff for business people!

Conclusion

Dave Thomas pousse-t-il ses idées trop loin trop rapidement ? Cette volonté de programmer sous forme visuelle a-t-elle vraiment des chances d’émerger ? Elle reste de mon point de vue un objectif qu’on cherche à atteindre depuis des années. Mais ce n’est pour l’instant pas mature. 

Il nous met cependant en garde à bien rester à l’écoute des évolutions sur ces nouveaux paradigmes. Si on ne veut pas être noyé, il va falloir prendre au moins la vague de la programmation fonctionnelle. Pour le reste, après tout on verra dans six ans !

Billets sur le même thème :

Laisser un commentaire