1er post sur les langages de programmation  --ésoteriques--  (certains diront inutilesâ€¦ )
Si vous souhaitez seulement vous amuser à  écrire quelques petits programmes, pourquoi ne pas le faire en utilisant un langage un tant soit peu ludique, et/ou original ?

Premier langage présenté :
Le langage Befunge.
Il fait partie d'une famille de langages de programmation interpretés, dit "topologiques", communément appellée Funges.

Les Funges représentent leurs programmes en mémoire au sein de matrices de dimension N (appellé Funge-Space), dans lesquelles sont inscrites les instructions du programme. Le Funge-Space peut également faire office de zone de stockage temporaire (par lâ€™intermédiaire des opérateurs p et g).
Les Funges donnent aussi accès à  une zone de mémoire sous forme de pile FILO, nécessaire aux instructions pour éffectuer des opérations (notation polonaise inverse).
 
Le nom Befunge signifie qu'il s'agit d'un Funge de dimension 2.
Un programme d'exemple "Hello World" peut donc etre représenté par une suite de caractères (instructions) dans un espace à  deux dimensions (en gros, un fichier texte... Dans lequel chaque caractère représente une instruction)
[code:bnhrm52c]&gt;              v
v  ,,,,,&quot;Hello&quot;&lt;
&gt;48*,          v
v,,,,,,&quot;World!&quot;&lt;
&gt;25*,@[/code:bnhrm52c]

A première vue, on pourrait croire que ces langages sont difficiles à  apprendre et à  utiliser. Il n'en est rien ! Avec moins de 10 instructions en tête (et une table ASCII ^^ ), on peut déjà  écrire quelques programmes.
En plus, les programmes sont visuellement très explicites, les flèches (&lt;, v, &gt;, ^) par exemple, indiquent les directions à  prendre par le programme, au sein du Funge-Space. Bonâ€¦ cette remarque est vraie pour des Funges de dimensions 1, 2 ou 3. Pour ce qui est des Funges de dimension supérieure, je vous laisse imaginer le foutoir.

Le débogage se fait aussi très facilement, il suffit de suivre le cheminement du programme à  travers le Funge-Space, pas à  pas.

Bon, à  la place de 4 pages de mes explications foireuses, redondantes, inadaptées, je vous invite à  consulter la page Wikipedia concernant ce(s) langage(s) :
<!-- m --><a class="postlink" href="http://fr.wikipedia.org/wiki/Befunge">http://fr.wikipedia.org/wiki/Befunge</a><!-- m -->

Applet java permettant de s'exercer  (FUNGE-98 me semble t-il):
<!-- m --><a class="postlink" href="http://kotisivu.mtv3.fi/quux/jsbef/index.html">http://kotisivu.mtv3.fi/quux/jsbef/index.html</a><!-- m -->

Pour les développeurs C++, voilà  une librairie implémentant un interpréteur Befunge. Un peu de pub, parcequâ€™il sâ€™agit [barrer]dâ€™une de mes merdes[/barrer] dâ€™un de mes programmes, en fait :
<!-- m --><a class="postlink" href="http://libbefunge.sf.net">http://libbefunge.sf.net</a><!-- m -->