12
votes

Quel est le langage de programmation le plus concis?

Quel est le langage de programmation le plus concis? Si un critère est nécessaire pour la concision: le solde nécessite le moins de caractères pour créer un programme donné.


6 commentaires

Comment puis-je en faire un wiki?


Vraiment une question difficile, mais j'irais pour l'assemblée comprimée :)


Les programmes peuvent-ils utiliser le RTL de la langue?


@David: Edit -> Sous le texte de texte, il y a une case à cocher à droite


Si cela devient wiki, je rouvrirais ...


Les langues IOTA, JOT et ZOT sont des tasses de Turing, ils n'utilisent que deux caractères utilisés pour seulement deux opérations.


7 Réponses :


30
votes

APL, mains vers le bas.

jeu de la vie en une ligne:

 text alt
(source: Catpad.net )


4 commentaires

Ce sera presque une page en latex: D


C'est de la triche! Lorsque votre jeu de caractères est un million de caractères (comme celui-ci semble dans ce cas), il est injuste de concurrencer les langues contraintes à alphanumériques et à la ponctuation :)


Le jeu de caractères APL est une taille raisonnable. Vous ne pouvez tout simplement pas le saisir sur un clavier normal.


Mains Down: {≢⍸⍵} ⌺3 3ε¨3 + 0, ¨⊢ Essayez-le!



10
votes

j , un descendant de APL.

échantillon J Mise en œuvre de Quicksort (Espace de clarté): P>

quicksort =: (($:@(<#[) , (=#[) , $:@(>#[)) ({~ ?@#)) ^: (1<#)


4 commentaires

@myers: peut-être essayer de plisser les yeux?


Êtes-vous sûr que ce n'est pas une sorte de smiley totem-pôle?


@ RD1 - +1 pour smiley à la pôle Totem!


Puis-je ajouter un commentaire en ligne pour montrer le sentiment de sa lisibilité? NB. @ _ @> _ << / code>



8
votes

Le langage de programnication de WhitSpace permet uniquement à trois caractères (espace, onglet et nouvelle ligne).


4 commentaires

Ouais, trois personnages sont bons, mais deux sont getter: D regarder les langues de l'Iota, Jot et Zot: esolangs.org / wiki / note


Vous avez mal pris la question de la question. C'est l'une des langues les moins concises. C'est le contraire de ce qui est demandé.


C'est la langue la plus concise à l'œil nu.


Space-Space-Space-Tab-Space-Tab-Tab-Tab-Linefeed est le numéro binaire 0001011, qui est 11 en décimal. Comment est-ce concis? C'est le contraire de concis. "Concise" ne signifie pas qu'il y a peu de caractères dans la langue. "Concise" signifie qu'il faut quelques personnages pour faire quelque chose.



3
votes

binaire.

Les zéros et ceux sont ensuite interprétés comme code X86.

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


2 commentaires

Vous devriez vraiment voir la langue iota :)


Le nombre binaire 0001011 est 11 en décimal. Comment est-ce concis? C'est le contraire de concis. "Concise" ne signifie pas qu'il y a peu de caractères dans la langue. "Concise" signifie qu'il faut quelques personnages pour faire quelque chose.



9
votes

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

Cependant, à une utilisation quotidienne, je pense que tout langage fonctionnel (F #, par exemple) est très concis, car Vous n'exprimez que ce que vous voulez faire, pas comment.


2 commentaires

"Exprimez ce que vous voulez faire, pas comment" n'est pas une description des langues fonctionnelles, mais de déclaratif, comme prolog. Et même là, ce n'est que 90% correct.


Je pense qu'il est plus correct de décrire les langages fonctionnels comme «décrivant la solution» comme «comme» plutôt que de trouver la solution .. au moins c'est ce que j'ai rassemblé de mon expérience de haskell limitée



1
votes

Comme Yassin a souligné, pour une utilisation quotidienne, les langages de programmation fonctionnelle offrent plus de terrassement. Haskell semble un excellent exemple: le gestionnaire de fenêtres "xmonad" a été écrit en moins de 1000 lignes de code!

Bien que cela ne soit pas directement lié à la question, il est également intéressant de savoir que Xmonad ne s'effondre pas, car un prouveur de théorème était exécuté sur le code pour prouver il ne s'écraserait pas! 1


0 commentaires

0
votes

Le cerveau lui-même, le langage de programmation actuel n'est pas suffisamment concis / compact.

Peut être un langage de programmation futur beaucoup comme le cerveau lui-même.

Tout comme les archives d'apprentissage profond dans la zone de classification de vision.


0 commentaires