2009-07-04 8 views
8

¿Qué lenguaje de programación tiene la menor cantidad de sintaxis? ¿Cómo puedo calcular la sintaxis que tiene un lenguaje de programación?¿Qué lenguaje de programación tiene la menor cantidad de sintaxis?

Gracias.

+2

@Bubba, defina la sintaxis? –

+2

Para calcular cómo la sintaxis "muchos" tiene un lenguaje de programación, puede ver la gramática de un idioma. Cuanta más gramática, más sintaxis tiene. –

+0

Además, ¿por qué preguntas esto? –

Respuesta

9

LISP-derived, Forth-derived y Smalltalk-derived (IO?) Idiomas probablemente tienen la menor sintaxis, en ese orden.

Y no puedes medirlo, porque no es técnico, es social.

+0

Forth tiene muy poca sintaxis, aunque las variantes se basan en ella. Postscript (y por extensión PDF) es un modelo similar a Forth, pero con mucha más sintaxis. –

+0

Bueno, la sintaxis es lo que acumulas con el tiempo. – alamar

+3

Sin duda puede medir la sintaxis. El problema es que hay múltiples medidas competitivas. La decisión sobre qué medidas cuentan es la parte social. –

13

¿Brainfuck cuenta?

Oh, espera ... quería decir un lenguaje useful.

+0

jajaja, estaba a punto de publicar eso. –

+3

¡Creo que Ook! tiene menos sintaxis =) http://www.dangermouse.net/esoteric/ook.html – wai

+0

Ambos Ook! y Brainfuck tienen 8 producciones, por lo que tienen la misma cantidad de sintaxis. Ook! usa producciones de tokens múltiples, así que podría decirse que tiene una sintaxis más complicada. –

4

Un Hola Mundo en Brainfuck

++++++++++[>+++++++>++++++++++>+++>+<<<<-]>++.>+.+++++++..+++.>++.<<+++++++++++++++.>.+++.------.--------.>+.>. 
8

Los lenguajes de programación que se implementan muy cerca de algunos simples computational model son propensos a tener muy poco sintaxis.

+3

La última vez que revisé, mi computadora Intel no tenía una cinta adentro. x86 está basado en registro. –

+2

El registro IP es la CABEZA y la memoria es la CINTA. –

+0

La máquina de Turing tiene muy pocas instrucciones para operar en la cinta, que es una única secuencia de datos e instrucciones con acceso O (N). x86 es un dispositivo CISC, y la mayoría de las lecturas/escrituras operan en la memoria de acceso aleatorio, no en la secuencia de instrucciones. En todo caso, está basado en Von-Neumann con separación de instrucciones y datos; las variantes posteriores tienen soporte para evitar que se ejecute la memoria de lectura/escritura. –

0

Más bien depende de su definición de sintaxis. Por ejemplo, Subtext sin sintaxis textual, pero con mucha sintaxis visual.

0

No estoy seguro acerca de la "mínima" cantidad de sintaxis, pero si quiere decir conciso/ligero, entonces sin dudas el K language tiene que ser un fuerte competidor.

5

Si creo que su propósito es correcto, Python no tiene más o menos "sintaxis" que cualquier otro idioma, pero tiene menos "símbolos extraños y divertidos" que cualquier otro idioma que conozco. Y usa sintaxis simplificada, en su mayoría sin formato en inglés.

Si busca un lenguaje serio en el que sea fácil de leer y escribir, pero siga siendo prudente, vaya a Python.

O visual basic, que se está volviendo cada vez más inflado a lo largo de los años, y tiene problemas de incompatibilidad de la sintaxis con versiones anteriores, por lo que no puedo recomendar VB.

0

La mayoría de los idiomas modernos tienen relativamente pocas palabras clave y operadores. Usualmente tienen alguna forma de indicar un bloque lógico. El problema es que menos palabras clave y operadores generalmente no significan que es más fácil leer y entender el código; basta con mirar a los operadores de BrainFuck-4, sin palabras clave y bastante inútiles.

Más idiomas "naturales" son más detallados y tienen mucha sintaxis, pero pueden ser más fáciles para un principiante.

Java, C#, Javascript y muchas más lenguas comparten la misma sintaxis básica. Todos ellos tienen sus propias palabras clave y operadores adicionales, pero si va a aprender una sintaxis básica, es por dónde empezar; si puede codificar en uno, puede leer los demás.

0

Por lo que yo puedo decir, he intentado:

  • Asamblea;
  • C/C++;
  • Java;
  • C#;
  • PHP;
  • Java;
  • Python;
  • Ruby;
  • Bash;
  • Perl.

Excepto bash, que ni siquiera me refiero a cuando se trata de programar más secuencias de comandos, Perl tiene la sintaxis más corta, pero es una de las más lentas de leer.

Ensamblaje, C/C++ y Java son realmente verbosos. C# y PHP menos, pero aún así. Y está atrapado con .Net o con un lenguaje sin convención de nomenclatura.

El mejor equilibrio entre ser conciso, poderoso y legible son Ruby y Python.

Soy un amante de Python, y estoy acostumbrado a la sintaxis, así que iré por ello. No me gusta la forma en que Ruby termina bloques usando palabras clave.

0

El análisis de Jot se puede realizar con solo 5 caracteres: [01]* regex es una descripción completa de todos los programas legales.

0

Supongo que la complejidad relativa de un idioma es una función del número de elementos que un programador debe saber o recordar para obtener un módulo para compilar sin errores. Hay otras cosas para enumerar además de palabras clave, como símbolos especiales. Quizás la inclusión de esos símbolos y delimitadores sería útil también. Si un símbolo se usa para dos cosas diferentes, se contará dos veces. Por ejemplo, en Smalltalk, un punto (.) Se usa para dirigir una clase explícitamente a través de su espacio de nombres y para terminar una declaración.

Lenguaje Palabras clave 68000 Ensamblador> 106 8088 Ensamblador 106 Ada 84 Java 1.1 64 Rubí 56 PHP 52 74 incluyendo $ variables especiales C++ 48 Rubí 38 C 28 Python 28 Smalltalk 6

Cuestiones relacionadas