Langage de programmation ésotérique


Langage de programmation ésotérique

Langage de programmation exotique

Un langage de programmation exotique est un langage de programmation imaginé comme un test des limites de la création de langages de programmation, un exercice intellectuel ou encore une blague, sans aucune intention de créer un langage réellement utile. De tels langages sont souvent un passe-temps pour les hackers ou les programmeurs. L'adjectif « exotique » permet de distinguer ces langages de ceux communément utilisés dans l'industrie.

La facilité d'utilisation est rarement une priorité pour ces langages, le but étant généralement de supprimer ou de remplacer les fonctionnalités tout en maintenant le langage Turing-complet. En rendant particulièrement compliquée la lecture de tels programmes tout en maintenant le langage Turing-complet, les créateurs de tels langages en font peut-être le pendant informatique de la poésie du non-sens.

Sommaire

Histoire

Le premier langage exotique fut INTERCAL, créé en 1972 par James Lyons et Don Woods, avec l'intention de créer un langage différent de tout ce qu'ils connaissaient.

Plus de vingt ans plus tard, Urban Müller créait Brainfuck, un langage à huit instructions. Avec Befunge, Brainfuck est un des langages exotiques les plus suivis. Sans surprise tous deux sont grandement mis en valeur par le fait qu'ils furent les premiers de leur genre tout en étant élégants.

Variétés

Turing-complet

Les langages Turing-complets ont un nombre arbitrairement restreint d'instructions, ce qui en rend la programmation acrobatique. Ceci inclut Brainfuck (instructions sans opérandes), OISC (en) (une commande, trois opérandes), et Thue (une commande, deux opérandes).

La Turing-complétude est un des thèmes favoris de la communauté. Elle est loin d'être évidente pour tous les langages, et les démonstrations sont souvent complexes. De nouveaux langages apparaissent continuellement, et la preuve de leur Turing-complétude est un défi.

Déterministe

Un langage de programmation déterministe est un langage où il est toujours possible de prévoir, en fonction de l'état actuel d'un programme, quel sera son état suivant. La plupart des langages sont déterministes, tandis que des langages non-déterministes tels que Java2K donnent souvent des résultats peu fiables, et créer des programmes, même triviaux, qui fournissent des résultats fiables est souvent une tâche monumentale.

Despotique

Un langage despotique est un langage Turing-complet où les commandes permettent la sélection de la prochaine instruction à être exécutée parmi un ensemble fini d'instructions. ReMorse (en), Whirl et de façon discutable INTERCAL sont despotiques.

Communautés

Il existe un groupe restreint mais actif de programmeurs qui utilisent ou créent des langages de programmation exotiques. Ils communiquent via la liste de diffusion lang@esoteric.sange.fi, à laquelle on peut s'inscrire en envoyant un message dont le corps contient subscribe lang à listar@esoteric.sange.fi.

Les utilisateurs de Brainfuck peuvent communiquer au travers de la mailing list dédiée friends-of-brainfuck@koeln.ccc.de.

Il existe également un canal IRC sur le réseau Freenode : #esoteric.

Un but récurrent au sein des programmeurs de langages exotiques est l'écriture de code impénétrable.

Voir aussi

  • Catégorie:Langage de programmation exotique

Liens externes

  • Portail de la programmation informatique Portail de la programmation informatique
Ce document provient de « Langage de programmation exotique ».

Wikimedia Foundation. 2010.

Contenu soumis à la licence CC-BY-SA. Source : Article Langage de programmation ésotérique de Wikipédia en français (auteurs)

Regardez d'autres dictionnaires:

  • langage — [ lɑ̃gaʒ ] n. m. • v. 1160; lengatge v. 980; de langue I ♦ 1 ♦ Fonction d expression de la pensée et de communication entre les hommes, mise en œuvre au moyen d un système de signes vocaux (parole) et éventuellement de signes graphiques… …   Encyclopédie Universelle

  • INTERCAL — INTERCAL, est une parodie de langage de programmation, et la référence canonique des langages de programmation ésotériques. Ce langage a été créé par Don Woods et James M. Lyon, deux étudiants de l Université de Princeton, en 1972. Il tourne en… …   Wikipédia en Français

  • Z — Cette page d’homonymie répertorie les différents sujets et articles partageant un même nom. Significations des lettres de l’alphabet latin A B …   Wikipédia en Français

  • Z (homonymie) — Z Cette page d’homonymie répertorie les différents sujets et articles partageant un même nom. Significations des lettres de l alphabet latin A B …   Wikipédia en Français

  • Abstraction (informatique) — Pour les articles homonymes, voir Abstraction. En informatique, le concept d abstraction identifie et regroupe des caractéristiques et traitements communs applicables à des entités ou concepts variés ; une représentation abstraite commune de …   Wikipédia en Français

  • Abstraction (Informatique) — Pour les articles homonymes, voir Abstraction. En informatique, le concept d abstraction identifie et regroupe des caractéristiques et traitements communs applicables à des entités ou concepts variés; une représentation abstraite commune de tels… …   Wikipédia en Français

  • Sudoku — proposé par la presse. Le sudoku (prononcé soudokou en français, / …   Wikipédia en Français

  • INFORMATIQUE — LE MOT «informatique» a été proposé en 1962 par Philippe Dreyfus pour caractériser le traitement automatique de l’information. Ce terme a été accepté par l’Académie française en avril 1966, avec la définition suivante: «Science du traitement… …   Encyclopédie Universelle

  • Sodoku (jeu) — Sudoku Sudoku proposé par la presse. Le sudoku (prononcé / …   Wikipédia en Français

  • Su Doku — Sudoku Sudoku proposé par la presse. Le sudoku (prononcé / …   Wikipédia en Français