Una breve historia de los primeros lenguajes de programación

esto incluyó diferentes automatizaciones y ensambladores. Un tiempo ‘marcado por muchas primicias’.,

Friedman nos pide que consideremos la cultura de programación o’ codificación ‘ en ese momento a la luz de las innovaciones que vinieron:

«tenemos que tener en cuenta, en primer lugar, que la mentalidad del establecimiento de codificación era tal que cualquier cosa que no fuera la codificación manual se consideraba inferior y, en segundo lugar, que esos programas de lenguaje automático codificados a mano eran en realidad muy complejos e intrincados y lo hacían con menos almacenamiento como lo hacen nuestros sofisticados programas hoy en día.,»

También dice que el escepticismo estaba justificado ya que estos sistemas resultaron programas que eran menos eficientes y más costosos que las versiones equivalentes codificadas a mano producidas por codificadores humanos inteligentes e inventivos.

entonces, en este momento los programadores no siempre programaban ‘desde cero’. Muchos copiarían manualmente secciones de código.

la copia estaba plagada de’errores de transcripción’.

en 1949 John Mauchly propuso ‘código de orden corto’ o ‘Código corto’ para el BINAC (ordenador automático binario). La computadora fue construida por John Mauchly y J., Presper Eckert, más tarde fue comprado por Remington-Rand.

código corto: era un conjunto de subrutinas interpretativas almacenadas en la memoria. Código corto ejecutado alrededor de cincuenta veces más lento que el programa codificado a mano equivalente.

los años 1950-1951 vieron la aparición de una gran cantidad de lenguajes de máquinas artificiales o ‘pseudo códigos’.

» a principios de la década de 1950, el generador Sort-Merge de Betty Holbertson fue un primer intento de usar una computadora para escribir programas e inspiró a toda una familia de otros generadores de programas.,»

en 1951 el primer libro de texto para la programación llegó de Inglaterra. Fue llamado «la preparación de programas para una computadora Digital», escrito por Wilkes, Wheeler y Gill.

discutió la ‘rutina de ensamblaje’, refiriéndose a: «a una pieza de código que combinaría un conjunto de subrutinas y asignaría almacenamiento como bloques de direcciones reubicables llamadas’direcciones flotantes’.,»

en 1951, Grace Murray Hopper trabajando en UNIVAC I de Remington-Rand se le ocurrió lo que ella llamó una ‘rutina de compilación’, como el acto de traducir ‘pseudo-código’ en un conjunto completo de instrucciones de lenguaje de máquina.

en 1952, Millie Coss salió con el ‘generador de edición’ tomando operaciones aritméticas e imprimiendo una salida legible por los gerentes y otros humanos.

Friedman describió el desarrollo de 1952 de un sistema AUTOCODE por Alick E. Glennie como un enlace a la ‘tercera generación’ de software., Fue un compilador algebraico primitivo, altamente dependiente de la máquina, que tradujo declaraciones algebraicas al lenguaje máquina del Manchester Mark I.

tercera generación de software-lenguajes procedimentales

en 1945, se desarrolló un lenguaje de programación teórico en Fed. Rep. Alemania por Konrad Zuse, llamado Plankalkul (programcalculus), aunque esto pasó desapercibido hasta alrededor de 1972.,

en Italia, la disertación doctoral de Corrado Bohm de 1951 describe un sistema que define cada enunciado como un caso especial de la instrucción asignada, por ejemplo, S sería equivalente a ‘establecer el contador del programa al valor de la variable S’.

el primer compilador algebraico es considerado para el ordenador WHIRLWIND del MIT diseñado por Jay Forrester y Ken Olsen. Fue la primera minicomputadora de 16 bits capaz de procesamiento paralelo y computación en tiempo real. Fue demostrado en la primavera de 1953 y en funcionamiento en enero de 1954.,

en 1955, el equipo de programación de Grace Murray Hoppe comenzó a desarrollar un lenguaje de programación algebraica que utiliza algunas palabras clave en inglés.

en 1957, fue lanzado como MATH-MATIC, y se ejecutó de manera ineficiente. En 1957 IBM finalmente entregó el compilador para FORTRAN. Fue cada vez más aceptado en la comunidad informática.

en 1958, FLOW-MATIC fue lanzado y se convirtió en un factor importante en el diseño posterior de COBOL.,

FORTRAN (FORmula TRANslating System)

en 1954, John Backus dirigió un equipo de investigadores de IBM (más tarde llamado Programming Research Group) para diseñar y desarrollar traductores automáticos de fórmulas matemáticas en código máquina IBM 704. Aceptarían nada menos que algo tan eficiente como sus contrapartes codificadas a mano. Su principal preocupación era la eficiencia, ya que, según Friedman, es más probable que sea aceptada por la comunidad de codificación. El aspecto del diseño del lenguaje se manejó rápidamente., Descrito por Friedman: «in en la forma de una tarea que tenía que ser completada antes de que el trabajo ‘real’ (el diseño del compilador) pudiera ser hecho.»

FORmula TRANslating System,o FORTRAN fue lanzado en 1954 con una gran parte del documento dedicado a la justificación del sistema, incluyendo una expectativa optimista de que FORTRAN eliminaría la codificación y la depuración.

en 1958, se lanzaron compiladores FORTRAN para el IBM 709 y el 650; en 1960 para el 1620 y el 7070., Las versiones no eran necesariamente idénticas y un programa escrito en un ordenador no producía necesariamente el mismo resultado en otro.

en 1961, los compiladores FORTRAN se pusieron a disposición de otros ordenadores (UNIVAC, Remington-Rand LARC y ALTAC).

en 1964 había más de 40 compiladores FORTRAN diferentes en el mercado. Hay que decir que no era un lenguaje independiente de la máquina, y la computadora de manera diferente en diferentes computadoras.

en 1958 se lanzó FORTRAN II, seguido por FORTRAN III y FORTRAN IV en 1962., FORTRAN IV fue el estándar para el lenguaje hasta que FORTRAN 77 fue lanzado en 1978.

LISP (procesador de listas)

durante los años 1956-1958 un lenguaje interactivo y aplicativo fue diseñado en Darthmouth por John McCarthy.

en 1959, esto se implementó más tarde en el MIT con un manual de referencia publicado en 1960.

LISP está basado en lambda-calculus, y a diferencia de otros lenguajes fue diseñado para la manipulación de fórmulas simbólicas. Friedman argumenta que se convirtió en la’ lingua franca ‘ (medio de comunicación) para la comunidad de inteligencia artificial.,

ella enumera algunas características innovadoras como las siguientes:

  • La función como la unidad básica del programa.
  • La lista como la estructura de datos básica.
  • estructuras de datos dinámicas.
  • instalaciones para ‘recolecciones de basura’.
  • Uso de expresiones simbólicas en lugar de números.
  • Recursión.
  • expresión condicional como estructuras de control.
  • La función ‘eval’ para la evaluación interactiva de sentencias LISP.,

ALGOL (algorítmico-lenguaje)

en 1958, un Comité celebró reuniones en Zurich para diseñar un lenguaje de programación universal de alto nivel. Contó con representantes europeos de GAMM (asociación alemana de Matemáticas Aplicadas y mecánica), y la Asociación de maquinaria Informática. Uno de los miembros del comité era John Backus, quien había dirigido el grupo de desarrollo FORTRAN.

uno de los objetivos era facilitar la comunicación y el intercambio en la comunidad informática internacional junto con el objetivo práctico de llevar un compilador a Europa (todavía estaban codificando a mano)., Una de las razones por las que se deseaba un nuevo lenguaje era que FORTRAN era un producto propietario de IBM. Por lo tanto, adoptar FORTRAN significaría comprar solo máquinas IBM, y existía el deseo de que IBM no dominara en Europa.

el lenguaje fue nombrado primero ALG ,para el lenguaje algebraico internacional, y finalmente renombrado ALGOL (algorítmico-lenguaje). La primera versión fue conocida como ALGOL 58.

el Comité se reunió de nuevo en París en 1960 para mejorar el lenguaje y eliminar las debilidades.,

» la influencia de ALGOL60 en el diseño del lenguaje de programación, y en el desarrollo de la informática en general, ha sido nada menos que profunda.»

Friedman enumera algunas características innovadoras:

  • BNF (Backus Normal Form), metalanguage para la definición del lenguaje de programación.
  • El lenguaje de programación como objeto de estudio en lugar de solo un medio hacia un fin.
  • Se utiliza como lenguaje de publicación para algoritmos.
  • Estructura de bloques y entornos de datos localizados.
  • anidamiento de unidades de programa.,
  • código de programa de formato libre.
  • decleraciones de tipo explícitas.
  • asignación Dinámica de memoria.
  • parámetro pasando por valor y nombre.
  • If / then/else y begin / end para delimitar sentencias compuestas.
  • reglas de alcance.
  • Declaración de variables locales.
  • parámetros pasados por nombre, valor o referencia.

COBOL (COmmonBusiness-Oriented-Language

en 1959, otro grupo se reunió bajo la supervisión del Departamento de Defensa de los Estados Unidos para discutir el desarrollo de un lenguaje de programación «común».,

«Este grupo, compuesto por unos 40 miembros, representaba a fabricantes de computadoras y usuarios de la industria, universidades y gobierno y se conoció como el Comité CODASYL(COOnferenceon Data SYstemsLanguages).»

fue de interés tanto de los fabricantes de computadoras como del Gobierno diseñar un lenguaje que pudiera funcionar en diferentes máquinas.

en abril de 1960 se creó una lengua llamada COBOL.

a diferencia de FORTRAN, el lenguaje comenzó relativamente ‘independiente de la máquina’.,

para muchos la programación de primera y segunda generación fue mal entendida por la mayoría y considerada como Friedman dice: un ‘arte negro’.

innovaciones importantes en COBOL según Friedman son las siguientes:

  • La estructura de datos de registro.
  • descripciones de archivos e instalaciones de manipulación.
  • independencia de la máquina de datos y descripciones de programas.
  • igual énfasis en las descripciones de datos en las divisiones de datos y las operaciones en la División de procedimientos.
  • influencia del Inglés en el uso de verbos, cláusulas, oraciones, párrafos, secciones y divisiones.,
  • estilos de lenguaje relativamente naturales, incluyendo palabras de ruido para facilitar la lectura.
  • El esfuerzo general hacia un lenguaje que produjera código de programa Auto-documentante.

comenzaron una importante tendencia hacia los lenguajes orientados a datos. Friedman argumenta que esto ha culminado en la proliferación de sistemas de gestión de bases de datos, lenguajes de consulta y herramientas y entornos de programación de alta productividad centrados en bases de datos.,

hubo una amplia disponibilidad de compiladores COBOL en parte debido a la participación del Gobierno:

«the El Departamento de Defensa envió una carta fuertemente redactada a todos los fabricantes de computadoras informándoles que si querían continuar vendiendo computadoras al Departamento de Defensa(el mayor contratista de computadoras y donante de becas de investigación), era mejor que pusieran un compilador COBOL en él.»

Friedman comenta que FORTRAN, COBOL y LISP estaban entre los lenguajes de programación más utilizados en el momento de escribir este artículo (Aprox. 1990).,

Babel → 1960’s and 1970’s

» las décadas de 1960 y 1970 vieron una proliferación verdaderamente asombrosa de programación languages.It fue este hubub de actividad que Jean Sammetin 1969 comparó con la Torre Bíblica de Babel.»

APL (UN Lenguaje de Programación). Definido y presentado al público en 1962 a través de un libro de Kenneth Harvardson en Harvard, quien participó en el diseño de este. Requería un teclado especial y no se usó ampliamente.

SNOBOL (lenguaje simbólico orientado a cadenas)., Implementado por primera vez en 1963, fue diseñado por investigadores de los Laboratorios Bell como un lenguaje de manipulación de cuerdas. La implementación fue en realidad llamada SEXI (String EXpression Interpreter), pero aparentemente fue considerada inaceptable. El nombre de la lengua era un jab humorístico en acrónimos: SNOBOL (cadena OrientedsymBOlicLanguag). SNOBOL4 fue lanzado en 1968 diseñado para hardware de computadora de tercera generación, trata los patrones como objetos de datos. La característica única fue su facilidad para la coincidencia de cuerdas y patrones.

BASIC (código de instrucción simbólico para principiantes)., Code corrió en 1964, y el diseño del lenguaje estaba destinado a introducir a los estudiantes en disciplinas no científicas a la computación. Se eligió la simplicidad sobre la eficiencia del compilador, y se proporcionaron mensajes de error claros.

PL/1 (lenguaje de programación / one). Lanzado en 1966, pretende ser el «lenguaje para acabar con todos los idiomas», pero no tan popular como IBM había esperado. Los compiladores eran ineficientes y poco fiables. Ha sido criticado como un lenguaje para big, ya que trató de incluir todos los elementos concebibles del diseño del lenguaje.

Logo. Desarrollado a lo largo de los años 1966-1968., Diseñado específicamente para la educación matemática, utilizado experimentalmente en las aulas. Logo es muy similar a LISP. Incluye ‘turtle graphics’, para enseñar a los niños principios geométricos.

FORTH (lenguaje de cuarta generación). Charles H. Moore quería un lenguaje lo suficientemente eficiente para aplicaciones científicas y de ingeniería, pero que permitiera una programación más rápida utilizando menos líneas de código. Dos objetivos de diseño (aparentemente) contradictorios, parece. Según Friedman, no se puede considerar una lengua de cuarta generación hoy en día.

SIMULA., Diseñado en 1962 por Kristen Nygaard y Ole-Johan Dahl en el Norwegian Computing Center bajo contrato con Univac. Motivado por el deseo de simular aplicaciones-una técnica de investigación de operaciones utilizada con éxito en una serie de áreas diversas. Este lenguaje introdujo el ‘concepto de clase’, una abstracción importante para la programación orientada a objetos.

Pascal (nombrado en honor al filósofo y matemático francés del siglo XVII Blaise Pascal). La revisión de ALGOL68 (de ALGOL60) no fue popular, ya que era innecesariamente grande y torpe., Uno de los’ disidentes ‘ Niklaus Wirth diseñó Pascal, que se implementó por primera vez en 1970. Friedman sostiene que Pascal diseñado para su uso en la educación se destacó: «opposition en oposición a una tendencia». Una tendencia de complicar un lenguaje con características para que ningún usuario pueda esperar conocerlas todas.

C. Kenneth Thompson y Dennis Ritchie desarrollaron C para codificar las rutinas en un sistema operativo UNIX. C fue una extensión de B (también diseñada por Thompson) que se basó en un lenguaje anterior BCPL. C creó la noción de un sistema operativo portátil., Friedman argumenta que una sintaxis concisa hace que los programas C sean difíciles de leer, entender, depurar y mantener.

Modula-2 (lenguaje MODUlar / dos). Descendiente de Pascal, destinado a grandes sistemas. El módulo facilita el intercambio de información, encapsulando código en piezas claramente delineadas.

Ada. Propuesto en 1980 y estandarizado en 1983, tenía intenciones similares a las del PL/1 (language to end all languages) y un éxito similar.,

después del anuncio de FORTRAN con el informe en 1954 hubo una gran cantidad de lenguajes que intentaron: «t domesticar la computadora electrónica para su uso de alto nivel por los seres humanos en todas las áreas de aplicación.,entre los diferentes idiomas:

Modelo de Friedman

Cuarto de software de generación de los lenguajes declarativos

«El de von Neumann-typeof de arquitectura de computadores, además de servir como catalizador para una generación de lenguajes de programación también puede, parece, ser culpable, en gran parte, por el grado de estancamiento que hemos visto en el desarrollo conceptual del lenguaje de programación tecnología.,»

a lo que Friedman se refiere es al programa almacenado en ubicaciones de memoria con un solo contador en un flujo de instrucciones de secuencia. Los lenguajes de programación que dependen de esta arquitectura de paradigma (procedimental) anterior tienden a ser:

  1. orientado a sentencias (asumiendo la ejecución secuencial de un número limitado de operaciones).
  2. compuesto por un gran número de líneas de código. La depuración es ardua y larga.
  3. El mantenimiento requiere mucho tiempo y es costoso.,

Friedman argumenta que este siguiente paradigma es declerativo:

» un lenguaje de cuarta generación es declarativo, es decir, sus instrucciones a la computadora se concentran más en lo que se debe hacer en lugar de describir en detalle cómo hacerlo.»

La Cuarta Generación busca optimizar el trabajo humano sobre el tiempo de la computadora.

frecuentemente dirigido a un usuario no técnico en un área de aplicación en particular.

algunas de las tendencias según Friedman son:

  • lenguaje declarativo.
  • Software Empaquetado.,
  • paquetes Integrados.
  • User-friendly entornos interactivos.
  • lenguajes de Consulta.
  • Herramientas de programación de alta productividad.
  • La integración de idiomas.
  • Herramientas de programación (editor, enlazador, traductores, manejador de archivos e interfaz de usuario dentro de un solo sistema interactivo).

menciona que no todos los sistemas son no procedimentales y la clasificación es arbitraria.

en 1961, el paquete estadístico BMD (BioMeDicalpackage) se desarrolla en la Universidad de California en Berkeley e implementado en FORTRAN en el IBM 7090.,

en 1967, Arthur S. Couch desarrolló DATATEXT en la Universidad de Harvard dirigido a científicos sociales.

PROLOG (programación en lógica). Implementado en 1972 en ALGOL-W con el propósito de procesamiento de lenguaje natural. Desde 1981 se asoció con el proyecto de quinta generación de Japón.

OPS (sistema oficial de producción). Un sistema de producción o lenguaje basado en reglas utilizado en el campo de la inteligencia artificial. OPS5 lanzado en 1977.

Smalltalk., Diseñado e implementado en Xerox Palo Alto Research Center (PARC) como el componente de software de: «El legendario Dynabook de Alan Kay, un ordenador personal del tamaño de un portátil para el Usuario no técnico.»El entorno era importante: ratón para seleccionar y señalar; menús gráficos de usuario y así sucesivamente. Steve Jobs utilizó este enfoque con las computadoras de Apple Lisa y el sistema operativo Macintosh.

lenguajes de Consulta. Con el fin de que las bases de datos fueran accesibles a las personas con una formación mínima, se desarrollaron lenguajes de consulta para que fueran fáciles de usar. SQL fue desarrollado para SystemsR y varias otras formas de consulta., SQL fue diseñado en IBM y comercializado en 1979 por Oracle.

Friedman argumenta:

«una herramienta de alta productividad de cuarta generación es en gran medida no procedimental, fácil de usar y orientada a problemas.»

Además, dice que estos sistemas se han centrado en torno a una base de datos e incluyen componentes de un sistema de gestión de bases de datos.

el Software comenzó con humanos obligados a ‘pensar’ en código para una máquina específica.

en el momento de escribir Friedman ya argumenta que las computadoras pueden ‘pensar’ o actuar hasta cierto punto como seres humanos.,

El artículo de Linda Weiser Friedman es una lectura fascinante y, por supuesto, recomiendo que lo lea en su totalidad en lugar de mi resumen limitado.

espero que hayan disfrutado de este artículo!

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *