Como se crearon los lenguajes de programacion

Generaciones de lenguajes de programación
Tontos" es la única palabra para describir a los ordenadores, porque sólo saben dos cosas: cero y uno. Pero manipulan esos bits con tanta rapidez que pueden realizar tareas útiles. De hecho, algunos de los primeros ordenadores se programaban fijando secuencias de unos y ceros en interruptores del panel frontal.
Los lenguajes de programación incorporan varias ideas importantes. Abstraen las operaciones en una forma más parecida a la forma de pensar de la gente, lo que facilita la programación. Dividir un número entre otro es un concepto sencillo que expresamos con un par de símbolos, pero para un ordenador, esa misma tarea requiere docenas de pequeñas operaciones.
En el nivel más bajo, los ceros y unos del código máquina no son realmente un lenguaje. El primer lenguaje real fue el ensamblador, y era diferente para cada tipo de ordenador. El ensamblador utilizaba abreviaturas para operaciones comunes (como ADD, MOV, JMP), seguidas cada una de ellas por la dirección de uno o más parámetros. Los nombres reconocibles sustituían a las direcciones numéricas, y los programas resultantes eran mucho más fáciles de trabajar. El ensamblador se denomina lenguaje de bajo nivel porque da acceso completo a las instrucciones básicas de un ordenador. Todavía se utiliza para algunas rutinas cuando puede producir código más eficiente que otros lenguajes.
Primer lenguaje de programación que se aprende
La sección principal de este artículo puede ser demasiado corta para resumir adecuadamente los puntos clave. Por favor, considere ampliar el lead para proporcionar una visión general accesible de todos los aspectos importantes del artículo. (Febrero de 2018)
La historia de los lenguajes de programación abarca desde la documentación de los primeros ordenadores mecánicos hasta las herramientas modernas para el desarrollo de software. Los primeros lenguajes de programación eran muy especializados y se basaban en notación matemática y sintaxis igualmente oscura[1]. A lo largo del siglo XX, la investigación en teoría de compiladores llevó a la creación de lenguajes de programación de alto nivel, que utilizan una sintaxis más accesible para comunicar instrucciones.
Entre 1842 y 1849, Ada Lovelace tradujo las memorias del matemático italiano Luigi Menabrea sobre la nueva máquina propuesta por Charles Babbage: la Máquina Analítica; complementó las memorias con notas que especificaban en detalle un método para calcular los números de Bernoulli con la máquina, reconocido por la mayoría de los historiadores como el primer programa informático publicado del mundo[4].
Lenguajes de programación cronológicos
How do programming languages get created, and what goes into design decisions appeared originally on Quora: el lugar donde adquirir y compartir conocimientos, que permite a las personas aprender de los demás y comprender mejor el mundo.
Lo primero que hay que plantearse para responder a esta pregunta es: ¿Qué es un lenguaje de programación? Si lo preguntas en Wikipedia, verás que un lenguaje de programación "es un lenguaje formal, que comprende un conjunto de instrucciones que producen varios tipos de resultados", lo cual es cierto, por supuesto, pero en forma de enciclopedia también es poco útil. Sin embargo, da la idea correcta. Basta con escribir algunas instrucciones y algunas reglas sobre lo que hacen, y voilá, se ha creado un lenguaje de programación. Si escribes estas reglas utilizando un lenguaje ligeramente elegante, lo llamarías la especificación de tu lenguaje y tendrías una muy buena afirmación de haber creado un lenguaje de programación.
Por supuesto, en la mayoría de los casos, los lenguajes de programación no empiezan como ejercicios de escritura de especificaciones. En su lugar, se empieza con un programa que realmente hace algo con el lenguaje de programación. Por lo general, se trata de un programa que lee el código escrito en el lenguaje de programación y hace lo que el código le dice que haga sobre la marcha (un "intérprete": piense en seguir una receta paso a paso) o uno que traduce el código fuente a la secuencia de bits que el hardware entiende (aunque esta cadena de unos y ceros también podría considerarse un lenguaje de programación que el hardware interpreta). Hay un par de programas más exóticos que se pueden escribir para implementar un lenguaje de programación (por ejemplo, comprobadores de tipos, que sólo comprueban que el código fuente está bien formado, es decir, que lo permiten las reglas del lenguaje, pero no lo ejecutan) y diversas variaciones de compiladores e intérpretes (sistemas híbridos, compiladores para "hardware virtual", es decir, lenguajes de bajo nivel diseñados para ser interpretados por el hardware). (compiladores de un lenguaje de programación de alto nivel a otro, también conocidos como "transpiladores"), pero lo fundamental es que estos programas "entiendan" el lenguaje de alguna manera. La especificación suele venir después, si es que llega.
Lenguaje de programación Autocode
A nivel de hardware, los ordenadores entienden un lenguaje, denominado lenguaje máquina (también llamado código objeto). Se trata del conjunto de instrucciones que admite el hardware del procesador del ordenador y es específico para cada tipo de procesador. Este lenguaje de código objeto es de naturaleza numérica y se expresa en binario, que es una codificación numérica formada sólo por 1s y 0s (base 2). Es muy tedioso programar en binario, por lo que se crearon lenguajes de alto nivel para facilitar la creación de programas. En un lenguaje de alto nivel, se utiliza una sintaxis parecida a la inglesa y más fácil de entender para expresar lo que se quiere que haga el ordenador. El trabajo del lenguaje de alto nivel consiste en traducir esas instrucciones escritas en código objeto binario para que el ordenador las ejecute. De hecho, cuando un lenguaje de alto nivel crea un archivo de programa, éste contendrá sólo las instrucciones binarias para el ordenador, no su código fuente.
Normalmente, el programador escribe las instrucciones en el lenguaje de nivel superior seleccionado, Java en nuestro caso, y estas instrucciones o código fuente se almacenan en forma de texto en un archivo. Este archivo fuente se pasa a un programa llamado compilador, que traduce el lenguaje fuente a código objeto en forma binaria y lo escribe en otro archivo llamado programa. Un ejemplo es un archivo .exe en Windows. Puede haber un paso adicional llamado enlace, que es el proceso de combinar las instrucciones del programador con bibliotecas de instrucciones creadas por otra persona. A veces, el archivo de programa puede enviarse a otro ordenador para su ejecución. Esto se denomina despliegue.