Au-delà des langages de programmation cabalistiques...

Suis-je le seul à trouver que ces crochets et autres symboles cabalistiques sont plutôt aggressifs?

Un programme écrit en C, ou pire encore en C++, ou par un de ses descendants me fait souvent penser à ces insectes bardés de crochets et autres piquants... Comme par exemple la mante religieuse.

Les crochets des langages de la lignée de C figurée comme une mante religieuse

Si l'on en juge selon quelques commentaires sur les langages de programmation dérivés de C, la réponse est que je ne suis pas le seul ...

Quelques citations...

"Quand votre marteau est C++, chaque chose commence à rassembler à votre pouce."

"Un programme C est comme une danse rapide sur une piste de danse fraichement cirée, par des personnes tenant des rasoirs."

"C++ a sa place dans l'histoire des langages de programmation. Tout comme Caligula a sa place dans l'histoire de l'Empire romain."

"Aller de la programmation en Pascal à la programmation en C, c'est comme apprendre à écrire en code Morse." 

"Ecrire en C ou C++, c'est comme utiliser une tronçonneuse avec toutes les protections enlevés."

"Perl est le seul language qui paraît le même avant et après le chiffrement RSA." 

Source.

Ces crochets et accolades avaient un sens pour les créateurs de C. Par rapport aux mots réservés begin end, par exemple, il réduisaient le temps de parsing d'un programme et avec les ordinateurs de 1972, c'était un avantage notable, mais qui est obsolète de nos jours avec des machines dix mille fois plus puissantes!
Quand aux points-virgules, le créateur de C a estimé rétrospectivement que c'était une erreur de conception. Ils sont d'ailleurs optionnels en JavaScript.

JavaScript comme beaucoup d'autres langages s'est aussi inspiré de la syntaxe de C, mais puisque c'est un langage interprété, et dans le navigateur qui plus est, il a besoin de cette syntaxe succinte. Par contre elle était loin d'être nécessaire dans Java ou Go...

Comme je l'ai illustré dans un autre article, le langage de programmation est un domaine qui ne semble pas selon les concepteurs mériter que l'on prenne en compte le confort de l'utilisateur - en l'occurence le programmeur - et surtout le débutant. C'est un domaine où l'on devrait s'en tenir aux habitudes. Celles de qui? Pas des débutants évidemment, c'est plutôt les habitudes du créateur du langage en fait. Mais pas seulement.

Je ne sais pas si cela a été l'objet d'une étude approfondie par les psychologues, cela a en tout cas été décrit par Jean-Paul Sartre, plus un utilisateur souffre quand on lui inculque quelque chose, plus il deviendra attaché à cela et plus il s'opposera, une fois qu'il aura maîtrisé le sujet, à ce que l'on fasse évoluer les choses. C'est sans doute pourquoi ces crochets, accolades et autres symboles acérés qui font mal aux yeux restent aussi fermement accrochés dans les habitudes des programmeurs.

Parmi les langages qui ont tenté une approche nouvelle et mieux inspirée à mon sens, il y a bien sûr Scriptol, il y a plus récemment Quorum, et ces deux langages devenus populaires, Python et Ruby. Cependant ces derniers sont mis à mal. Le premier par Go, un autre langage bardé de crochets et même pire que C, mais qui a l'avantage de la vitesse de compilation. Le second par Scala ou JavaScript avec Node, tous deux plus "scalables".
L'utilisation de plus en plus fréquente de JavaScript n'est malgré tout pas un mal, car c'est un langage ingénieux dans sa conception malgré des défauts dans les détails.
Et d'autre part il existe de multiples langages plus faciles à appréhender et qui compilent en JavaScript. C'est peut-être là que se situe l'avenir de la programmation. Non pas seulement dans des langages cosmétiques faits pour faciliter l'écriture des programmes tout en conservant un backend portable, mais dans des langages de très haut-niveau qui se compilent dans ces langages classiques qui sont reconnus sur toutes les plateformes. Des langages disposant d'interactivité pour le déboguage, permettant l'auto-correction des erreurs, l'apprentissage par les programmes.
Alors on pourra échapper à tous ces crochets qui semblent vouloir vous agripper jusqu'à la fin des temps.