¿Cuál fue el primer lenguaje de programación?
Teoría de lenguajes de programación
El primer lenguaje de programación (como tal) que se propuso fue Plankalkül, que fue diseñado por Konrad Zuse en los años 40, pero no fue conocido públicamente hasta 1972 (y no implementado hasta 2000, cinco años después de la muerte de Zuse). El primer lenguaje de programación ampliamente conocido y exitoso fue Fortran, desarrollado entre 1954 y 1957 por un equipo de investigadores en IBM liderados por John Backus. El éxito de FORTRAN condujo a la creación de un comité de científicos para desarrollar un lenguaje de programación «universal»; el resultado de su esfuerzo fue ALGOL 58. Separadamente, John McCarthy del MIT desarrolló el lenguaje de programación Lisp (basado en el cálculo Lambda), el primer lenguaje con orígenes académicos en conseguir el éxito. Con el triunfo de estos esfuerzos iniciales, los lenguajes de programación se convirtieron en un tema candente en la investigación en la década de 1960 y en adelante.
Logo (lenguaje de programación)
Logo es un lenguaje de programación de alto nivel, en parte funcional, en parte estructurado; de muy fácil aprendizaje, razón por la cual suele ser el lenguaje de programación preferido para trabajar con niños y jóvenes. Fue diseñado con fines didácticos por Danny Bobrow, Wally Feurzeig, Seymour Papert y Cynthia Solomon, los cuales se basaron en las características del lenguaje Lisp. Logo fue creado con la finalidad de usarlo para enseñar programación y puede usarse para enseñar la mayoría de los principales conceptos de la programación, ya que proporciona soporte para manejo de listas, archivos y entrada/salida. Logo cuenta con varias versiones.
ABC (lenguaje de programación)
El lenguaje tuvo una gran influencia en el diseño del lenguaje de programación Python; Guido van Rossum, quien desarrolló Python, trabajó anteriormente durante varios años en el sistema ABC a mediados de los años ochenta.
Historia de los lenguajes de programación
Los primeros lenguajes de programación preceden a la computadora moderna. En un inicio los lenguajes eran códigos.
Historia de la construcción de los compiladores
PL/C fue un lenguaje de programación de computador desarrollado en la Universidad de Cornell a principios de los años 70. Mientras que el PL/C era un subconjunto del lenguaje de IBM PL/1, fue diseñado con el objetivo específico de ser usado para enseñar programación. Los dos investigadores y profesores académicos que diseñaron PL/C fueron Richard W. Conway y Thomas R. Wilcox. Presentaron el famoso artículo "Design and implementation of a diagnostic compiler for PL/1" publicado en las comunicaciones del ACM en marzo de 1973.
Lenguaje de programación
Para facilitar el trabajo, los primeros operadores de computadoras decidieron crear un traductor para reemplazar los 0 y 1 por palabras o abstracción de palabras y letras provenientes del inglés; este se conoce como lenguaje ensamblador. Por ejemplo, para sumar se usa la letra A de la palabra inglesa "add" (sumar). El lenguaje ensamblador sigue la misma estructura del lenguaje máquina, pero las letras y palabras son más fáciles de recordar y entender que los números.
Lenguaje de programación
Para que la computadora entienda nuestras instrucciones debe usarse un lenguaje específico conocido como código máquina, que la máquina lee fácilmente, pero que es excesivamente complicado para las personas. De hecho, solo consiste en cadenas extensas de números 0 y 1.
Lenguaje de programación esotérico
Un lenguaje ejemplar de este tipo es P′′, creado por el informático teórico italiano Corrado Böhm en 1964, y que se constituye como el primer lenguaje imperativo de la programación estructurada cuya pertenencia a la clase de los Turing completos pudo ser demostrada sin necesidad del uso de la instrucción GOTO.
Historia de los lenguajes de programación
En la década de 1940 fueron creadas las primeras computadoras modernas, con alimentación eléctrica. La velocidad y capacidad de memoria limitadas forzaron a los programadores a escribir programas, en lenguaje ensamblador muy afinados. Finalmente se dieron cuenta de que la programación en lenguaje ensamblador requería de un gran esfuerzo intelectual y era muy propensa a errores.
Historia de la construcción de los compiladores
El software para los primeros computadores estaba primariamente escrito en lenguaje ensamblador. Normalmente para un programador es más productivo usar un lenguaje de alto nivel, y los programas escritos en lenguajes de alto nivel pueden ser reutilizados en distintos tipos de computadores. Aun teniendo en cuenta esto, pasó un tiempo hasta que los compiladores se establecieran, porque generaban código que no tenía tan buen rendimiento como los ensambladores escritos a mano, eran enormes proyectos de desarrollo por sí mismos, y la limitadísima capacidad de memoria de los primeros computadores creó muchos problemas técnicos para las implementaciones prácticas de los compiladores.
C (lenguaje de programación)
C se desarrolló originalmente (conjuntamente con el sistema operativo Unix, con el que ha estado asociado mucho tiempo) por programadores para programadores. Sin embargo, ha alcanzado una popularidad enorme, y se ha usado en contextos muy alejados de la programación de software de sistema, para la que se diseñó originalmente.
Python
El 20 de febrero de 1991, van Rossum publicó el código por primera vez en alt.sources, con el número de versión 0.9.0. En esta etapa del desarrollo ya estaban presentes clases con herencia, manejo de excepciones, funciones y los tipos modulares, como: codice_1, codice_2, codice_3, entre otros. Además en este lanzamiento inicial aparecía un sistema de módulos adoptado de Modula-3; van Rossum describe el módulo como «una de las mayores unidades de programación de Python». El modelo de excepciones en Python es parecido al de Modula-3, con la adición de una cláusula codice_4. En el año 1994 se formó comp.lang.python, el foro de discusión principal de Python, marcando un hito en el crecimiento del grupo de usuarios de este lenguaje.
Historia de los lenguajes de programación
Entre algunos lenguajes importantes que fueron desarrollados en este período se encuentran:En los cincuenta, los tres primeros lenguajes de programación modernos, cuyos descendientes aún continúan siendo utilizados, son:
Lenguaje de programación
Programar viene a ser el proceso de crear un software fiable mediante la escritura, prueba, depuración, compilación o interpretación, y mantenimiento del código fuente de dicho programa informático. Básicamente, este proceso se define aplicando lógicamente los siguientes pasos:Los lenguajes de programación están formados por un conjunto de símbolos (llamado alfabeto), reglas gramaticales (léxico/morfológicas y sintácticas) y semánticas, que en conjunto definen las estructuras válidas del lenguaje y su significado. Existe el error común de tratar como sinónimos los términos 'lenguaje de programación' y 'lenguaje informático'. Los lenguajes informáticos engloban a los lenguajes de programación y a otros más, como por ejemplo HTML (lenguaje para el marcado de páginas web que no es propiamente un lenguaje de programación, sino un conjunto de instrucciones que permiten estructurar el contenido de los documentos).
Speedcoding
Speedcoding o Speedcode fue el primer lenguaje de alto nivel creado para un ordenador de IBM. El lenguaje estuvo desarrollado por John Backus en 1953 para el IBM 701, para soportar la computación con números de coma flotante. Aquí el alto nivel tiene un significado simbólico y va dirigido a la expresividad del lengua natural como objetivo opuesto al lenguaje de máquina o la codificación orientada a las instrucciones de hardware.
Programación funcional
Otros lenguajes de programación no están diseñados específicamente para seguir un estilo funcional, sin embargo lo ofrecen como alternativa. Por ejemplo, Perl, JavaScript y Python fueron diseñados con capacidades de programación funcional, además de incorporar otros paradigmas. Versiones recientes de lenguajes originalmente sin capacidades funcionales, como C++ y Java, han ido incorporando algunos conceptos de la programación funcional.
J (lenguaje de programación)
El lenguaje de programación J, diseñado por Kenneth Iverson y Roger Hui en la década de 1990, es una síntesis de los lenguajes de programación APL (diseñado también por Iverson) y los lenguajes funcionales FP y FL creados por John Backus (famoso por FORTRAN, ALGOL AA).
Historia de los lenguajes de programación
El período comprendido entre finales de 1960 y finales de 1970 trajo un gran florecimiento de lenguajes de programación. La mayoría de los paradigmas de lenguajes de programación más importantes y actualmente en uso se inventaron en este período:
Lenguaje Z
El Lenguaje Z es un lenguaje formal utilizado en ingeniería del software para la especificación formal de un sistema de cómputo, como una fase previa al desarrollo del código de programa para el mismo en un lenguaje de programación. Fue desarrollado por Jean-Raymond Abrial mientras formaba parte del Grupo de investigación en Programación del Laboratorio de computación de la Universidad de Oxford.
Aplicación móvil
El programador, en función del tipo de aplicación diseñada se encarga de dar vida a los diseños y crear la estructura sobre la cual se apoyará el funcionamiento de la aplicación, creando el código funcional mediante un lenguaje de programación. Existen varios lenguajes de programación entre los que destacan: Finalizada la programación de la versión inicial, generalmente denominada versión beta, gran parte del tiempo se emplea en la corrección de errores en la aplicación como fase previa para su aprobación en las tiendas.
OpenCL
OpenCL (Open Computing Language, en español "lenguaje de computación abierto") consta de una interfaz de programación de aplicaciones y de un lenguaje de programación. Juntos permiten crear aplicaciones con paralelismo a nivel de datos y de tareas que pueden ejecutarse tanto en unidades centrales de procesamiento como unidades de procesamiento gráfico. El lenguaje está basado en C99, eliminando cierta funcionalidad y extendiéndolo con operaciones vectoriales.
C (lenguaje de programación)
La primera estandarización del lenguaje C fue en ANSI, con el estándar X3.159-1989. El lenguaje que define este estándar fue conocido vulgarmente como ANSI C. Posteriormente, en 1990, fue ratificado como estándar ISO (ISO/IEC 9899:1990). La adopción de este estándar es muy amplia por lo que, si los programas creados lo siguen, el código es portable entre plataformas y/o arquitecturas.
F Sharp
F# (pronunciado F Sharp, en inglés fa sostenido) es un lenguaje de programación multiparadigma de código abierto, para la plataforma .NET, que conjunta la programación funcional con las disciplinas imperativa y  orientada a objetos. Es una variante del lenguaje de programación ML y es compatible con la implementación Objective Caml. F# fue inicialmente desarrollado por Don Syme de Microsoft Research, pero actualmente está siendo desarrollado por la División de Desarrolladores de Microsoft y es distribuido como un lenguaje totalmente soportado en la plataforma .NET y Visual Studio 2010, 2012, 2013, 2015 y 2017.
Turbo Pascal
El lenguaje de programación Pascal apareció por primera vez en 1971, de la mano de Niklaus Wirth.
Latino (lenguaje de programación)
Hasta la fecha este lenguaje dispone de soporte para trabajar en sistemas operativos de 64 bits tales como MS-Windows, Mac OS, y Linux.Este lenguaje nace de la necesidad de incrementar la educación de nivel básico y avanzado, para que niños, adolescentes y también adultos se motiven a entrar en el mundo de la programación y desarrollar aplicaciones con una sintaxis a su idioma.
A+ (lenguaje de programación)
A+ es un lenguaje de programación matriz que desciende del lenguaje de programación A, que a su vez fue creado para sustituir a APL en 1988. Arthur Whitney desarrolló la parte de "A" de A+, mientras otros desarrolladores como Morgan Stanley lo ampliaban, añadiéndole una interfaz gráfica de usuario y otras características del lenguaje. A+ fue diseñado para aplicaciones numéricas intensivas, especialmente operaciones financieras. A+ funciona en distintas variantes de Unix, incluyendo Linux. A+ es un lenguaje de programación de alto nivel, interactivo e interpretado.
Miranda (lenguaje de programación)
Salió por primera vez en 1985 como un intérprete rápido en C para los sistemas operativos Unix, con sucesivas entregas en 1987 y 1989. El último lenguaje de programación Haskell es similar un muchos aspectos a Miranda.
Programación a nivel funcional
En su discurso de aceptación del Premio Turing en 1977, Backus describió lo que considera como la necesidad de un cambio a una filosofía diferente en el diseño de lenguajes de programación: El lenguaje de programación FP fue el primer lenguaje diseñado específicamente para dar soporte al estilo de programación a nivel funcional.
Self (lenguaje de programación)
Self es un lenguaje de programación orientado a objetos desarrollado por Sun Microsystems. Puede decirse que es un sucesor de Smalltalk, y en algunos casos se considera una evolución de este.
C (lenguaje de programación)
C es un lenguaje de programación de propósito general originalmente desarrollado por Dennis Ritchie entre 1969 y 1972 en los Laboratorios Bell, como evolución del anterior lenguaje B, a su vez basado en BCPL.
Conjunto (programación)
Uno de los primeros lenguajes que soportaban conjuntos fue Pascal; muchos lenguajes lo incluyen ahora, ya sea en el núcleo del lenguaje o en una librería estándar. El Lenguaje de programación Java ofrece la interfaz Set para el soporte de conjuntos (donde lo implementa la clase HashSet usando una tabla hash), y la sub-interfaz SortedSet para dar soporte a conjuntos ordenados (implementado por la clase TreeSet por medio de un árbol de búsqueda binario). En C++, STL ofrece la clase "conjunto" para templates, que implementa a un conjunto ordenado usando un árbol de búsqueda binario; el STL de SGI ofrece la clase "hash_set", implementando conjuntos con una tabla de hash. Python tiene un tipo de conjunto incorporado, pero no un conjunto en sí.
Lenguaje de programación
A medida que la complejidad de las tareas que realizaban las computadoras aumentaba, se hizo necesario disponer de un método más eficiente para programarlas. Entonces, se crearon los lenguajes de alto nivel, como lo fue BASIC en las versiones introducidas en los microordenadores de la década de 1980. Mientras que una tarea tan sencilla como sumar dos números puede necesitar varias instrucciones en lenguaje ensamblador, en un lenguaje de alto nivel bastará una sola sentencia.
Clipper (lenguaje de programación)
Clipper es un lenguaje de programación procedural e imperativo creado en 1985 por Nantucket Corporation y vendido posteriormente a Computer Associates, la que lo comercializó como CA-Clipper. En un principio Clipper se creó como un compilador para el sistema gestor intérprete de bases de datos dBase III (de hecho las "versiones estacionales" de Nantucket incluían una etiqueta que lo indicaba así), pero con el tiempo el producto evolucionó y maduró, convirtiéndose en un lenguaje compilado más poderoso que el original, no solo por sus propias implementaciones sino también por las ampliaciones desarrolladas por terceros en C, Ensamblador y Pascal, de los que fue heredando características. Esto lo convirtió en la herramienta líder de desarrollo de aplicaciones de bases de datos relacionales bajo sistema operativo MS-DOS, sobre todo programas de gestión, contabilidad y facturación, agendas comerciales y programas de testificación.
Scratch (lenguaje de programación)
En abril de 2020, Scratch se convirtió en el primer lenguaje de programación creado para niños en entrar al top 20 del índice TIOBE, que mide la popularidad de los lenguajes de programación.
Prolog
Se trata de un lenguaje de programación ideado a principios de los años 70 en la Universidad de Aix-Marseille I (Marsella, Francia) por Alain Colmerauer y Philippe Roussel. Nació de un proyecto que no tenía como objetivo la traducción de un lenguaje de programación, sino el tratamiento algorítmico de lenguajes naturales. Alain Colmerauer y Robert Pasero trabajaban en la parte del procesado del lenguaje natural y Jean Trudel y Philippe Roussel en la parte de deducción e inferencia del sistema. Interesado por el método de resolución SL, Philippe Roussel persuadió a su autor, Robert Kowalski para que colaborara con el proyecto, dando lugar a una versión preliminar del lenguaje Prolog a finales de 1971 y apareciendo la versión definitiva en 1972. Esta primera versión de Prolog fue programada en ALGOL W.
Historia de los lenguajes de programación
Los primeros códigos de computadora estaban especializados según sus aplicaciones. En las primeras décadas del siglo XX, los cálculos numéricos estaban basados en los números decimales. Con el paso del tiempo, se dieron cuenta de que la lógica podía ser representada con números, no sólo con palabras. Por ejemplo, Alonzo Church fue capaz de expresar el cálculo lambda a través de fórmulas. La máquina de Turing estableció las bases para almacenar programas como datos en la arquitectura de von Neuman de una computadora. Sin embargo, a diferencia del cálculo lambda, el código de Turing no serviría satisfactoriamente como base para lenguajes de más alto nivel- su principal uso es en el análisis riguroso en la complejidad algorítmica.
Per Brinch Hansen
En 1970, su investigación en ciencias de la computación se centró en la programación concurrente: Inspirados por el lenguaje de programación de Ole-Johan Dahl y Kristen Nygaard(Simula 67), que inventó el concepto de monitor en 1972. En los Estados Unidos, también se desarrolló el primer lenguaje de programación concurrente, Pascal concurrente, en 1975. En 1977, escribió el primer libro sobre programación concurrente:"The Architecture of Concurrent Programs"("La Arquitectura de los programas concurrentes").
Plankalkül
Konrad Zuse diseñó el lenguaje de programación de alto nivel Plankalkül (Cálculo de Programas) en 1945, después de mudarse de Berlín al final de Segunda Guerra Mundial. Cualquiera que ha tenido la oportunidad de estudiar la definición original de Plankalkül han quedado alucinados por su sorprendente carácter actual- parece como si había sido creado mucho más tarde que en 1945. Sin embargo, el hecho más asombroso es que en el tiempo que Konrad Zuse escribía su documento Plankalkül, los dos únicos ordenadores trabajadores en el mundo eran el ENIAC y Harvard Mark I. Ninguno de ellos usó un compilador o un traductor de fórmula - el ENIAC tuvo que ser alambrado de nuevo para cada problema diferente.
Sun Microsystems
El lenguaje Java es un lenguaje de programación orientado a objetos. Desde su introducción a finales de 1995, es uno de los lenguajes más conocidos.
BASIC
BASIC, siglas de Beginners' All-purpose Symbolic Instruction Code (en castellano: ‘Código simbólico de instrucciones de propósito general para principiantes’), es una familia de lenguajes de programación de alto nivel. El BASIC original, el Dartmouth BASIC, fue diseñado en 1964 por John George Kemeny y Thomas Eugene Kurtz en el Dartmouth College en New Hampshire, Estados Unidos, como un medio para facilitar la programación en ordenadores a estudiantes (y profesores) que no fueran de ciencias. En aquella época, casi todo el uso de los computadores requería codificar software hecho a medida, con lo cual quedaba restringido a personas con formación como científicos y matemáticos. BASIC originalmente fue desarrollado como una herramienta de enseñanza. El lenguaje y sus variantes llegaron a estar ampliamente disponibles en las microcomputadoras a finales de los años 1970 y en los años 1980. BASIC sigue siendo popular a día de hoy en un puñado de dialectos altamente modificados, y en nuevos lenguajes, influenciados por BASIC tales como Microsoft Visual Basic o Gambas en GNU/Linux. En el año 2006, el 59% de los desarrolladores para la plataforma .NET usaban Visual Basic .NET como su único lenguaje.
COMIT
El COMIT es el primer lenguaje de programación para la manipulación de cadenas y de reconocimiento de patrones. Se basa en la traducción automática de máquina, donde se pueden sustituir cadenas de símbolos por otras cadenas. Fue desarrollado por Yngve del MIT. Cada enunciado de programa es muy parecido a una producción libre de contexto y representa el conjunto de sustituciones que se pueden hacer si se encuentra esa cadena en los datos.
Java (lenguaje de programación)
Java se creó como una herramienta de programación para ser usada en un proyecto de set-top-box en una pequeña operación denominada "the Green Project" en Sun Microsystems en 1991. El equipo ("Green Team"), compuesto por trece personas y dirigido por James Gosling, trabajó durante 18 meses en Sand Hill Road, en Menlo Park, para desarrollarlo.
RPG (lenguaje de programación)
El lenguaje de programación RPG fue desarrollado por IBM originalmente para generar informes comerciales o de negocios. Sus siglas en inglés significan "Report Program Generator". La primera versión apareció en 1959.
Scratch (lenguaje de programación)
Scratch se volvió popular en Reino Unido a través de los Code Clubs. Estos empezaron a usar Scratch como lenguaje introductorio por su relativa facilidad para desarrollar programas y porque las habilidades adquiridas mediante Scratch, se pueden aplicar a otros lenguajes básicos de programación como Python y Java. Code Clubs, fundado en 2013, es una iniciativa formada por una extensa comunidad de voluntarios, profesores y compañeros, para el desarrollo de clubs de codificación gratuitos, donde los niños de entre 9 y 13 años pueden construir y compartir sus ideas, conocimientos y creaciones, de manera extraescolar. La empresa ha acabado expandiéndose internacionalmente, existiendo más de 13,000 Code Clubs en todo el mundo. Además, la mayoría de sus proyectos han sido traducidos en 28 idiomas diferentes. Los voluntarios, ya sean programadores o desarrolladores de software, invierten su tiempo ejecutando sesiones de Code Clubs, transmitiendo sus habilidades de programación y asesorando a los jóvenes estudiantes,a través de un entrenamiento en línea. Los niños crean sus propios videojuegos, animaciones y sitios web, y además, aprenden a usar la tecnología de manera creativa y lúdica, para ampliar su conocimiento.
SAS (lenguaje de programación)
SAS es un lenguaje de programación desarrollado por SAS Institute a finales de los años sesenta. Existen dos intérpretes de dicho lenguaje: uno desarrollado por SAS Institute y otro por la empresa World Programming.
NumPy
El lenguaje de programación Python no fue diseñado originalmente para computación numérica, pero atrajo la atención de la comunidad científica y de ingeniería desde el principio. En 1995 se fundó el grupo de interés especial (SIG) "matrix-sig" con el objetivo de definir un paquete de computación de vectores; entre sus miembros se encontraba el diseñador y mantenedor de Python Guido van Rossum, quien extendió la sintaxis de Python (en particular la sintaxis de indexación) para facilitar la computación de vectores.
Ceylon (lenguaje de programación)
Ceylon es un lenguaje de programación orientado a objetos, desarrollado por Red Hat. El lenguaje en sí mismo toma mucha de su sintaxis de Lenguaje de programación Java.
ZPL (lenguaje de programación)
ZPL es un lenguaje de programación con paralelismo implícito orientado a operaciones con vectores o arreglos, creado por  Lawrence Snyder de la Universidad de Washington en 1993 (el primer compilador disponible para uso general, fue liberado en 1997). El objetivo de  ZPL es el facilitar la programación de ejecutables que corran eficientemente en una gran variedad de arquitecturas secuenciales y paralelas.
Historia de los lenguajes de programación
Este artículo trata sobre los acontecimientos más importantes en la historia de los lenguajes de programación. Para entrar en detalle en la línea del tiempo de estos eventos, visite la cronología de los lenguajes de programación.
Clementina (computadora)
El lenguaje de programación utilizado era Mercury Autocode, especialmente desarrollado para este modelo. Sobre Clementina se creó el primer lenguaje de computación argentino, llamado "COMIC". Fue creado por Wilfred Duran y las estudiantes de la carrera de Computador Científico Liana Silvia Lew, Noemí Susana Silvia García, Ana Cristina Zoltan Torres y Clarisa Dulce Cortés quienes colaboraron en la programación de su compilador. Este lenguaje estaba adaptado a problemas de simulación socio económicos.
C (lenguaje de programación)
En los años siguientes a la publicación del C de Kernighan y Ritchie, se añadieron al lenguaje muchas características no oficiales, que estaba soportadas por los compiladores de AT&T, entre otros. Algunas de estas características eran:A finales de la década de 1970, C empezó a sustituir a BASIC como lenguaje de programación de microcomputadores predominante. Durante la década de 1980 se empezó a usar en los IBM PC, lo que incrementó su popularidad significativamente. Al mismo tiempo, Bjarne Stroustrup empezó a trabajar con algunos compañeros de Bell Labs para añadir funcionalidades de programación orientada a objetos a C. El lenguaje que crearon, llamado C++, es hoy en día el lenguaje de programación de aplicaciones más común en el sistema operativo Microsoft Windows; mientras que C sigue siendo más popular en el entorno Unix. Otro lenguaje que se desarrolló en esa época, Objective C, también añadió características de programación orientada a objetos a C. Aunque hoy en día no es tan popular como C++, se usa para desarrollar aplicaciones Cocoa para Mac OS X.
Fortran
Hacia 1960, las versiones de FORTRAN estaban disponibles para los computadores IBM 709, 650, 1620, y 7090. La cada vez mayor popularidad del FORTRAN estimuló significativamente a fabricantes de computadores de la competencia a proporcionar compiladores FORTRAN para sus máquinas, así que allá por 1963 existían más de 40 compiladores FORTRAN. Por estas razones, el FORTRAN es considerado el primer lenguaje de programación ampliamente usado soportado a través de una variedad de arquitecturas de computador.
Máquina analítica
En 1842, el matemático italiano Luigi Menabrea, quien se había encontrado con Babbage durante un viaje de éste por Italia, escribió una descripción de la máquina en francés. En 1843, esa descripción fue traducida al inglés y anotada de forma extensa por Ada King, Condesa de Lovelace (hija del poeta Lord Byron), quien ya se había interesado en la máquina unos años antes. Ada Lovelace escribió, en una de las muchas notas que incluye el artículo, un algoritmo para calcular los números de Bernoulli, que es considerado como el primer programa de ordenador. Como reconocimiento a su trabajo, ella ha sido descrita en muchas ocasiones como "la primera programadora." El Lenguaje de programación Ada actualmente utilizado lleva su nombre.
Dynabook
El lenguaje de programación utilizado en este invento fue el Smalltalk. Este lenguaje también fue creado por Alan Kay alrededor del año 1969, con la finalidad de convertirse en el medio de expresión humano-dispositivo. Este lenguaje, aunque nació para el Dynabook, tomó un camino diferente y siguió desarrollándose.
ABC (lenguaje de programación)
ABC es un lenguaje de programación imperativo de propósito general y entorno de programación desarrollado en el "Centrum Wiskunde & Informatica" de Países Bajos por Leo Geurts, Lambert Meertens y Steven Pemberton. Es interactivo, estructurado, de alto nivel y está pensado para ser utilizado en lugar de BASIC, Pascal o AWK. No pretende ser un lenguaje de programación de sistemas, sino que está destinado a la enseñanza o la creación de prototipos.
El lenguaje de programación C
El lenguaje de programación C (título original en inglés: "The C Programming Language") es un libro de programación escrito por Brian Kernighan y Dennis Ritchie; este último diseñó e implementó el lenguaje (al igual que codiseñó el sistema operativo Unix, cuyo desarrollo estuvo fuertemente ligado con el desarrollo del lenguaje).
Elm (lenguaje de programación)
Elm es un lenguaje de programación para crear interfaces gráficas de usuario para navegadores web. Elm es un lenguaje funcional puro y fuertemente tipificado, y está desarrollado con énfasis en usabilidad, rendimiento, y robustez. Proclama "no tener excepciones en la práctica", hecho posible por el sistema de tipado estático del compilador. Elm fue inicialmente diseñado por Evan Czaplicki en su tesis en 2012. La versión pública de Elm vino con muchos ejemplos y un editor en línea que lo hizo fácil de probar en un navegador web. Evan Czaplicki se unió a Prezi en 2013 para trabajar en Elm, y en 2016 se unió a NoRedInk como Ingeniero de Software trabajando en código libre, también empezando la Elm Software Foundation.
C (lenguaje de programación)
En 1973, el lenguaje C se había vuelto tan potente que la mayor parte del kernel Unix, originalmente escrito en el lenguaje ensamblador PDP-11, fue reescrita en C. Este fue uno de los primeros núcleos de sistema operativo implementados en un lenguaje distinto al ensamblador. (Algunos casos anteriores son el sistema Multics, escrito en PL/I, y Master Control Program para el B5000 de Burroughs, escrito en ALGOL en 1961).
Gobstones
Gobstones es un lenguaje de programación diseñado para la enseñanza de ideas básicas de programación. Fue utilizado por primera vez en una materia de Introducción a la Programación de la Universidad Nacional de Quilmes en el año 2009. Se diferencia de otros lenguajes dedicados a tal fin, como puede ser Logo, debido a varias características. La más importante es que busca orientar al programador a un pensamiento denotacional (el "qué" de los programas), en lugar del tradicional pensamiento operacional (el "cómo" o secuencia de instrucciones). Otra de esas características es que el pasaje de este lenguaje a otros utilizados en la industria resulta más sencillo, pues posee conceptos fundamentales comunes a todos los lenguajes (pero con una separación mucho más clara que en ellos), y por la utilización de una sintaxis similar a la de estos. La sintaxis del lenguaje fue diseñada para ser similar a lenguajes como C y Java (posee bloques de código encerrados por llaves, definiciones de procedimientos y funciones, parámetros por valor, variables exclusivamente locales, etc.).
C (lenguaje de programación)
Al programar en C, es habitual usar algunas herramientas de programación de uso muy extendido, sobre todo en entorno de tipo Unix:Hecho principalmente para la fluidez de programación en sistemas Unix. Se usa también para el desarrollo de otros sistemas operativos como Windows o GNU/Linux. Igualmente para aplicaciones de escritorio como GIMP, cuyo principal lenguaje de programación es C.
Smalltalk
Smalltalk es considerado el primero de los lenguajes orientados a objetos, aunque en realidad el primero en implementar programación orientada a objetos fue Simula. En Smalltalk "todo" es un objeto, incluidos los números reales o el propio entorno Smalltalk.
Teoría de lenguajes de programación
Desde algunos puntos de vista, la historia de la teoría de lenguajes de programación precede incluso al desarrollo de los propios lenguajes de programación. El cálculo lambda, desarrollado por Alonzo Church y Stephen Cole Kleene en la década de 1930, es considerado uno de los primeros lenguajes de programación del mundo, incluso pese a que tenía intención de «modelar» la computación más que ser un medio para que los programadores «describan» algoritmos para un sistema informático. Muchos lenguajes de programación funcional se han caracterizado por proveer una «fina apariencia» al cálculo lambda, y muchos se describen en sus términos.
Búsqueda de patrones
Los primeros programas de ordenador para utilizar la coincidencia de patrones fueron los editores de texto. En laboratorios Bell, Ken Thompson extendió la búsqueda y sustitución de características del editor QED para aceptar expresiones regulares. Los primeros lenguajes de programación con el modelo búsquede de patrones fueron SNOBOL de 1962, SASL de 1976, NPL desde 1977, y KRC desde 1981. El primer lenguaje de programación con funciones de coincidencia de patrones basados en los árboles era la extensión de Fred McBride de LISP, en 1970.
Java (lenguaje de programación)
El lenguaje de programación Java fue desarrollado originalmente por James Gosling, de Sun Microsystems (constituida en 1983 y posteriormente adquirida el 27 de enero de 2010 por la compañía Oracle), y publicado en 1995 como un componente fundamental de la plataforma Java de Sun Microsystems. Su sintaxis deriva en gran medida de C y C++, pero tiene menos utilidades de bajo nivel que cualquiera de ellos. Las aplicaciones de Java son compiladas a bytecode (clase Java), que puede ejecutarse en cualquier máquina virtual Java (JVM) sin importar la arquitectura de la computadora subyacente.
Dartmouth BASIC
El Dartmouth BASIC (BASIC de Dartmouth) es la versión original del lenguaje de programación BASIC. Es llamado así porque fue diseñado e implementado en el Dartmouth College. El lenguaje fue diseñado por John Kemeny y Thomas Kurtz como parte del Dartmouth Time Sharing System (DTSS) (Sistema de tiempo compartido de Dartmouth) y fue uno de los primeros lenguajes de programación previstos para ser usado interactívamente.
Historia de Python
La historia del lenguaje de programación Python se remonta hacia finales de los 80s y principio de los 90s, su implementación comenzó en diciembre de 1989 cuando en Navidad Guido Van Rossum que trabajaba en el (CWI) (un centro de investigación holandés de carácter oficial que, entre otras cosas, actualmente alberga la oficina central del W3C) decidió empezar el proyecto como un pasatiempo dándole continuidad al lenguaje de programación ABC del que había formado parte del equipo de desarrollo en el CWI, dicho lenguaje se enfocaba en ser fácil de usar y aprender manteniendo potencia en su desempeño pero el hardware disponible en la época de su creación hacía difícil su uso y el proyecto no trascendió como se esperaba. Van Rossum es por tanto el autor principal de Python y continúa ejerciendo un rol central decidiendo la dirección del lenguaje, en la comunidad de Python se le conoce como "Benevolente Dictador Vitalicio" (en inglés: "Benevolent Dictator for Life", BDFL). El nombre "Python" viene dado por la afición de Van Rossum al grupo Monty Python.
Primera generación de computadoras
Zuse también diseño el primer lenguaje de programación de alto nivel "Plankalkül" en 1945, aunque nunca se publicó formalmente hasta 1971, y fue implementado la primera vez en el 2000 por la Universidad de Berlín, cinco años después de la muerte de Zuse.
Distributed Application Specification Language
El lenguaje de programación DASL (Distributed Application Specification Language) es un lenguaje de programación de alto nivel, fuertemente tipado, originalmente desarrollado por Sun Microsystems Labs, entre 1999 y 2003 como parte del Proyecto Ace. Los objetivos del proyecto fueron permitir un desarrollo rápido de aplicaciones web basadas en la arquitectura  J2EE de Sun, y eliminar la dura curva de aprendizaje específica de los detalles de cada plataforma.
Lenguaje de programación
Un lenguaje de programación es un lenguaje formal (o artificial, es decir, un lenguaje con reglas gramaticales bien definidas) que le proporciona a una persona, en este caso el programador, la capacidad de escribir (o programar) una serie de instrucciones o secuencias de órdenes en forma de algoritmos con el fin de controlar el comportamiento físico o lógico de un sistema informático, de manera que se puedan obtener diversas clases de datos o ejecutar determinadas tareas. A todo este conjunto de órdenes escritas mediante un lenguaje de programación se le denomina programa informático.
Io (lenguaje de programación)
Este lenguaje fue creado por Steve Dekorte el 7 de marzo de 2002, después de intentar ayudar a un amigo, Dru Nelson, con en lenguaje Cel. Él se encontró con que sabía mucho de como funcionaban los lenguajes y decicio escribir un pequeño lenguaje para entender mejor los problemas.
Historia de Python
El lenguaje de programación Python fue originalmente desarrollado para el sistema operativo Amoeba.
Argus (lenguaje de programación)
Argus es un lenguaje de programación creado en el Instituto Tecnológico de Massachusetts por Barbara Liskov entre 1982 y 1988, en colaboración con Maurice Herlihy, Paul Johnson, Robert Scheifler, y William Weihl. Es una extensión del lenguaje CLU, y emplea la mayor parte de su sintaxis y semántica. Argus fue diseñado para apoyar la creación de programas de computación distribuida, mediante el encapsulamiento de procedimientos relacionados con objetos llamados "guardianes", y soportando instrucciones atómicas llamadas "acciones".
Unidad de procesamiento gráfico
Al inicio, la programación de la GPU se realizaba con llamadas a servicios de interrupción de la BIOS. Tras esto, la programación de la GPU se empezó a hacer en el lenguaje ensamblador específico a cada modelo. Posteriormente, se introdujo un nivel más entre el hardware y el "software", con la creación de interfaces de programación de aplicaciones (API) específicas para gráficos, que proporcionaron un lenguaje más homogéneo para los modelos existentes en el mercado. La primera API usada ampliamente fue el estándar abierto OpenGL (Open Graphics Language), tras el cual Microsoft desarrolló DirectX.
Lenguaje de programación
Todos los lenguajes de programación tienen algunos elementos de formación primitivos para la descripción de los datos y de los procesos o transformaciones aplicadas a estos datos (tal como la suma de dos números o la selección de un elemento que forma parte de una colección). Estos elementos primitivos son definidos por reglas sintácticas y semánticas que describen su estructura y significado respectivamente.
ML (lenguaje de programación)
ML es un lenguaje de programación de propósito general de la familia de los lenguajes de programación funcional desarrollado por Robin Milner y otros a finales de los años 1970 en la Universidad de Edimburgo. ML es el acrónimo inglés de metalenguaje dado que fue concebido como el lenguaje para desarrollar tácticas de demostración en el sistema LCF (El lenguaje para el cual ML era metalenguaje es "pplambda", una combinación del cálculo de predicados de primer orden y el lambda-cálculo polimórfico sencillamente tipificado).
Vala (lenguaje de programación)
El lenguaje de programación Vala tiene sus inicios junto a Jürg Billeter. Ya que el señalaba que escribir y refactorizar código basado en GObject en C requería mucho trabajo adicional en comparación con los lenguajes más modernos que ya automatizaban estas tareas. También señaló que estos lenguajes modernos no producen bibliotecas que puedan usarse fácilmente en otros entornos. Por lo que propuso un lenguaje orientado a objetos con todas las funciones que pudiera producir interfaces de estilo C automáticamente.
Programación
El lenguaje entendido por una computadora se conoce como código máquina. Consiste en secuencias de instrucciones básicas que el procesador reconoce, codificadas como cadenas de números 1 y 0 (sistema binario). En los primeros tiempos de la computación se programaba directamente en código máquina. Escribir programas así resultaba demasiado complicado, también era difícil entenderlos y mantenerlos una vez escritos. Con el tiempo, se fueron desarrollando herramientas para facilitar el trabajo.
Java (lenguaje de programación)
El lenguaje se denominó inicialmente "Oak" (por un roble que había fuera de la oficina de Gosling), luego pasó a llamarse "Green" tras descubrir que "Oak" era ya una marca comercial registrada para adaptadores de tarjetas gráficas, y finalmente se le renombró "Java".
Paradigma de programación
Así como la ingeniería de software (como proceso) se define mediante diferentes "metodologías", los lenguajes de programación (como modelos de computación) se definen mediante diferentes "paradigmas". Algunos lenguajes están diseñados para admitir un paradigma (Smalltalk admite programación orientada a objetos, Haskell admite programación funcional), mientras que otros lenguajes de programación admiten múltiples paradigmas (como Object Pascal, C++, Java, JavaScript, C#, Scala, Visual Basic, Common Lisp, Scheme, Perl, PHP, Python, Ruby, Oz y F# ). Por ejemplo, los programas escritos en C ++, Object Pascal o PHP pueden ser puramente procedimentales, puramente orientados a objetos o pueden contener elementos de ambos u otros paradigmas. Los diseñadores y programadores de software deciden cómo utilizar esos elementos paradigmáticos.
Programación orientada a objetos
Las características de orientación a objetos fueron agregadas a muchos lenguajes existentes durante ese tiempo, incluyendo Ada, BASIC, Lisp más Pascal, entre otros. La adición de estas características a los lenguajes que no fueron diseñados inicialmente para ellas condujo a menudo a problemas de compatibilidad y en la capacidad de mantenimiento del código. Los lenguajes orientados a objetos "puros", por su parte, carecían de las características de las cuales muchos programadores habían venido a depender. Para saltar este obstáculo, se hicieron muchas tentativas para crear nuevos lenguajes basados en métodos orientados a objetos, pero permitiendo algunas características imperativas de maneras "seguras". El lenguaje de programación Eiffel de Bertrand Meyer fue un temprano y moderadamente acertado lenguaje con esos objetivos, pero ahora ha sido esencialmente reemplazado por Java, en gran parte debido a la aparición de Internet y a la implementación de la máquina virtual Java en la mayoría de navegadores web. PHP en su versión 5 se ha modificado; soporta una orientación completa a objetos, cumpliendo todas las características propias de la orientación a objetos.
Historia de los lenguajes de programación
Para algunas personas, lo que sería el primer lenguaje de programación moderno depende de cuánto poder y legibilidad humana se requería antes de que se concediera el estado de "lenguaje de programación". Tanto el telar de Jacquard como la Máquina Diferencial de Babbage, tenían lenguajes muy simples y extremadamente limitados para describir las acciones que estas máquinas realizaran. Se puede incluso considerar los agujeros perforados en los rollos de pianola como un limitado lenguaje de dominio específico, a pesar de no estar diseñado para el consumo humano.
Ruby
Ruby es un lenguaje de programación interpretado, reflexivo y orientado a objetos, creado por el programador japonés Yukihiro "Matz" Matsumoto, quien comenzó a trabajar en Ruby en 1993, y lo presentó públicamente en 1995. Combina una sintaxis inspirada en Python y Perl con características de programación orientada a objetos similares a Smalltalk. Comparte también funcionalidad con otros lenguajes de programación como Lisp, Lua, Dylan y CLU. Ruby es un lenguaje de programación interpretado en una sola pasada y su implementación oficial es distribuida bajo una licencia de software libre.
Turbo Pascal
El lenguaje de programación Pascal es un lenguaje de alto nivel y propósito general (aplicable a una gran cantidad de aplicaciones diversas) desarrollado por el profesor suizo Niklaus Wirth (Instituto Tecnológico de Zúrich, Suiza). El propósito de Wirth era crear un lenguaje para la enseñanza de técnicas de programación a estudiantes universitarios. Pero a medida que pasaban los años, Pascal se iba convirtiendo en un estándar en el mundo de la programación.
AIML
El lenguaje de programación AIML fue desarrollado por el Dr. Richard Wallace y la comunidad de código abierto Alicebot entre los años 1995 y 2000. Con él se crearon las bases del primer Alicebot, A.L.I.C.E, que ha ganado ahora el concurso "Loebner Prize Contest" y también "The most human" o "El más humano" tres veces, al igual de ser ganador en el Campeonato de Chatbot en 2004. Desde sus comienzos en internet, gracias a que el lenguaje AIML y los programas Alicebot son código-abierto, se han creado numerosos "clones" de Alicebot basados en la implementación original del programa y de la base de conocimiento AIML. El desarrollo de este lenguaje continua, y en el otoño de 2004 se ha creado una nueva versión del conjunto ALICE AIML. La implementación más activa hoy en día es pandorabots.com, un hosting de bots en línea y compañía de desarrollo que permite el alojamiento gratuito de Alicebots programa Z.
Lenguaje de programación
En 1960, se creó COBOL, uno de los lenguajes usados aún en la actualidad, en informática de gestión.
Dylan (lenguaje de programación)
Dylan fue creado a principios de los años 90 por iniciativa de Apple Computer. Durante el desarrollo, se intentó usarlo con los ordenadores de Apple Newton, pero la implementación del lenguaje no estuvo listo a tiempo, y Newton usó una combinación de C y el lenguaje de programación NewtonScript (desarrollado por Walter Smith) en su lugar. Apple concluyó su desarrollo de Dylan en 1995.
BCPL (lenguaje de programación)
BCPL es la sigla en inglés de "Basic Combined Programming Language" (Lenguaje de Programación Básico Combinado). Fue diseñado por Martin Richards de la Universidad de Cambridge en 1966 debido a las dificultades experimentadas con el lenguaje de programación CPL durante los años 60. El primer compilador implementado fue escrito en 1967 mientras Richards visitaba el MIT. El lenguaje fue descrito por primera vez en un proyecto presentado en una conferencia informática en 1969. Años después, Dennis Ritchie y Ken Thompson lo utilizaron como base para desarrollar B (que a su vez, más tarde daría lugar al popular lenguaje de programación C).
Adventure Game Interpreter
Para realizar la tarea, en un principio contactaron con Arthur Abraham, que diseñó un lenguaje de programación que se llamó Game Assembly Language. Abraham fue despedido de Sierra, por lo que IBM, con tal de que el proyecto tuviera éxito, colaboró en el desarrollo del parser AGI. El primer videojuego creado con este parser, la que es oficialmente la primera aventura gráfica de la historia, fue . A partir de entonces, AGI se utilizó en todas las aventuras gráficas de Sierra, entre las que cabe destacar King's Quest II, King's Quest III, Space Quest I, Leisure Suit Larry I y Police Quest entre otros.
Historia de los lenguajes de programación
Como muchos “primeros” en la historia, el primer lenguaje de programación moderno es difícil de identificar. Desde un inicio, las restricciones de hardware definían el lenguaje. Las tarjetas perforadas permitían 80 columnas, pero algunas de estas serían utilizadas para una clasificación de cada tarjeta. FORTRAN incluía algunas palabras reservadas provenientes del Inglés, como “IF”, “GOTO” (go to) y “CONTINUE”. El uso del tambor magnético para la memoria implicaba que los programas informáticos tuvieran que estar intercalados con las rotaciones del tambor. Por lo tanto los programas eran muy dependientes del hardware.
FLOW-MATIC
A finales de 1953, propuso que los problemas de procesamiento de datos deberían expresarse utilizando palabras clave en inglés, pero la dirección de Rand consideró la idea inviable. A principios de 1955, ella y todo su equipo escribieron una especificación para dicho lenguaje de programación e implementaron un prototipo. El compilador FLOW-MATIC se puso a disposición del público a principios de 1958 y se completó sustancialmente en 1959. FLOW-MATIC fue el primer lenguaje de programación que expresó operaciones utilizando declaraciones similares al inglés . También fue el primer sistema en separar claramente la descripción de los datos de las operaciones en ellos. Su lenguaje de definición de datos , a diferencia de sus declaraciones ejecutables, no era como el inglés; más bien, las estructuras de datos se definieron llenando formularios preimpresos. [3]
Pastel (lenguaje de programación)
Pastel fue concebido por Jeffrey M. Broughton, entonces el Ingeniero de Proyectos en cargo de los compiladores y el sistema operativo del proyecto S-1, debido al descontento con el lenguaje PL/1 en el que estaba siendo implementado Amber. El lenguaje fue llamado Pastel ("un Pascal descolorido") y su compilador fue la inspiración para que Richard Stallman creara el GNU C Compiler.
PL/M
El lenguaje de programación PL/M (acrónimo de Programming Language for Microcomputers, Lenguaje de programación para Microordenadores) es un lenguaje de alto nivel concebido y desarrollado por Gary Kildall en 1973, tras la solicitud de Hank Smith que trabajaba en Intel, para los microprocesadores de esta marca. El lenguaje incorporó ideas de PL/I, ALGOL y XPL, disponiendo de un macro procesador integrado. A diferencia de otros lenguajes de su misma época como Pascal, C o BASIC, PL/M no disponía de rutinas estándar de entrada o salida. A cambio incluía características que conectaban con el hardware a nivel bajo específico de su microprocesador objetivo, como acceso directo a cualquier ubicación en memoria, a los puertos de E/S o a las banderas de interrupción del procesador de manera muy eficaz. PL/M fue el primer lenguaje de programación de alto nivel para microprocesadores, y el lenguaje en el que se desarrolló originalmente el sistema operativo CP/M. Muchos sistemas embebidos basados en Intel y en el Zilog Z80 fueron programados en PL/M durante las décadas de 1970 y 1980. Por ejemplo, el firmware del componente de Procesador del Servicio CISC del AS/400 fue escrito en PL/M.
Plankalkül
Plankalkül fue el primer lenguaje de programación que fue creado por el científico alemán Konrad Zuse en los años 1942 a 1946, se considera un lenguaje de alto nivel, pero no se publicó hasta 1972. Zuse quería desarrollar un método sofisticado para el desarrollo de las tareas que el equipo debe hacer.
Alan Turing
Tiempo más tarde creó el Abbreviated Code Instruction, que dio origen a los lenguajes de programación. En 1947 se tomó un año sabático en Cambridge, tiempo durante el cual escribió un trabajo pionero sobre la inteligencia artificial que no fue publicado en vida. En 1948, con la ayuda de Frederic Calland Williams, se dio, por primera vez, la demostración del principio de la máquina de Turing.
Go (lenguaje de programación)
Go es un lenguaje de programación concurrente y compilado inspirado en la sintaxis de C, que intenta ser dinámico como Python y con el rendimiento de C o C++. Ha sido desarrollado por Google y sus diseñadores iniciales fueron Robert Griesemer, Rob Pike y Ken Thompson. Actualmente está disponible en formato binario para los sistemas operativos Windows, GNU/Linux, FreeBSD y Mac OS X, pudiendo también ser instalado en estos y en otros sistemas mediante el código fuente. Go es un lenguaje de programación compilado, concurrente, imperativo, estructurado, orientado a objetos y con recolector de basura que de momento es soportado en diferentes tipos de sistemas UNIX, incluidos Linux, FreeBSD, Mac OS X y Plan 9 (puesto que parte del compilador está basado en un trabajo previo sobre el sistema operativo Inferno). Las arquitecturas soportadas son i386, amd64 y ARM.
Pascal (lenguaje de programación)
Pascal es un lenguaje de programación creado por el profesor suizo Niklaus Wirth entre los años 1968 y 1969, y publicado en 1970. Su objetivo era crear un lenguaje que facilitara el aprendizaje de programación a sus alumnos, utilizando la programación estructurada y estructuración de datos. Sin embargo, con el tiempo su utilización excedió el ámbito académico para convertirse en una herramienta para la creación de aplicaciones de todo tipo.
Lenguaje de programación
El primer manual para el lenguaje Fortran apareció en octubre de 1956, con el primer compilador Fortran entregado en abril de 1957. Esto era un compilador optimizado, porque los clientes eran reacios a usar un lenguaje de alto nivel a menos que su compilador pudiera generar código cuyo desempeño fuera comparable al de un código hecho a mano en lenguaje ensamblador.
Haskell
A partir de la publicación de Miranda, en 1985, los lenguajes funcionales proliferaron. En 1987, existían compitiendo entre ellos más de una docena de lenguajes de programación puros funcionales no estrictos. Durante la conferencia sobre Lenguajes de Programación Funcional y Arquitecturas de Ordenador (FPCA '87) en Portland, Oregón, se mantuvo un encuentro durante el cual se alcanzó un fuerte consenso entre sus participantes para formar un comité que definiese un estándar abierto para tales lenguajes. Esto se hizo con el propósito expreso de consolidar los lenguajes existentes en uno único que sirviera como base para la investigación futura en diseño de lenguajes. La primera versión de Haskell ("Haskell 1.0") se definió en 1990. Los esfuerzos del comité resultaron en una serie de definiciones del lenguaje, que culminaron a finales de 1997 en Haskell 98, que se intentó fuera una versión del lenguaje mínima, estable y portable, junto con una biblioteca estándar asociada para la enseñanza, y como base de futuras extensiones. El comité expresamente aprobó la creación de extensiones y variantes de Haskell 98 mediante la adición e incorporación de características experimentales.
Medios digitales
Entre 1822 y 1823, Ada Lovelace, matemática, escribió las primeras instrucciones para el cálculo de los números en los motores de Babbage. Las instrucciones del Lovelace ahora se cree que es el primer programa de ordenador.
Brecha de género en la informática
Durante los orígenes de la informática, la brecha de género en la programación era inferior que en la actualidad, siendo ellas las primeras en presentar avances en el ámbito del soporte lógico con la creación del primer compilador, los primeros lenguajes de alto nivel y el primer procesador de texto, en esta época el trabajo software estaba infravalorado y recibían un peor salario frente al desarrollo hardware, del que se encargaban esencialmente hombres, con el paso de los años el software fue tomando notoriedad lo que ocasionó que las empresas contrataran directivos, principalmente hombres para dirigir el desarrollo, además se empezó a invertir mayor cantidad de dinero en software, lo que aumentó que los hombres que en su principio habían despreciado el software, se apresurasen a entrar, sustituyendo a las mujeres.
Lisp
Lisp fue el primer lenguaje de programación homoicónico: todo el código fuente del programa es al mismo tiempo una estructura de datos del lenguaje (listas anidadas o árboles). Como resultado la metaprogramación en Lisp es relativamente sencilla. Ya que el código fuente de Lisp tiene una correspondencia directa con el árbol sintáctico abstracto del programa, se puede crear código de Lisp para manipular más código de Lisp, o aún crearlo desde cero, sin necesidad de un extensivo análisis sintáctico (parsing) o manipulación de código de máquina binario. Esto generalmente es considerado una de las ventajas primarias del lenguaje con respecto a su poder expresivo, y hace al lenguaje favorable a la evaluación metacircular.