2010-04-08 16 views
7

¿Cuál es el lenguaje de programación más conciso? en caso de que se necesite un criterio para la concisión: en balance requiere la menor cantidad de caracteres para crear un programa determinado.¿Cuál es el lenguaje de programación más conciso?

+1

Debe haber al menos un wiki – tanascius

+0

¿cómo lo hago un wiki? – David

+0

Realmente es una pregunta difícil, pero yo preferiría un ensamblaje comprimido :) –

Respuesta

24

APL, sin dudas.

juego de la vida en una línea:

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

+0

esto será casi una página en LaTeX: D –

+0

¡Eso es hacer trampa! Cuando el conjunto de caracteres es de millones de caracteres (como parece en este caso), es injusto competir con idiomas con caracteres alfanuméricos y de puntuación :) –

+1

El juego de caracteres APL es de un tamaño razonable. Simplemente no puede escribirlo en un teclado normal. – dmckee

9

J, un descendiente de APL.

Muestra implementación J de quicksort (espacios en blanco para mayor claridad):

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

El espacio en blanco no ayuda ... –

+7

@mmyers: ¿Quizás intentes entrecerrar los ojos? – David

+11

¿Estás seguro de que no es una especie de smiley de tótem? – RD1

7

The Whitespace programnming language sólo permite tres caracteres (espacio, ficha, y de salto de línea).

+0

omg, eso no tiene precio – digitaldreamer

+1

Sí, tres caracteres son buenos, pero dos son getter: D Mire los idiomas Iota, Jot y Zot: http://esolangs.org/wiki/Jot –

+3

donde Cómo encuentro una versión Unicode de ese idioma? –

3

Binario.

Los ceros y unos se interpretan entonces como código x86.

en realidad no hay una buena respuesta aquí

+0

realmente debería ver el lenguaje Iota :) –

8

Creo que es APL (o uno de sus dialectos). Por ejemplo, para encontrar todos los números primos entre 1 y R, este código funciona:

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

Sin embargo, para un uso diario, creo que cualquier lenguaje funcional (F #, por ejemplo) es muy concisa, ya que sólo expresar lo quieres hacer, no cómo.

+4

"Exprese lo que quiere hacer, no cómo" no es una descripción de los lenguajes funcionales, sino de los declarativos, como Prolog. E incluso allí, es solo 90% correcto. –

+0

Creo que es más correcto describir los lenguajes funcionales como "describir cómo se ve la solución" en lugar de cómo encontrar la solución. Al menos eso es lo que pude deducir de mi limitada experiencia Haskell. – Earlz

Cuestiones relacionadas