Les informaticiens savent rigoler... mais à leur manière. Par exemple en inventant des langages de programmation totalement inutiles, mais drôles. Petite sélection

Quand on pense aux langages de programmation, ce sont souvent toujours les mêmes termes qui reviennent, à savoir Java, C, C++, Python, etc. Mais il existe aussi tout un univers de langages très peu connus, car très peu utilisés : les langages dits exotiques. Ils ont été inventés par les informaticiens pour tester certaines limites, pour accomplir un challenge intellectuel ou, tout simplement, pour se marrer un bon coup. Ils n’existent, finalement, que pour la beauté des choses. Mais attention, ce ne sont pas des langages au rabais. Ils sont tous « Turing complets » et permettent donc, en théorie, d’écrire n’importe quel programme. Encore faut-il en avoir l’envie…

Intercal

« Hello World ! » en 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

Doté de structures de données, d’opérateurs et de structures de contrôle, c’est un peu l’archétype du langage exotique. Créé en 1972 par deux étudiants de Princeton, c’est une parodie de langage de programmation qui tourne en dérision certaines notations et constructions des années 60. Le résultat est volontairement cryptique, redondant et inutile. Par exemple, le programmeur doit utiliser régulièrement le mot clé « PLEASE » qui est fonctionnellement équivalent à « DO ». S’il n’y en a pas assez, le code est considéré comme impoli par le compilateur, et sera donc rejeté. Trop de « PLEASE » conduisent au même résultat, car l’obséquiosité est également bannie.

Brainfuck

« Hello World ! » en Brainfuck:

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

Exit la lourdeur et la complexité. Créé par Urban Müller en 1993, Brainfuck se veut simpliste. Ce langage ne dispose que de huit instructions, représentées par huit caractères spéciaux. Le compilateur ne pèse que 170 octets. Il s’appuie sur un pointeur qui se balade sur un tableau de 30 000 cases, chacune codée sur 8 bits. Mais simpliste ne veut pas dire simple à lire, car le code que l’on obtient se révèle particulièrement abscons.

Whitespace

Diffusé en 2003, Whitespace pousse le bouchon encore plus loin. Il permet de créer un code invisible à l’œil nu, ce qui n’est… pas du tout pratique. En effet, ce langage n’utilise que trois caractères : l’espace, la tabulation et le retour à la ligne. Ils permettent d’écrire des lignes d’instructions similaires à l’assembleur, où l’on manipule des piles et tas de données. Whitespace est certes une plaisanterie, mais aurait tout de même un certain intérêt pédagogique, estiment certains experts. Lequel, on ne sait exactement…

Piet

Créé en 1993, Piet est un langage où le code apparaît sous la forme d’un GIF formé de groupes de pixels appelés « codels ». Un pointeur parcourt ces codels et, en fonction du changement de teinte et de luminosité, va générer des instructions sur une pile de données (addition, soustraction, multiplication, empiler, dépiler…). Le challenge est évidemment de créer des programmes ayant une certaine qualité esthétique, comme ce « Hello world! » particulièrement coloré et rafraichissant. On pourrait presque s’en servir pour décorer son salon.

Shakespeare Programming Langage

« Hello World ! » en SPL:

The Infamous Hello World Program.

Romeo, a young man with a remarkable patience.
Juliet, a likewise young woman of remarkable grace.
Ophelia, a remarkable woman much in dispute with Hamlet.
Hamlet, the flatterer of Andersen Insulting A/S.

Act I: Hamlet’s insults and flattery.

Scene I: The insulting of Romeo.

[Enter Hamlet and Romeo]

Hamlet:
You lying stupid fatherless big smelly half-witted coward! You are as stupid as the difference between a handsome rich brave hero and thyself! Speak your mind!

You are as brave as the sum of your fat little stuffed misused dusty old rotten codpiece and a beautiful fair warm peaceful sunny summer’s day. You are as healthy as the difference between the sum of the sweetest reddest rose and my father and yourself! Speak your mind!

You are as cowardly as the sum of yourself and the difference between a big mighty proud kingdom and a horse. Speak your mind. Speak your mind!

(…)

Créé en 2001 par Karl Hasselström et Jon Aslund, le Shakespeare Programming Langage permet d’écrire un code informatique qui ressemble à une pièce de théâtre. Les personnages sont des variables initialisées au début de la pièce, et leurs répliques sont des attributions et des instructions. Un substantif vaut généralement +1, sauf s’il n’est pas beau et dans ce cas c’est -1. Chaque adjectif double la mise. Ainsi « a charming cute golden flower and the silly beggar » vaut 23 x 1+ 2 x (-1) = 6. Une sortie de données se fait par la phrase clé « open your heart » ou « speak your mind » . Une entrée de données s’appuie sur la phrase inverse « listen to your heart » ou « open your mind » . Et pour stocker une variable en mémoire, on écrit « Remember me » . Facile? That is the question.

Par
Gilbert KALLENBORN Journaliste

En savoir plus …