10 langages de programmation les plus bizarres jamais créés

Il n’ya rien de plus frustrant pour un développeur web que de passer des heures à la fois à réparer un bug qui devrait juste travailler. Souvent, je suis coincé dans un état de programmation qui me donne l'impression que je n'ai absolument aucune idée de ce que je fais, comme si le langage que j'utilise (CSS, PHP, peu importe) est en fait une langue étrangère..

Si ce que je viens de décrire vous semble familier, cet article apportera réconfort et humour..

Les langages de programmation ésotériques ne servent pas vraiment à autre chose qu'à fournir un peu de plaisir ou à prouver un concept. Mais mon garçon, est-ce qu'ils fournissent un petit rire pour le reste d'entre nous!

1. Ook!

Si vous vous êtes déjà senti comme un singe en train de frapper un clavier, alors Ook! vous fera sentir comme chez vous. C'est un langage conçu principalement pour les primates, en particulier l'orang-outan. Avec Ook! vous n'utilisez que trois éléments de syntaxe:

  • Ook.
  • Ook?
  • Ook!

Voici quelques exemples d'Ook! en action:

Ook. Ook? Déplacer le pointeur de mémoire vers la cellule de tableau suivante.
Ook? Ook. Déplacer le pointeur de mémoire vers la cellule précédente.
Ook. Ook. Incrémenter la cellule de la matrice pointée par le pointeur de mémoire.
Ook! Ook! Décrémenter la cellule de tableau pointée par le pointeur de mémoire.
Ook. Ook! Lit un caractère de STDIN et place sa valeur ASCII dans la cellule indiquée par le pointeur de mémoire..

Obtenir l'idée? Oui, moi non plus…


Photo de Suneko.

2. Piet

Pour ceux qui apprécient les beaux-arts, Piet est une langue que vous apprécierez sûrement. Inspiré par l'artiste abstrait Piet Mondrian, Piet est un langage de programmation qui convertit les programmes en peintures géométriques abstraites. Les programmes sont composés de 20 couleurs différentes, puis lus par le compilateur sur la base de valeurs hexadécimales pour exécuter un programme..

Découvrez quelques exemples fous que les programmeurs de Piet ont mis au point.

3. espaces blancs

Malheureusement, le nom de ce langage de programmation est exactement ce qu'il fait: Whitespace crée des programmes basés sur des… espaces. Le site Web Whitespace contient une excellente description du fonctionnement de la langue..

La plupart des langages de programmation modernes ne prennent pas en compte la syntaxe des caractères d'espaces (espaces, tabulations et nouvelles lignes), en les ignorant, comme s'ils n'y étaient pas. Nous considérons qu'il s'agit d'une injustice flagrante à l'égard de ces membres parfaitement sympathiques du jeu de caractères. Devraient-ils être ignorés, simplement parce qu'ils sont invisibles? Les espaces sont un langage qui cherche à redresser la barre. Tous les caractères non blancs sont ignorés; seuls les espaces, les tabulations et les nouvelles lignes sont considérées comme une syntaxe.

4. LOLCODE

LOLCODE est mon préféré parmi les langues ésotériques. Le langage est basé sur le phénomène LOLCats et utilise la syntaxe LOLCats pour faire fonctionner les programmes. Ou quelque chose comme ça.

Un simple échantillon d'un programme LOLCODE vous expliquera pourquoi il est un favori des fans..

HAI PEUT-ON STDIO? PLZ OPEN FILE "LOLCATS.TXT"? AWSUM THX FICHIER VISIBLE O NOES INVISIBLE "ERREUR!" KTHXBYE

Étonnamment, LOLCODE a suscité de l’intérêt pour certains membres de la communauté de programmation. Le site officiel répertorie de nombreuses implémentations dans des langages tels que PHP, Python, Perl, .NET et Java. Qui sait, peut-être qu'un jour nous verrons des cours de programmation LOL enseignés dans les écoles…

5. Shakespeare

Shakespeare n’est pas aussi simple que LOLCODE. Au cas où vous ne l'auriez pas encore compris, Shakespeare est un langage de programmation basé sur les écrits du grand dramaturge. Chaque programme contient un titre, des actes, des scènes et des personnages pour créer un code source brillant et réellement amusant à lire..

Voici l'acte I, scène I de "Hello World":

Le tristement célèbre programme Hello World. Roméo, un jeune homme avec une patience remarquable. Juliette, également jeune femme d'une grâce remarquable. Ophelia, une femme remarquable beaucoup en conflit avec Hamlet. Hamlet, le flatteur d'Andersen Insulting A / S. Acte I: Les insultes et les flatteries de Hamlet. Scène I: Les insultes de Roméo. [Entre Hamlet et Roméo] Hamlet: T'es un idiot stupide, un lâche idiot et sans âme! Tu es aussi stupide que la différence entre un beau et riche héros courageux et toi-même! Dis ce que tu penses! Vous êtes aussi courageux que la somme de votre vieux petit morceau de code pourri pourri et d'une belle journée d'été ensoleillée. Vous êtes aussi en bonne santé que la différence entre la somme de la rose la plus douce et la plus douce de mon père et de vous-même! Dis ce que tu penses! Vous êtes aussi lâche que la somme de vous-même et la différence entre un grand et fier royaume et un cheval. Dis ce que tu penses. Dis ce que tu penses! [Sortie Romeo]

6. Befunge

L'objectif de Chris Pressey, créateur du langage de programmation Befunge, était simple: créer un langage aussi difficile à compiler que possible. Befunge accomplit ceci par les deux caractéristiques principales du langage intimidant:

  1. Auto-modification - l'instruction p peut écrire de nouvelles instructions dans le champ de lecture; et
  2. Une même instruction multidimensionnelle peut être exécutée dans quatre contextes différents (dans une série d'instructions de gauche à droite, ou de droite à gauche, ou de haut en bas).

Quoi qu’il en soit, il y a des gens très intelligents (avec façon trop de temps libre), qui ont créé des compilateurs pour Befunge.

\

7. reMorse

ReMorse est un langage destiné à ressembler à du code morse. Des visions de sous-marins et de télégrammes viennent à l’esprit avec ce langage simple mais incroyablement difficile. Voici la version recommandée de "Hello World":

- - -… -… -.---.;nouvelle ligne - - - .-. -… -.-… -. ---.;! - - -… -… -.---; d ----… -.---; l ----… -… --- .; r ----. -… --- .; o ----… -.-… -. W // l'auteur n'a pas eu envie de faire cette partie -…; afficher tous les caractères

Cette langue pourrait être un peu difficile pour le reste d'entre nous (à l'exception des spécialistes de la radio amateur). Vous savez que c'est un ours à programmer quand l'auteur de la langue ne termine pas tous les exemples de base, à cause de la complexité.

8. FAUX

Avec une connotation négative appropriée, FALSE est un langage destiné à décourager même les programmeurs les plus intelligents. Basé sur le langage Forth, FALSE utilise une syntaxe basée sur la ponctuation (grossière!) Pour faciliter la programmation..

Du créateur FALSE lui-même:

J'ai conçu ce langage avec deux objectifs particuliers: confondre tout le monde avec une syntaxe obfusquée et concevoir un langage aussi puissant que possible avec une implémentation minime: dans ce cas, un compilateur exécutable de seulement 1024 octets (!), Écrit en assembleur pur 68000.

Pourtant, FALSE n’est pas le plus ridicule des langages ésotériques et peut en réalité servir à des fins réelles, car les opérations sont raisonnablement raisonnables et le langage n’est pas extrêmement complexe. Peut-être que quelqu'un, un jour, fera une application utile du monde réel à partir de la langue…

Faux.

9. chaque fois

Imaginez un adolescent hargneux en tant que langage de programmation et vous avez tout le temps. Chaque fois qu’un langage simple fait ce qu’il veut, quand il le veut.

Il prend le code du programme et traite chaque ligne comme un élément d'une liste de tâches. L'interprète choisit un élément de la liste à exécuter de manière aléatoire et exécute l'instruction. Dans certains cas, l'instruction contiendra une clause spécifiant qu'elle ne peut pas être exécutée tant que certaines conditions ne sont pas remplies. Il en résulte que l'instruction est différée et replacée dans la liste des tâches..

Ne pensez pas une minute, vous pouvez réellement contrôler un programme Whenever. Imaginez à quel point il est difficile de programmer quelque chose comme "99 bouteilles de bière"! Le programme renverrait quelque chose qui se lirait comme s'il avait déjà consommé les 99.

différer (4 || N (1) différer (4 || N (1) == N (2)) print ("Prendre un vers le bas et le faire circuler,"); différer (4 || N (2) == N (3)) impression (N (1) + "bouteilles de bière sur le mur."); 1 # 98,2 # 98,3 # 98;

Photo de foundphotoslj.

10. l33t

Vous avez toujours voulu parler comme un "l33t H4xX0r5"? Vous pouvez maintenant apprendre le langage de programmation l33t. Découvrez l'application "Hello World" de la l33t:

// Notez que les vues exprimées dans ce code source ne coïncident pas nécessairement avec celles de l'auteur: o) Gr34t l33tN3 $$? M3h… C'EST PAS 41 PAS SÉCURITAIRE. l33t sP33k est U8er keWl 4nD eA5y wehn u 7hink 1t tHr0uGh. 1f vous w4nn4be UB3R-l33t vous d3f1n1t3lY w4nt dans 0n un b4d4sS h4xX0r1ng s1tE !!! ; p w4r3Z c0ll3cT10n2 r 7eh l3Et3r! Qu4k3 cL4nS r 7eh bh5t tH1ng ln 3nTIr3 w0rlD !!! g4m3s wh3r3 u g3t to 5h00t ppl r 70tAl1_y w1cK1d !! JE SUIS LE F4GM4STER ET CELA T0L41_1LY POUVANT ARRIVER À LA FLEXION *** J3D1 5TYLE *** AVEC VOTRE H1DE !!!! L0L0L0L! t3lEphR4gG1nG l4m3rs wit mY m8tes r34lLy k1kK $ A $$ l33t hAxX0r $ CrE4t3 u8er- k3wL 5tUff n34t pR0gR4mm1nG lAnguidGe comme $ ... s0m3tIm3 $ Teh l4nGu4gES l00k jUStE l1k3 rE41_ 0neS 7o ppl Th1nk th3y'r3 FAIS DE ju $ t N0rmal lEE7 5pEEk mais th3y » re 5ecRetLy c0dE !!!! n080DY unDer5tAnD $ L33t SpEaK 4p4rT fr0m j3d1 !!!!! 50mE kId 0n a me $$ 4gEb04RD M1GHT 8E UN H0XX0R1N H0X0R WH0 W4NT2 À 0BR34K 5TUFF, 0r MAyB3 JU5T SH0W 7EH WA5 LW5 L5T M FAN LONG SON I5 U8ER !!!! 1t 8m 5omE v1rus ou un pl4ySt4tI0n ch34t c0dE. 1t 3v3n MiTe jUs7 s4y "H3LL0 W0RLD !!!" u ju5t peut pas gu3s5. LE N3V3R DE TH3R3 ET LE P0It L00KING SC3PT1C4L C0S, AVANT TOUT, AVANT TOUT, AVANT TOUT, 1 CE QUE CELA! 1 !!!!! 5uxX0r5 !!! L0L0L0L0L!!!!!!!

Dans la vraie vie, l33t est "le sUxX0r" en raison du fait que vous ne pouvez l'utiliser pour rien d'utile. Eh bien, retour au piratage avec tous les autres script kiddies et trolls!


Photo de Yoz.