Les cinq langages de programmation les plus difficiles au monde





Nous ne parlons tous que de C, C +, Java, Python et ainsi de suite, mais en attendant, il existe des langages dans la nature qui peuvent être qualifiés non seulement de complexes, mais inaccessibles à la plupart des programmeurs. Ils sont appelés langages de programmation ésotériques (ou ezolangi, du court pour esolang).



Les langages ésotériques ne servent pas à effectuer des tâches de programmation ordinaires. Ils sont créés pour faire une preuve de concept ou simplement à des fins de divertissement.

Vous trouverez ci-dessous une liste de cinq des langages de programmation les plus intimidants ( note des traducteurs: si vous avez d'autres candidats dignes qui ne sont pas mentionnés par l'auteur, nous serions heureux d'en entendre parler dans les commentaires). J'ai essayé d'écrire un "Hello World!" sur chacun d'eux - c'était amusant.



Malbolge



Cette langue a été inventée en 1998 par Ben Olmsted. Il est considéré comme le plus difficile de tous. Ils disent que l'auteur lui-même n'a pas écrit un seul programme sur son idée. Le code qui affiche les mots Hello World! Apparu deux ans après Olmsted a terminé la langue.



Voici un extrait de code pour afficher le Hello World! sur Malbolge:



(=<`#9]~6ZY32Vx/4Rs+0No-&Jk)"Fh}|Bcy?`=*z]Kw%oG4UUS0/@-ejc(:'8dc


Et c'est ce qu'il donne:





Ceci et tous les extraits de code suivants ont été écrits par l'auteur et lancés sur tio.run



INTERCAL



Jim Lyon et John Woods ont développé INTERCAL en 1972 comme une parodie de divers langages de programmation. Il s'appelait à l'origine «un langage compilé qui n'a pas de contractions prononcables».



INTERCAL a spécialement implémenté des fonctionnalités conçues pour rendre la vie difficile à un programmeur. Par exemple, il utilise le modificateur PLEASE et autres. Le compilateur peut rejeter le code si PLEASE s'y produit sans régularité appropriée. Explication? "Pas assez poli." Si le modificateur PLEASE apparaît trop souvent dans le code, le compilateur rejette le code comme "trop ​​poli".



Voici un extrait de code pour afficher le Hello World! sur INTERCAL:



DO ,1 <- #13
PLEASE DO ,1 SUB #1 <- #238
DO ,1 SUB #2 <- #108
DO ,1 SUB #3 <- #112
DO ,1 SUB #4 <- #0
DO ,1 SUB #5 <- #64
DO ,1 SUB #6 <- #194
DO ,1 SUB #7 <- #48
PLEASE DO ,1 SUB #8 <- #22
DO ,1 SUB #9 <- #248
DO ,1 SUB #10 <- #168
DO ,1 SUB #11 <- #24
DO ,1 SUB #12 <- #16
DO ,1 SUB #13 <- #162
PLEASE READ OUT ,1
PLEASE GIVE UP


Et c'est ce qu'il donne:





Brainfuck



Brainfuck est né en 1993 par Urban Müller, qui voulait que ce soit amusant pour d'autres programmeurs. Déjà à partir du nom, il est clair que la langue vise à rendre aussi difficile que possible pour ceux qui travaillent avec elle de comprendre ce qui se passe.



La langue entière se compose de huit caractères séparés, qui sont utilisés pour implémenter n'importe quelle opération. Le premier compilateur, développé par Mueller lui-même, ne faisait que 296 octets.



Voici un extrait de code pour afficher le Hello World! sur Brainfuck:



++++++++++[>+++++++>++++++++++>+++<<<-]>++.>+.+++++++
 ..+++.>++.<<+++++++++++++++.>.+++.------.--------.>+.


Et voici ce que cela donne:





VACHE



COW a été créé par Sean Geber en 2003. La signification du nom de cette langue deviendra claire pour vous lorsque vous verrez le code. En termes de difficulté, COW est comparable à Brainfuck. En termes quantitatifs, il y a quatre autres commandes dans COW - un total de douze pour toute la langue.



Voici un extrait de code pour afficher le Hello World! sur COW:



MoO MoO MoO MoO MoO MoO MoO MoO MOO moO MoO MoO MoO MoO MoO moO MoO MoO MoO MoO moO MoO MoO MoO MoO moO MoO MoO MoO MoO MoO MoO MoO
 MoO MoO moO MoO MoO MoO MoO mOo mOo mOo mOo mOo MOo moo moO moO moO moO Moo moO MOO mOo MoO moO MOo moo mOo MOo MOo MOo Moo MoO MoO 
 MoO MoO MoO MoO MoO Moo Moo MoO MoO MoO Moo MMM mOo mOo mOo MoO MoO MoO MoO Moo moO Moo MOO moO moO MOo mOo mOo MOo moo moO moO MoO 
 MoO MoO MoO MoO MoO MoO MoO Moo MMM MMM Moo MoO MoO MoO Moo MMM MOo MOo MOo Moo MOo MOo MOo MOo MOo MOo MOo MOo Moo mOo MoO Moo


Et voici ce que cela donne:





Espace blanc



Whitespace a été publié à l'Université de Durham, ses auteurs sont Chris Morris et Edwin Brady. Il a été présenté au grand public le 1er avril 2003.



L'idée de base est que les espaces, les tabulations et les retours à la ligne sont combinés dans le langage pour écrire des programmes. L'interpréteur ignore tous les autres symboles, les considérant comme des commentaires sur le code.



Voici un extrait de code pour afficher le Hello World! sur Whitespace. Dans l'extrait ci-dessous, chaque espace, tabulation et saut de ligne sont précédés respectivement de S, T et L:



S S S T	S S T	S S S L
T	L
S S S S S T	T	S S T	S T	L
T	L
S S S S S T	T	S T	T	S S L
T	L
S S S S S T	T	S T	T	S S L
T	L
S S S S S T	T	S T	T	T	T	L
T	L
S S S S S T	S T	T	S S L
T	L
S S S S S T	S S S S S L
T	L
S S S S S T	T	T	S T	T	T	L
T	L
S S S S S T	T	S T	T	T	T	L
T	L
S S S S S T	T	T	S S T	S L
T	L
S S S S S T	T	S T	T	S S L
T	L
S S S S S T	T	S S T	S S L
T	L
S S S S S T	S S S S T	L
T	L
S S L
L
L


Et voici ce que cela donne:





Il existe de nombreux autres langages ésotériques similaires à ceux-ci. Vous pouvez suivre le lien pour vous familiariser avec eux. Sur ce site, vous pouvez trouver des compilateurs et des interprètes pour presque toutes les langues. Copiez le code de l'une des pages de wikipedia et jouez avec lui à votre guise.



All Articles