Faut-il simplifier la programmation et revoir ses fondements ? Un journaliste s’essaie au développement et dénonce sa complexité

De toute évidence, maîtriser un langage de programmation raisonnablement populaire, aussi complexe soit-il, ne peut être en aucun cas comparé à la difficulté d’apprendre une langue naturelle.

Pourtant, des personnes qui se lancent dans le développement trouvent énormément de difficultés à prendre leurs marques, et se sentent exclues dans une ère où les applications sont fondamentalement au coeur de nos vies. Où «le code s’élève à l’importance de l’alphabétisation ».

Chris Tompkins est un consultant journaliste qui vient de vivre l’une de ces expériences qui poussent certains à remettre en question leurs capacités intellectuelles et prédispositions naturelles pour un domaine qui leur est étranger, tout en scellant dans l’oubli le souvenir de cette tentative.

Mais pas lui !

Chris Tompkins rejette plutôt la faute sur les concepteurs des langages de programmation et remet en question tout le fondement du domaine tel qu’on les connaît.
Il estime que les inventeurs insèrent délibérément de la complexité dans les langages pour flatter leur propre ego, aux dépens des personnes (les enfants notamment) que cette complexité éloigne chaque jour du monde du développement.

Malgré une maîtrise du JavaScript qu’il estime suffisante, sa tentative récente d’apprendre l’Objective-C l’a mis devant un constat pour lui révoltant : « c’est bien trop dur », s’écrit-il sur un billet de blog qui remue actuellement la blogosphère anglophone.

Chris Tompkins est certainement au fait qu’il existe des langages de haut niveau, conçus pour rendre les développeurs plus heureux ; de ceux qui permettent d’écrire des DSL (langages dédiés) à d’autres, encore immatures, qui proposent de programmer en langage (presque) naturel.

Seulement, le coup de gueule de Tompkins s’abat précisément sur le langage C inventé il y a 40 ans, une référence ayant inspiré un tas d’autres langages populaires.

Le C est à la base de l’Objective-C, qui le complète et permet de mixer dans le même code des instructions issues des deux mondes. Un langage plébiscité par Apple, notamment pour le développement natif pour Mac OS et iOS.

Notre journaliste mécontent a souhaité écrire une application iPhone (où seuls les langages natifs sont autorisés), probablement pour satisfaire un besoin personnel. Il n’arrive pas à concevoir que la barrière pour y arriver soit aussi élevée.
Car après tout, on n’est jamais mieux servi que par soi même, même en développement.

Pour expliquer son point de vue, Tompkins propose une analogie décalée et probablement exagérée, mais intéressante : programmer en C revient d’après lui à connaître le génome des ingrédients alimentaires pour pouvoir les utiliser dans son petit repas !

Il se demande pourquoi ne pouvons-nous pas coder comme on fait pour cuisiner ? Comme quand on part choisir les plus belles tomates au supermarché du coin, les utiliser sans se soucier de comment, ni de quoi sont-elles réellement faites.

Les bibliothèques, frameworks et autres bases de codes, qui mettent à la disposition des développeurs des millions de lignes de code prêtes à entrer en action, ne suffisent pas d’après Tompkins qui plaide pour la création d’un langage à syntaxe naturelle qui formera une base plus simple pour l’apprentissage de la programmation.

Bref, il conclut son billet fort polémique en plaidant pour la simplification du code, comme un geste de « charité » envers ses semblables, au risque « d’empêcher des milliers, voire des millions de voix, d’arriver aux utilisateurs ».

Sourceblog de Chris Tompkins

Comments are closed.