2010-04-08 8 views
7

Quel est le langage de programmation le plus concis? dans le cas où un critère est nécessaire pour la concision: tout compte fait, il faut le moins de caractères pour créer un programme donné.Quel est le langage de programmation le plus concis?

+1

Devrait être au moins un wiki – tanascius

+0

Comment puis-je en faire un wiki? – David

+0

Vraiment une question difficile, mais je voudrais aller pour l'assemblage compressé :) –

Répondre

24

APL, tout simplement.

jeu de la vie en une ligne:

alt text http://catpad.net/michael/APLLife.gif

+0

ce sera presque une page dans LaTeX: D –

+0

C'est de la triche! Lorsque votre jeu de caractères est composé de millions de caractères (comme il semble dans ce cas), il est injuste de rivaliser avec les langues contraintes alphanumériques et la ponctuation :) –

+1

Le jeu de caractères APL est une taille raisonnable. Vous ne pouvez pas le taper sur un clavier normal. – dmckee

9

J, un descendant de l'APL.

mise en oeuvre de l'échantillon J de tri rapide (d'espaces pour plus de clarté):

quicksort =: (($:@(<#[) , (=#[) , $:@(>#[)) ({~ [email protected]#)) ^: (1<#) 
+17

Les espaces blancs n'aident pas ... –

+7

@mmyers: Peut-être essayer de plisser les yeux? – David

+11

Etes-vous sûr que ce n'est pas une sorte de smiley totem-pole? – RD1

7

The Whitespace programnming language permet seulement trois caractères (espace, tabulation, et saut de ligne).

+0

omg, ça n'a pas de prix – digitaldreamer

+1

Ouais, trois caractères sont bons, mais deux sont getter: D Regardez les langues Iota, Jot et Zot: http://esolangs.org/wiki/Jot –

+3

où est-ce que je trouve une version unicode de cette langue? –

3

Binaire.

Les zéros et les uns sont ensuite interprétés comme du code x86.

Il n'y a vraiment pas une bonne réponse ici

+0

vous devriez vraiment voir la langue Iota :) –

8

Je pense qu'il est l'APL (ou l'un de ses dialectes). Par exemple, pour trouver tous les nombres premiers entre 1 et R, ce code fonctionne:

(~R∊R∘.×R)/R←1↓⍳R

Cependant, une utilisation quotidienne, je pense que tout langage fonctionnel (F #, par exemple) est très concise, puisque vous exprimez seulement ce tu veux faire, pas comment.

+4

"Exprimer ce que vous voulez faire, pas comment" n'est pas une description de langages fonctionnels, mais de ceux déclaratifs, comme Prolog. Et même là, c'est seulement 90% correct. –

+0

Je pense qu'il est plus correct de décrire les langages fonctionnels comme «décrire ce à quoi ressemble la solution» plutôt que de trouver la solution. C'est du moins ce que j'ai appris de mon expérience limitée de Haskell – Earlz

Questions connexes