Dans la grande famille des langages de programmation je voudrais, je voudrais … les langages de programmation les plus dingues!
Si l’idée même de vouloir dénombrer le chiffre exact de langages de programmation ayant été inventés jusqu’ici est inconcevable, il est cependant possible de trouver certaines Perl ;-)
Prisés par les hackers et certains passionnés les langages dont je vais vous parler à présent sont plus communément appelés « Esoteric Programming Languages » en référence à leur coté quasi mystique.
Vous le verrez l’ergonomie est rarement une priorité pour ces langages (se serait même plutôt l’inverse) on arrive donc parfois à des choses assez comiques…
Numéro 10: INTERCAL
Intercal a été créé en 1972 Donald R. Woods et James M. Lyon, ce qui en fait donc probablement le premier langage de programmation exotique. L’objectif était de créer un langage sans aucune similitudes avec un quelconque langages de programmation de l’époque.
Selon le manuel d’origine écrit par les auteurs, « Le nom complet du compilateur est : Compiler Language With No Pronounceable Acronym, », ce qui pour des raisons évidentes, en abrégé nous donne INTERCAL…
Voici un équivalent pour « Hello World » tout d’abord écrit en C puis en INTERCAL :D

Si vous voulez en savoir plus sur INTERCAL jettez un coup d’oeil à cette page ;)
Numéro 9: Whitespace
Comme son nom l’indique, Whitespace, conçus en 2002, par Edwin Brady et Chris Morris, est un langage de programmation ésotérique qui utilise uniquement des caractères d’espacement comme syntaxe. Ainsi, seuls les espaces, tabulations et sauts de ligne ont une signification.
Ci-dessous le même « Hello world ». La couleur rose représentant les espaces et le violet les tabulations:

Si vous voulez en savoir plus sur Whitespace jetez un coup d’œil à cette page ;)
Numéro 8: Chef
Chef, conçu par David Morgan-Mar, en 2002, est un langage de programmation exotique dans lequel les programmes ressemblent à des recettes de cuisine!! (WTF) Les variables ont tendance à être nommé d’après le nom d’aliments de base, les piles sont appelées saladiers « mixing bowls » et les instructions pour les manipuler sont “mix”, “stir”. Enfin l’ensemble des ingrédients du saladier sont commandés comme une pile de … crêpes « stack of pancakes ».
Le fameux « Hello world » ainsi que le lien qui va bien pour en apprendre plus:

Numéro 7: Velato
Velato est une langue qui utilise des fichiers MIDI comme code source. Il est destiné à permettre une certaine souplesse dans la composition. Au final le programme généré sonne de manière assez harmonieuse (comprendre: ce n’est pas une série de notes au hasard).
Évidement, comme tous fichiers audio qui se respecte, les programmes Velato peuvent aussi être représentés sous formes de partitions. Ci-sous partitions la partition correspondant à Hello World que vous pouvez écouter ici.

Plus d’infos.
Numéro 6: Shakespeare
La première ligne dans un programme écrit en Shakespeare est appelé le « titre » et agit comme un commentaire. Le « Dramatis Personae » est la section où les variables sont déclarées. Chaque nom de variable doit être le nom d’un personnage de la pièce de Shakespeare.
Un morceau de code dans Shakespeare est divisé en actes, qui contiennent des Scènes, dans lequel les caractères (variables) interagissent. Les actes et scènes sont numérotées avec un chiffre romain et sont utilisées comme un label GOTO. Voici un exemple:
Act I: Hamlet’s insults and flattery.
Scene I: The insulting of Romeo.
Bref vous l’aurez compris on nage en plein drame shakespearien !
Hello word & informations complémentaires:

Numéro 5: Omgrofl
Omgrofl est une langue créée en 2006 par Juraj Borza. En totale opposition avec les langages précédemment évoqués, ce dernier utilise l’argot d’Internet. Rien que son nom Omgrofl (venant de la combinaison des mots OMG et ROFL) en dit long…
Il faut d’ailleurs noter que « Rofl » est en fait l’une des commandes de Omgrofl. Autre précision importante Omgrofl n’est pas sensible à la casse. Vous pouvez l’utiliser pour produire des « jolis » code capslockés à souhait ;-)
Hello world en Omgrofl:

Numéro 4: Befunge
Befunge a été inventé en 1993 par Chris Pressey, avec l’objectif d’être aussi difficile à compiler que possible. Plusieurs leviers ont ainsi été utilisés. Premièrement l’auto-modification du code (l’instruction « p » peut écrire de nouvelles instructions). De plus le programme est ici multi-dimensionnel (la même instruction peut être exécutée dans quatre directions différentes).
Exemple pour Hello World:

Numéro 3: Malbolge
Alors que Befunge est conçu pour être difficiles à compiler (traduit en code machine), Malbolge, nommé en référence au huitième cercle de l’enfer dans l’enfer de Dante, est destiné à être aussi difficile que possible à écrire. Il était ainsi si difficile à comprendre que quand ce langage a été inventé il a fallu deux ans pour en écrire un premier programme. D’ailleurs celui-ci n’a pas n’a pas été écrit par la main de l’homme, mais par un programme Lisp en utilisant un faisceau de recherche.
Hello World écrit en Malbolge:

Numéro 2: Piet (Mondrian)
Piet est un langage dont les programmes sont des images bitmap . Il a été conçu par David Morgan-Mar et fait référence aux célèbre figures géométriques du peintre Piet Mondrian. En tant que fervent admirateur des œuvres de Mondrian je me devais de faire figurer ce langage en bonne place dans le classement ;-)
Il y a 20 couleurs pour lesquelles le comportement est spécifié: 18 « colorées » dont le comportement est commandé par un cycle de teintes en 6 étapes et un cycle de luminosité en 3 étapes, sachant que le noir et le blanc eux ne sont pas commandés.
Lorsque vous quittez une couleur « colorée » (donc autre que le noir et blanc) et que vous entrez dans une autre, l’intervention effectuée est déterminée par le nombre d’étapes de changement de teintes et de luminosité. Si toutes les règles possibles sont essayées, le programme se termine.
Hello world en Piet:

Numéro 1: Brainfuck
Bon là on arrive vraiment à du grand n’importe quoi. Mesdames et messieurs veuillez accueillir Brainfuck!
Brainfuck est sûrement le langage de programmation exotique le plus célèbre, (il a d’ailleurs inspiré la création d’une multitude d’autres langages). Remarquée pour son minimalisme incroyable (il n’utilise que trois bits!), il n’est malheureusement pas adapté pour une utilisation pratique du fait de sa complexité extrême. Pour vous donner un ordre d’idée plusieurs compilateurs brainfuck ont été conçus et les plus petits en taille ne faisaient que 200 octets!
Hello world en Brainfuck:

C’est hélas la fin de ce long top 10 :’( Cependant pour ceux qui seraient vraiment en manque niveau langage exotique voici un lien vers un portail qui comblera toutes vos attentes!
Lire la suite