istory de la computación Este artículo discute los progresos principales en la historia del de programación de los lenguajes del . Para una cronología detallada de acontecimientos, ver la cronología de los lenguajes de programación .

Prehistoria

Los primeros lenguajes de programación preceden la computadora moderna. Del primeros, las idiomas eran los códigos

Durante un período de nueve meses en 1842-1843, el Ada Lovelace tradujo la memoria de Luis Menabrea italiano del matemático en la máquina propuesta más nueva de Charles Babbage, el motor analítico. Con el artículo, ella añadió un sistema de las notas que especificaron en detalle completo un método para calcular los números de Bernoulli con el motor, reconocido por algunos historiadores como el primer programa de computadora del mundo. Pero algunos biógrafos discuten el grado de sus contribuciones originales contra los de su marido.

El telar de telar jacquar utilizó los agujeros en tarjetas perforadas para representar los movimientos de costura del brazo del telar para generar patrones decorativos automáticamente.

El Herman Hollerith realizó que él podría codificar la información sobre las tarjetas de sacador cuando él observó que los conductores del tren del ferrocarril codificarían el aspecto de los sostenedores del boleto en los boletos de tren usar la posición de agujeros perforados respecto a los boletos. Hollerith entonces procedió a codificar los datos 1890 de censo sobre las tarjetas de sacador que él hizo los mismos tamaños como las cajas para la moneda de los E. (La cuenta de dólar fue reducida la talla más adelante.)

Los primeros códigos de computadora fueron especializados para los usos. En las primeras décadas del vigésimo siglo, los cálculos numéricos fueron basados en números decimales. Fue observado eventual que la lógica se podría representar con números, así como con palabras. Por ejemplo, la iglesia de Alonzo podía expresar el cálculo de la lambda del en una manera formulista. La máquina de Turing era una abstracción de la operación de una máquina de la grabar-marca, por ejemplo, funcionando en las compañías telefónicas. Sin embargo, desemejante del cálculo de la lambda, el código de Turing no sirve bien como base para el &mdash de las idiomas de alto nivel; su uso principal está en análisis rigurosos de la complejidad algorítmica .

Como muchos " firsts" en historia, el primer lenguaje de programación moderno es duro de identificar. Del comienzo, las restricciones del hardware definieron la lengua. Las tarjetas de sacador permitieron 80 columnas, pero algunas de las columnas tuvieron que ser utilizadas para un número de clasificación en cada tarjeta. El FORTRAN incluyó algunas palabras claves que eran iguales que palabras inglesas, tales como " IF", " GOTO" (ir) y " CONTINUE". El uso de un tambor magnético para la memoria significó que los programas de computadora también tuvieron que ser interpolados con las rotaciones del tambor. Así los programas eran más dependiente del hardware que hoy.

Alguna gente la respuesta depende de cuánto energía y humano-legibilidad se requiere antes del estado del " language" programado; se concede. Telares de telar jacquar y motor de diferencia de s de Babbage Charles el ' ambos tenía idiomas simples, extremadamente limitadas para describir las acciones que estas máquinas deben realizar. Uno puede incluso mirar los agujeros de sacador en una voluta del piano de jugador como lenguaje de programación Domain-specific limitado, no obstante no diseñado para la consumición humana.

Los años 40

En los años 40 las primeras computadoras reconocible modernas, eléctricamente accionadas fueron creadas. La capacidad limitada de la velocidad y de memoria forzó a programadores a escribir a templado mano programas de lenguaje de ensamblaje de . Pronto fue descubierto que la programación en de lenguaje de ensamblaje requirió mucho de esfuerzo intelectual y era error-prone.

En 1948, Conrado Zuse publicó un papel sobre su de programación Plankalkül del lenguaje. Sin embargo, no fue ejecutado en su tiempo y sus contribuciones originales fueron aisladas de otros progresos.

Algunas idiomas importantes que fueron desarrolladas en este período incluyen:
1943 - Plankalkül ( Conrado Zuse )
1943 - sistema de codificación ENIAC
1949 - C-10

Los años 50 y los años 60

En los años 50 los primeros tres lenguajes de programación modernos cuyos descendientes todavía están en uso extenso hoy fueron diseñados:
FORTRAN, el " PARA el slator del TRAN de Mula, inventado por el Juan W. Backus y otros;
Lisp, el " Rocessor" del P del LIS t del ;, inventado por el Juan McCarthy y otros;
El COBOL, el O del usiness del B del mmon del CO riented el L anguage de, creado por el comité de corto alcance, influenciado pesadamente por la tolva de la tolerancia.

Otro jalón en el a finales de la década de 1950 era la publicación, por un comité de los informáticos americanos y europeos, del " una nueva lengua para el algorithms" ; el informe (el " del ALGOL 60 ; rithmic L anguage" del ALGO de ;). Este informe consolidó muchas ideas que circulaban en ese entonces y ofreció dos innovaciones dominantes:
El uso de la forma (BNF) de Backus-Naur para describir el sintaxis de la lengua. Casi todos los lenguajes de programación subsecuentes han utilizado una variante de BNF para describir la porción sin contexto de su sintaxis.
La introducción del scoping léxico para los nombres en alcances arbitrariamente jerarquizados.

El ALGOL 60 era particularmente influyente en el diseño de idiomas posteriores, algunas cuyo pronto llegó a ser más popular. Los sistemas grandes de Burroughs fueron diseñados para ser programados en un subconjunto extendido de ALGOL.

Algunas idiomas importantes que fueron desarrolladas en este período incluyen:
1951 - de lenguaje de ensamblaje regional
1952 - código automático
1954 - FORTRAN
1958 - lisp
1958 - ALGOL 58
1959 - COBOL
1962 - APL
1962 - Simula
1964 - BASIC
1964 - PL/I

1967-1978: establecimiento de paradigmas fundamentales

El período del finales de los sesenta al final de los 70 trajo un florecimiento del comandante de lenguajes de programación. La mayor parte de los paradigmas principales de la lengua ahora funcionando fueron inventados en este período:
el Simula, inventado en el finales de los sesenta por el Nygaard y el Dahl como sobreconjunto de ALGOL 60, era la primera lengua diseñada para apoyar la programación orientada al objeto .
el palique (mediados de los años setenta) del proporcionó un diseño completo de la tierra-para arriba de una lengua orientada al objeto.
el C, una lengua temprana del de la programación de sistemas, fue desarrollado por el Dennis Ritchie y el Ken Thompson en los laboratorios de Bell entre el 1969 y el 1973 .
el prólogo del, diseñado en el 1972 por el Colmerauer, el Roussel, y el Kowalski, era la primera lengua de la programación de lógica .
el ml construyó un tipo polimórfico sistema (inventado por el petirrojo Milner en el 1973 ) encima de balbucea, iniciando el estáticamente mecanografiado las idiomas de la programación funcional . Cada uno de estas idiomas frezó a familia entera de descendientes, y la mayoría de las idiomas modernas cuentan por lo menos a uno de ellos en su ascendencia.

Los años 60 y los años 70 también consideraron el considerable discusión sobre los méritos del " " de la programación estructurada ;, que esencialmente significó la programación sin el uso INDICADO. Este discusión era estrechamente vinculado al diseño de la lengua: algunas idiomas no incluyeron INDICADO, que forzaron la programación estructurada en el programador. Aunque rabiara el discusión caliente en ese entonces, casi todos los programadores ahora convienen que, incluso en las idiomas que proporcionan INDICADO, es el mán estilo para utilizarlo excepto en circunstancias raras. Consecuentemente, generaciones posteriores de diseñadores de la lengua han encontrado el discusión de la programación estructurada aburrido e incluso desconcertante.

Algunas idiomas importantes que fueron desarrolladas en este período incluyen:
1970 - Pascal
1970 - adelante
1972 - C
1972 - palique
1972 - prólogo
1973 - ml
1978 - SQL

Los años 80: consolidación, módulos, funcionamiento

Los años 80 eran años de consolidación relativa. El C++ combinó la programación orientada al objeto y de sistemas. El Gobierno de los Estados Unidos estandardizó a Ada, un lenguaje el de programación de sistemas previsto para uso de los contratistas del Ministerio de Defensa. En Japón y a otra parte, las sumas extensas estuvieron pasadas que investigaban el " supuesto; quinto generation" las idiomas que incorporaron programación de lógica construyen. La comunidad de idiomas funcional se movió para estandardizar el ml y para balbucear. Algo que inventando nuevos paradigmas, todos estos movimientos elaboraron sobre las ideas inventadas en la década anterior.

Sin embargo, una nueva tendencia importante en diseño de la lengua era un foco creciente en la programación para los sistemas en grande con el uso de los módulos del, o unidades de organización en grande de código. El Modula, Ada, y ml todo desarrolló sistemas notables del módulo en los años 80. Los sistemas del módulo wedded a menudo a las construcciones programadas genéricas ---productos genéricos que son, esencialmente, módulos dados parámetros (véase también el polimorfismo paramétrico ).

Aunque sea principal los nuevos paradigmas para los lenguajes de programación no aparecieran, muchos investigadores ampliados en las ideas de idiomas anteriores y adaptados les a los nuevos contextos. Por ejemplo, las idiomas de los sistemas esmeralda Argus y adaptaron la programación orientada al objeto a los sistemas distribuidos .

Los años 80 también trajeron avances en la puesta en práctica de programación del lenguaje. El movimiento del RISC en la arquitectura de computadora postuló que el hardware se debe diseñar para los recopiladores algo que para los programadores humanos de la asamblea. Ayudado por las mejoras de la velocidad del procesador que permitieron técnicas cada vez más agresivas de la compilación, el movimiento del RISC chispeó mayor interés en la tecnología de la compilación para los idiomas de alto nivel.

La tecnología de lengua continuó a lo largo de estas líneas bien en los años 90. ¡adopción de idiomas ha sido conducida siempre por la adopción de los nuevos sistemas informáticos, y en el mediados de los 90 uno de los nuevos sistemas más importantes de la historia de la computadora estallada repentinamente en renombre. -->

Algunas idiomas importantes que fueron desarrolladas en este período incluyen:
1983 - Ada
1983 - C++
1985 - Eiffel
1987 - Perl
1989 - la Florida (Backus)

Los años 90: la edad del Internet

El crecimiento rápido del Internet en el mediados de los 90 era el acontecimiento histórico principal siguiente en lenguajes de programación. Abriendo radical una nueva plataforma para los sistemas informáticos, el Internet creó una oportunidad para que las nuevas idiomas sean adoptadas. Particularmente, el lenguaje de programación de Java se levantó al renombre debido a su integración temprana con el web browser de Netscape Navigator, y las idiomas Scripting del vario alcanzaron uso extenso en desarrollar los usos modificados para requisitos particulares para los web server que ni unos ni otros de estos progresos representaron mucha novedad fundamental en diseño de la lengua; por ejemplo, el diseño de Java era una versión más conservadora de las ideas exploradas muchos años anterior en la comunidad del palique, pero la adopción extensa de las idiomas que apoyaron características como la colección de basura y el fuerte que mecanografiaba estático era un cambio importante en práctica programada.

Algunas idiomas importantes que fueron desarrolladas en este período incluyen:
1990 - Haskell
1990 - pitón
1991 - Java
1993 - rubí
1995 - PHP
2000 - C#

Tendencias actuales

La evolución de programación del lenguaje continúa, en industria y la investigación. Algunas direcciones actuales:
Mecanismos para agregar seguridad y la verificación de la confiabilidad a la lengua: comprobación estática extendida, control de flujo de información, seguridad estática del hilo de rosca.
Mecanismos alternativos para la modularidad: El de Mixins delega, aspectos .
desarrollo de programas Componente-orientado.
Metaprogramming, reflexión o acceso al árbol de abstract syntax
Énfasis creciente en la distribución y la movilidad.
Integración con las bases de datos, incluyendo el XML y las bases de datis relacionales .
Open Source como filosofía de desarrollo para las idiomas, incluyendo la colección del recopilador del GNU e idiomas recientes tales como pitón, rubí, y chirrido .
Ayuda para el Unicode para no restringir el código fuente (texto del programa) a esos carácteres contenidos en el juego de caracteres ASCII ; permitiendo, por ejemplo, uso non- latino - escrituras basadas o puntuación ampliada.

  • Zenithic
  • RSL Queensland
    Random links:137 | Acción global de la gente | Las ciudades misteriosas del oro | Honda S600

  • © 2007-2008 enciclopediaespana.com; article text available under the terms of GFDL, from en.wikipedia.org
    ="http://pagead2.googlesyndication.com/pagead/show_ads.js">