Curiosités: Langages de programmation ésotériques

Les langages de programmation ésotériques sont des langages minimalistes, créés comme preuve de concept et / ou défi, à la fois pour programmer le langage et pour écrire pour lui. Voyons un aperçu de certains d'entre eux:

brainfuck


C'est le plus connu et le plus populaire, sa syntaxe est assez simple:

 
 + + + + + + + + + +
 [          Boucle pour démarrer les souvenirs (se répète 10 fois)
    >+ + + + + + +>+ + + + + + + + + +>+++++++++++>+ + +>+<<<<-
       70 100 110 30 10
 ]
 >++.              «H» (72) 1
 >>+.              'ou' (111) 3
 ---.              «l» (108) 3
 <---.             «a» (97) 2
 >>++.             espace (32) 4
 <+.               «m» (109) 3
 + + + + + + + +.         «u» (117) 3
 -------.          'n' (110) 3
 <+ + +.             «d» (100) 2
 >+.               'ou' (111) 3
 >+.               '!' (33) 4
 >.                '\ n' (10) 5

Pour expliquer sa syntaxe, il est préférable d'utiliser d'autres langages de programmation. Donc dans sa page Wikipédia fournissez-nous ce tableau d'équivalences, dans lequel ptr est équivalent à un caractère non signé:

brainfuck C Perl
> ++ ptr; $ pointer ++;
< –Ptr; $ pointer–;
+ ++ * ptr; $ bande [$ pointeur] ++;
- - * ptr; $ bande [$ pointeur] -;
. putchar (* ptr); print chr $ tape [$ pointer];
, * ptr = getchar (); $ tape [$ pointer] = ord (<>);
[ while (* ptr) { while ($ tape [$ pointeur]) {
] } }

Ook!


Il est basé sur le précédent, mais utilise plutôt la combinaison de mots D'accord ?, D'accord ! y Aussi. C'est une parodie du bibliothécaire de Discworld, qui se transforme en orang-outan et ne peut prononcer que ces trois mots. Regardons un morceau de code.

Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook? Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook? Ook! Ook! Ook? Ook! Ook? Ook. Ook! Ook. Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook? Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook? Ook! Ook! Ook? Ook! Ook? Ook. Ook. Ook. Ook! Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook. Ook! Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook. Ook. Ook? Ook. Ook? Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook? Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook? Ook! Ook! Ook? Ook! Ook? Ook. Ook! Ook. Ook. Ook? Ook. Ook? Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook? Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook? Ook! Ook! Ook? Ook! Ook? Ook. Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook. Ook? Ook. Ook? Ook. Ook? Ook. Ook? Ook. Ook! Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook. Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook. Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook. Ook. Ook? Ook. Ook? Ook. Ook. Ook! Ook. 

Soi-disant ce "programme" ce qu'il fait est d'écrire le typique "bonjour le monde".

bûcher


À mon avis le plus original de tous, sa structure de contrôle de flux est basée sur des flèches qui indiquent au programme où aller. En outre, il est beaucoup plus facile de créer du code mutant (code qui se modifie):

vv << 2 ^ v <v13v4 ^ ^ >>?>?> 5 ^ vv v97v6 vv <8. >> ^ ^

Le code ci-dessus concerne un générateur de nombres aléatoires infinis, qui générera un nombre compris entre 1 et 9. Beaucoup plus lisible que les précédents.

Malbolgé


Ici, nous avons un langage de programmation créé pour être irritant et illisible (non, ce n'est pas C, et non, ce n'est pas Perl). Il s'agit de Malbolgé, dont le nom vient du 8ème cercle de l'enfer en La comédie divine. Voici un "bonjour le monde" (ou c'est ce qu'on m'a dit):

 (=<`:9876Z4321UT.-Q+*)M'&%$H"!~}|Bzy?=|{z]KwZY44Eq0/{mlk**
 hKs_dG5[m_BA{?-Y;;Vb'rR5431M}/.zHGwEDCBA@98\6543W10/.R,+O<

Lolcat


Une simple blague. Voyons votre code:

HAI
CAN HAS STDIUM?
J'AI UN VAR
IM IN YR BOUCLE
   UP VAR!!1
   VISIBLE VAR
   IZ VAR PLUS GROS QUE 10? KTHX
IM SORTIE YR BOUCLE
KTHXBYE

Comme il est beaucoup plus lisible que les langages de programmation précédents, je vous laisse deviner ce qu'il est censé faire. 😉

APPEL INTERMÉDIAIRE


Enfin, nous avons une parodie du langage de programmation FORTRAN. INTERCAL. Et voici bonjour le monde.
DO ,1 <- #13
S'IL VOUS PLAÎT DO ,1 XNUMX XNUMX SUB #1 <- #238
DO ,1 XNUMX XNUMX SUB #2 <- #108
DO ,1 XNUMX XNUMX SUB #3 <- #112
DO ,1 XNUMX XNUMX SUB #4 <- #0
DO ,1 XNUMX XNUMX SUB #5 <- #64
DO ,1 XNUMX XNUMX SUB #6 <- #194
DO ,1 XNUMX XNUMX SUB #7 <- #48
S'IL VOUS PLAÎT DO ,1 XNUMX XNUMX SUB #8 <- #22
DO ,1 XNUMX XNUMX SUB #9 <- #248
DO ,1 XNUMX XNUMX SUB #10 <- #168
DO ,1 XNUMX XNUMX SUB #11 <- #24
DO ,1 XNUMX XNUMX SUB #12 <- #16
DO ,1 XNUMX XNUMX SUB #13 <- #162
S'IL VOUS PLAÎT LIS ARCHIVER ,1
S'IL VOUS PLAÎT DONNER UP
Eh bien c'est ça.

Je dois dire que certains de ces langages de programmation sont très utiles pour apprendre certains concepts informatiques. Par exemple, brainfuck c'est parfait pour apprendre les pointeurs.


Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont marqués avec *

*

*

  1. Responsable des données: Miguel Ángel Gatón
  2. Finalité des données: Contrôle du SPAM, gestion des commentaires.
  3. Légitimation: votre consentement
  4. Communication des données: Les données ne seront pas communiquées à des tiers sauf obligation légale.
  5. Stockage des données: base de données hébergée par Occentus Networks (EU)
  6. Droits: à tout moment, vous pouvez limiter, récupérer et supprimer vos informations.

  1.   Davidlg dit

    Je préfère presque le code binaire

    1.    désikoder dit

      Oui, je préfère définitivement programmer en binaire ou en assembleur directement, vous pouvez tout faire (les langages de haut niveau finissent par fonctionner sur le processeur après tout), mais ce qui est intéressant à propos des langages ésotériques, c'est le défi qu'ils représentent. Au fait, roader (l'auteur de cet article), vous me faites chier. Comment C et Perl sont-ils illisibles et irritants?. Quelle offense intolérable !! Quel scandale! Mais si C est merveilleux, en perl je n'ai pas programmé mais j'ai vu de bons commentaires sur ce langage car apparemment il est très adapté pour manipuler des fichiers, des chaînes et ces pods, par exemple pour des exploits c'est assez bon, bien que cy python dans les exploits bien travailler ...

      Saludos!

      1.    routier dit

        Mec, le truc C et perl était une blague, et oui, ce sont des langages assez lisibles, très pratiques et «beaux» entre de bonnes mains. et sans garder trace. Quant à Perl, non seulement la même chose se produit qu'avec C, mais parce qu'il est extrêmement flexible, vous pouvez trouver des choses qui défient le bon sens. Je dois dire que je n'ai aucune expérience de la programmation en Perl, mais je connais assez bien sa syntaxe.

  2.   Joaquin dit

    Le premier est de savoir comment écrire en code morse 😀

    1.    routier dit

      Et le second est d'être un orang-outan, et le quatrième, il provoque des infarctus cérébraux.

  3.   Tyrus Junior dit

    Très bien le poste.

    1.    routier dit

      Et chef, unlamda, espace blanc et tink. Mais je ne voulais pas que l'article soit trop gros.

  4.   diazépan dit

    C'EST LE SHOWTIME
    PARLEZ À LA MAIN «bonjour le monde»
    VOUS AVEZ ÉTÉ RÉSILIÉ

    Bonjour tout le monde à ArnoldC

    http://www.genbetadev.com/actualidad/arnoldc-el-lenguaje-basado-en-frases-de-arnold-schwarzenegger

    1.    routier dit

      Eh bien, il ne connaissait pas celui-là, je suppose que l'idée lui a été donnée par le "terminateur nul"

  5.   éliotime3000 dit

    La vérité est que ces langages de programmation m'ont fait rire. Bonne.