La programmation en voie de disparition

1 Commentaire
chronique

oignonAndré tu dérailles, me direz-vous. Il y a maintenant tellement de langages de programmation qu’il y en a presque un par programmeur! En plus, ton billet qui montre un oignon: ça va pas la tête?

C’est vrai, je pourrais faire des pages et des pages de ce blogue juste en énumérant des langages de programmation. Ce foisonnement d’options est peut-être le bruit sur la ligne qui nous empêche d’entendre ce qui se passe vraiment. En fait, on ne parle plus vraiment de langages, on parle plutôt maintenant de référentiels (frameworks). Et quand on pense à un référentiel, il nous vient à l’idée un environnement d’assistance de ce référentiel, une sorte de gros jeu de Légo informatisé qui permet d’assembler des composantes qui nous constituent notre programme. Un programmeur fait aujourd’hui plus d’assemblage que de réelle programmation et le référentiel lui facilite les choses en lui fournissant une interface graphique en support à ses activités.

Un confrère architecte organique se plaignait récemment que les programmeurs ne sont plus capables de créer eux-mêmes les portions de code dont ils ont besoin. Il y en a qui sont devenus des experts de Google dans la recherche sur le Net des composantes toutes faites qu’ils pourront utiliser au lieu de les mettre au point eux-mêmes. De là à ce qu’ils cessent complètement d’écrire du code, il y a bien du chemin à faire. Toujours est-il que nous sommes en mouvement et dans la bonne direction: c’est donc là qu’on va finir par arriver!

De plus en plus de systèmes intègrent des environnements qui permettent l’automatisation sans programmation. Le meilleur exemple qui s’applique à la géomatique est le logiciel de conversion de données géospatiales FME de Safe Software. Une conversion de format est un ensemble d’opérations qui sont assemblées à l’aide d’un outil appelé “Workbench”. Safe a réussi à mettre dans Workbench toutes les règles de comportement des fonctions de conversion et de faire en sorte que l’utilisateur les assemble de manière graphique sans écrire une ligne de code (voir court démo de Safe). Une fois le plan de travail au point, on peut l’exécuter sans problème: il s’agit d’un script de conversion qui a été créé par l’outil graphique. On appelle ce genre d’outil des outils “CASE” pour “computer assisted software engineering” (voir sur CASE sur Wikipedia, en anglais seulement).

L’informatique est une centrale de réutilisation tellement puissante qu’il est devenu presque impossible de trouver une personne capable de coder dans le langage de base d’un micro-processeur. Les logiciels sont comme des oignons avec un nombre infini de couches logicielles imbriquées: plus on va vers le centre, plus les compétences sont rares. La beauté de la chose, c’est que ça fonctionne, en échange d’une quantité de plus en plus importante de ressources informatiques pour effectuer le travail. On s’en fout, ce sont les machines qui travaillent, elles sont de plus en plus rapides et elle ne rechignent pas à l’ouvrage, elles!

Toujours est-il qu’une firme d’intégrateurs en TI comme DMR ou CGI consacre un pourcentage de plus en plus important de ses ressources à l’architecture et à l’analyse et que le ratio de programmeurs baisse constamment. C’est une bonne nouvelle pour des gens comme moi qui ne programment plus depuis longtemps: les compétences APL, FORTRAN, Quick BASIC et dans les UCM ne sont plus beaucoup en demande, j’étais pourtant pas pire …

André Verville
Géomatique Verville
parallaxe@averville.ca

Simple et automatique?

2 Commentairess
chronique

simpleMon travail d’architecte technologique m’en fait voir de toutes les couleurs! Je m’explique: on sait que les possibilités de l’informatique sont infinies et on peut vraiment faire faire n’importe quoi sauf la vaisselle aux ordinateurs. Les entreprises qui développent des logiciels l’ont compris et se sont mises en tête de répondre à nos besoins les plus fous. Un foisonnement d’idées dont seulement quelques unes pourront survivre. Les résultats vont de pair: beaucoup de poudre aux yeux, mais aussi une complexité qui tient du cauchemar éveillé.

Un ancien confrère consultant implantait des systèmes comptables pour ses clients. Il m’avait expliqué que beaucoup de clients pensaient pouvoir solutionner leurs problèmes de tenue de livres à l’aide de l’informatique. Il utilisait ce dicton anglo-saxon: “garbage in, garbage out” pour leur faire comprendre que l’ordinateur ne pouvait qu’amplifier leurs problèmes parce qu’un fouillis informatisé, c’est un méga-fouillis. Se pourrait-il que ce soit ce genre de chose qu’on appelle pompeusement une infrastructure de données géospatiales (IDG)?

En géomatique, nous nous sommes laissés dire que les ordinateurs étaient pour prendre en charge la structure et l’organisation de nos données, en pensant qu’ils allaient y mettre de l’ordre. Les fournisseurs de logiciels nous ont dit qu’on n’avait plus à s’en soucier, que la base de données HyperCubeSpatialGeoMachin va s’auto-configurer à la volée à l’aide de ses interfaces intelligentes capables de lire et d’écrire dans tous les formats vectoriels et matriciels de l’industrie, en choisissant la bonne projection cartographique, le bon système d’unités et la bonne échelle de représentation. Tout ça, au-to-ma-ti-que-ment, d’un simple clic de souris. La belle vie quoi, vive le progrès!

Je suis désolé de jouer le trouble-fête mais depuis quelque temps, même les démos en arrachent. Lorsqu’ils font des démonstrations en personne ou en conférence Web il me semble que les fournisseurs de logiciels se plantent plus qu’avant. On n’hésite plus à nous présenter des menus surchargés d’options toutes plus obscures les unes que les autres, des procédures interactives interminables qui requièrent une navigation experte à travers une arborescence infinie de structures dont on vient à se demander s’il s’agit de données, de paramètres ou de fonctions. À cela s’ajoute un vocabulaire hermétique, souvent présenté sous forme d’acronymes et qu’on finit par trouver gênant de demander la signification tellement il y en a. Pour terminer, l’exécution des commandes requiert une chorégraphie complexe de serveurs, de bases de données et de postes de travail qui ne peut même plus fournir de message d’erreur lorsque quelque chose cloche: on attend, rien ne se passe et on redémarre les serveurs en priant que le problème disparaisse. Pas étonnant que les plus fûtés en soient venus à nous font jouer des vidéos enregistrées plutôt que de se mettre eux-mêmes aux commandes. Avec le temps, je suis devenu un peu las de les voir se mettre dans l’embarras parce que je compatis tout de même un peu avec leurs efforts pour maîtriser la bête (ou plutôt le troupeau) avec la pression de l’auditoire. Ça me laisse toujours perplexe de voir comment ils peuvent garder leur sérieux en disant les mots “facilement” et “automatiquement” tout en faisant la démonstration que “c’est compliqué” et que“ça ne fonctionne pas toujours”.

La gestion de nos infrastructures de données géospatiales serait peut-être plus efficace si on prenait le temps de mettre de l’ordre dans nos idées et dans nos données au lieu de demander aux ordinateurs, aux logiciels et à leurs fabricants de le faire à notre place parce qu’à l’évidence, pour plusieurs la complexité semble avoir bien meilleur $goût$.

André Verville
Géomatique Verville
parallaxe@averville.ca