¿Cómo se hace para escribir un lenguaje de codificación? ¿Qué diferencia a los distintos idiomas?

En general, comienza con el diseño: el diseñador original descubre por qué quieren construir un nuevo idioma en primer lugar, y elige un conjunto de criterios para el idioma. ¿Se usará principalmente para las matemáticas? ¿Será principalmente para la base de datos? ¿Será multiplataforma, capaz de ejecutarse en cualquier computadora independientemente del sistema operativo? ¿Tendrá una velocidad de desarrollo extremadamente rápida, será fácil de codificar, será súper rápido pero dependerá de la plataforma? ¿Desnudos pero extensibles o preconstruidos con toneladas de funcionalidad?

A continuación, ¿cómo será la gramática / sintaxis? ¿Será prolijo o conciso? ¿Preferirá CamelCase o será específico de caso o no específico de caso? ¿Realmente preferirá MAYÚSCULAS para las palabras clave y minúsculas para las variables? ¿Qué pasa con la puntuación? ¿Cómo se marcarán los comentarios de manera que la computadora sepa que ciertas partes del texto son comentarios y otras partes son instrucciones válidas?

Entonces … el diseñador selecciona las acciones básicas más comunes: condicionales y bucles. Sueñan con palabras intuitivas que describen condicionales y bucles de manera clara e inequívoca, e indican claramente dónde comienza y termina un bucle, cómo salir de un bucle temprano si es necesario. Los condicionales necesitarán alguna indicación de si las acciones a tomar para cada condición serán acciones de línea única o múltiplos, y si son múltiples, dónde comienzan y terminan. Esto puede ser lingüístico (como las declaraciones BEGIN y END de Pascal) o puntuado (como C, Java, etc., con sus llaves {}).

A medida que el diseñador / desarrollador agrega funcionalidad, generalmente intentan mantener las cosas bastante intuitivas, inventando palabras clave intuitivas, mientras seleccionan palabras clave más cortas cuando sea posible (porque los futuros desarrolladores no querrán escribir “jabberwocky” en lugar de “if” cada vez que agreguen un condición).

Se trata de invención y especialización. Ningún idioma lo hace todo bien, cada uno tiene su propósito.