Eltanin

Eltanin

Learn Humanity
Nous sommes actuellement le 29 Avr 2024, 19:21

Le fuseau horaire est UTC+1 heure [Heure d’été]




Publier un nouveau sujet Répondre au sujet  [ 1 message ] 
Auteur Message
MessagePublié: 09 Avr 2006, 22:07 
Hors-ligne
Premiers pas
Avatar de l’utilisateur

Inscription : 16 Mars 2006, 11:38
Message(s) : 4
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 :
>              v
v  ,,,,,"Hello"<
>48*,          v
v,,,,,,"World!"<
>25*,@


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 (<, v, >, ^) 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) :
http://fr.wikipedia.org/wiki/Befunge

Applet java permettant de s'exercer (FUNGE-98 me semble t-il):
http://kotisivu.mtv3.fi/quux/jsbef/index.html

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 :
http://libbefunge.sf.net

_________________
"Computer Science is no more about computers than astronomy is about telescopes." EWD


Haut
 Profil  
 
Afficher les messages publiés depuis :  Trier par  
Publier un nouveau sujet Répondre au sujet  [ 1 message ] 

Le fuseau horaire est UTC+1 heure [Heure d’été]


Qui est en ligne ?

Utilisateur(s) parcourant ce forum : Aucun utilisateur inscrit et 19 invité(s)


Vous ne pouvez pas publier de nouveaux sujets dans ce forum
Vous ne pouvez pas répondre aux sujets dans ce forum
Vous ne pouvez pas éditer vos messages dans ce forum
Vous ne pouvez pas supprimer vos messages dans ce forum

Recherche de:
Aller vers :  
cron
Powered by phpBB® Forum Software © phpBB Group
Traduction et support en françaisHébergement de site