Está en la página 1de 9

UNIVERSIDAD CATOLICA DE HONDURAS

NUESTRA SEÑORA REINA DE LA PAZ


CAMPUS GLOBAL

CATEDRATICO
ING. Cristiam Alexander Diaz Ramos

ALUMNA
Bivian Lisbeth Nuñez Ordoñez

ASIGNATURA
Algoritmos Y Lenguajes De Programacion

ASIGNACION
Historia Y Evolución De Los Lenguajes De Programación

FECHA DE ENTREGA
Jueves 20 de enero de 2022
ANTES DE 1940
Los primeros lenguajes de programación preceden a la computadora moderna. En
un inicio loslenguajes eran códigos.La máquina del telar de Jacquard, creada en
1801, utilizaba los orificios en tarjetas perforadas pararepresentar los movimientos
de un brazo de la máquina de tejer, con el objetivo de generar patronesdecorativos
automáticamente.Durante un período de nueve meses entre 1842 y 1843, Ada
Lovelace tradujo las memorias delmatemático italiano Luigi Menabrea acerca de la
nueva máquina propuesta por Charles Babbage, laMáquina Analítica. Con estos
escritos, ella añadió unas notas en las cuales especificaba en detalle unmétodo
para calcular los números de Bernoulli con esta máquina, el cual es reconocido
por muchoshistoriadores como el primer programa de computadora del
mundo.Herman Hollerith se percató de que podía codificar la información en
tarjetas perforadas cuandoobservó a los conductores de trenes codificar la
apariencia de los tickets del tren con la posición de losagujeros perforados en
estos. En 1890 Hollerith codificó los datos del censo en tarjetas perforadas.Los
primeros códigos de computadora estaban especializados según sus aplicaciones.
En las primerasdécadas del siglo 20, los cálculos numéricos estaban basados en
los números decimales. Eventualmentese fueron dando cuenta que la lógica podía
ser representada con números, no sólo con palabras. Porejemplo, Alonzo Church
fue capaz de expresar el cálculo lambda a través de fórmulas. La máquina
deTuring estableció las bases para almacenar programas como datos en la
arquitectura de von Neuman deuna computadora. Sin embargo, a diferencia del
cálculo lambda, el código de Turing no serviríasatisfactoriamente como base para
lenguajes de más alto nivel- su principal uso es en el análisisriguroso en la
complejidad algorítmica.Como muchos “primeros” en la historia, el primer lenguaje
de programación moderno es difícil deidentificar. Desde un inicio, las restricciones
de hardware definían el lenguaje. Las tarjetas perforadaspermití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 programasinformáticos tuvieran que estar intercalados
con las rotaciones del tambor. Por lo tanto los programaseran muy dependientes
del hardware.Para algunas personas, lo que sería el primer lenguaje de
programación moderno depende de cuántopoder y legibilidad humana se requería
antes de que se concediera el estado de "lenguaje deprogramación". Tanto el telar
de Jacquard como la Máquina Diferencial de Babbage, tenían lenguajesmuy
simples y extremadamente limitados para describir las acciones que estas
máquinas realizaran. Sepuede incluso considerar los agujeros perforados en los
rollos de pianola como un limitado lenguaje dedominio específico, a pesar de no
estar diseñado para el consumo humano.
LOS AÑOS 40
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, enlenguaje ensamblador muy afinados.
Finalmente se dieron cuenta de que la programación en lenguajeensamblador
requería de un gran esfuerzo intelectual y era muy propensa a errores.En 1948,
Konrad Zuse publicó un artículo acerca de su lenguaje de programación
Plankalkül. Sinembargo, no fue implementado en su vida y sus contribuciones
fueron aisladas de otros desarrollos.Entre algunos lenguajes importantes que
fueron desarrollados en este período se encuentran:
1943 - Plankalkül (Konrad Zuse), diseñado, pero sin implementar
durante medio siglo
1943 - el sistema de codificación ENIAC.
1949 - 1954 -- una serie de conjuntos de instrucciones nemotécnicas,
como la de ENIAC, comenzandoen 1949 con C-10 para BINAC (que
luego evolucionaría en UNIVAC). Cada conjunto de instruccionesestaba
destinado a un fabricante específico.

Las Décadas De 1950 Y 1960


En los cincuenta, los tres primeros lenguajes de programación modernos, cuyos
descendientes aúncontinúan siendo utilizados, son:
FORTRAN (1955), creado por John Backus et al.;
LISP (1958), creado por John McCarthy et al.;
COBOL (1959), creado por el Short Range Committee, altamente
influenciado por Grace Hopper.Otro hito a finales de 1950 fue la
publicación, por un comité Americano y Europeo de científicos de
lacomputación, de un nuevo “lenguaje para algoritmos”; el Reporte
deALGOL 60 ("ALGOrithmicLanguage"). Este reporte consolidó muchas
ideas que estaban circulando en aquel entonces, yproporcionó dos
innovaciones importantes para los lenguajes de programación:
Estructuras de bloques anidadas: las secuencias de código y las
declaraciones asociadas se puedenagrupar en bloques sin tener que
pertenecer explícitamente a procedimientos separados;
Ámbito léxico: un bloque puede tener sus propias variables, procedimientos
y funciones, invisible alcódigo fuera de dicho bloque, por ejemplo,
ocultamiento de información.Otra innovación, relacionada con esto, fue
cómo el lenguaje fue descrito:
Una notación matemática exacta, Backus-Naur Form (BNF), fue
utilizada para describir la sintaxis dellenguaje. Todos los subsecuentes
lenguajes de programación han utilizado una variante de BNF
paradescribir la porción libre del contexto de su sintaxis.Algol 60
influenció particularmente en el diseño de lenguajes posteriores, de los
cuales algunos se hicieron más populares. Los grandes sistemas de
Burroughs fueron diseñados para ser programados enun subconjunto
extendido de Algol.Las ideas fundamentales de Algol se continuaron,
produciendo Algol 68:
La sintaxis y la semántica se hizo aún más ortogonal, con rutinas
anónimas, un sistema de tipificaciónrecursiva con funciones de orden
superior, etc.;
Y no sólo la parte libre del contexto, sino que tanto la sintaxis como la
semántica del lenguajecompleto fueron definidos formalmente, en
términos de una gramática de Van Wijngaarden, unformalismo diseñado
específicamente para este propósito.Las variadas pero poco usadas
características de Algol 68 (por ejemplo, bloques simultáneos
yparalelos) y su complejo sistema de atajos sintácticos y coerciones
automáticas de tipo lo hicieronimpopular entre los ejecutores y se ganó
una reputación de ser difícil. Niklaus Wirth salió del comité dediseño
para crear el sencillo lenguajePascal.Algunos de los lenguajes
importantes que fueron desarrollados en este período incluyen:
1951 - Regional Assembly 1959 - FACT (precursor de
Language COBOL)
1952 - Autocode 1959 - COBOL
1954 - IPL (precursor de LISP) 1959 - RPG
1955 - FLOW-MATIC 1962 - APL
(precursor de COBOL) 1962 - Simula
1957 - FORTRAN (primer 1962 - SNOBOL
compilador) 1963 - CPL (precursor de C)
1957 - COMTRAN (precursor 1964 - BASIC
de COBOL) 1964 - PL/I
1958 - LISP 1967 - BCPL (precursor de C)
1958 - ALGOL 58

1968-1979: Estableciendo Paradigmas Fundamentales


El período comprendido entre finales de 1960 y finales de 1970 trajo un gran
florecimiento delenguajes de programación. La mayoría de los paradigmas de
lenguajes de programación másimportantes y actualmente en uso se inventaron
en este período:
Simula, inventado en la década de 1960 por Nygaard y Dahl como un
superconjunto de Algol 60, fueel primer lenguaje diseñado para apoyar la
programación orientada a objetos.
C, en principio un lenguaje de programación sistemas, fue desarrollado por
Dennis Ritchie y KenThompson en los Laboratorios Bell entre 1969 y 1973.
Smalltalk (mediados de los 70) proporcionaron un completo diseño de un
lenguaje orientado a objetos.
Prolog, diseñado en 1972 por Colmerauer, Roussel y Kowalski, fue el
primer lenguaje deprogramación lógica.
ML construyó un sistema de tipos polimórfico (inventado por Robin Milner
en 1973) en el tope deLisp, pionero en los lenguajes funcionales de
programación con tipado estático.Cada uno de estos lenguajes generó toda
una familia de descendientes, y los lenguajes más modernoscuentan al
menos uno de ellos en su ascendencia.En los años 60 y 70 también suscitó
un debate considerable sobre los méritos de la "programaciónestructurada",
que esencialmente significaba programación sin el uso deGOTO. Este
debate estabaestrechamente relacionado con el diseño del lenguaje:
algunos lenguajes no incluían GOTO, lo queobligó a la programación
estructurada en el programador. Aunque el debate se
recrudecíaacaloradamente en ese momento, casi todos los programadores
están de acuerdo en que, incluso enlenguajes que ofrecen GOTO, es una
mala práctica de programación usarlo, excepto en rarascircunstancias.
Como resultado de ello, las generaciones posteriores de diseñadores de
lenguajes hanencontrado el debate sobre programación estructurada
tedioso e incluso desconcertante.Algunos lenguajes importantes que se
desarrollaron en este período fueron:
1968 - Logo 1973 - ML
1969 - B (precursor C) 1975 - Scheme
970 - Pascal 1978 - SQL (inicialmente sólo
1970 - Forth un lenguaje de consulta,
1972 - C posteriormente ampliado con
1972 - Smalltalk construccionesde
1972 - Prolog programación)

La Década De 1980: Consolidación, Módulos,Rendimiento


La década de 1980 fueron años de consolidación relativa en los lenguajes
imperativos. En vez deinventar nuevos paradigmas, se comenzó a trabajar a partir
de las ideas inventadas en la décadaanterior. C++ combinaba la programación
orientada a objetos y la programación de sistemas. Elgobierno de Estados Unidos
estandarizó Ada, un lenguaje de programación de sistemas destinado a
serutilizado por contratistas de defensa. En Japón y en otras partes, se gastaron
enormes sumasinvestigando los llamados lenguajes de programación de quinta
generación que incorporabanconstrucciones de la programación lógica. La
comunidad de los lenguajes funcionales llevaron a cabola estandarización de ML y
Lisp. La investigación en Miranda, un lenguaje funcional, con evaluaciónperezosa,
comenzó a tomar fuerza en esta década.Una nueva tendencia importante en el
diseño de lenguajes era un mayor enfoque en la programación desistemas a gran
escala a través del uso de módulos, una organización a gran escala de unidades
decódigo. Modula, Ada, y ML desarrollaron sistemas de módulos notables en la
década de 1980. Lossistemas de módulos eran relacionados con frecuencia con
construcciones de programación genéricas,que serían, en esencia, módulos
parametrizados (véase también polimorfismo en programaciónorientada a
objetos).Aunque no aparecían nuevos paradigmas de lenguajes de programación
imperativos, muchosinvestigadores expandieron las ideas de los lenguajes
anteriores y las adaptaron a nuevos contextos. Porejemplo, los lenguajes de los
sistemas Argus y Emerald adaptaron la programación orientada a objetospara
sistemas distribuidos.La década de 1980 también trajo avances en la
implementación de lenguajes de programación. Elmovimiento de RISC en la
arquitectura de computadoras postulaba que el hardware debía estardiseñado
para los compiladores más que para los programadores de ensamblador
humanos. Con laayuda de las mejoras en la velocidad del procesador, permitiendo
técnicas de compilación cada vez másagresivas, el movimiento RISC despertó un
mayor interés en la tecnología de compilación de loslenguajes de alto nivel.Las
tecnologías de los lenguajes continuaron sobre estas líneas entrando en la década
de 1990.Algunos lenguajes importantes que se desarrollaron en este período son:
1980 - C++ (C con clases, el 1986 - Objective-C
nombre cambió en julio de 1986 - Erlang
1983) 1987 - Perl
1983 - Ada 1988 - Tcl
1984 - Common Lisp 1988 - Mathematica
1984 - MATLAB 1989 - FL (Backus);
1985 - Eiffel

La Década De 1990: La Era De Internet


El rápido crecimiento de Internet en la década de 1990 fue el siguiente gran
acontecimiento históricopara los lenguajes de programación. Con la apertura de
una plataforma totalmente nueva para lossistemas informáticos, Internet creó una
oportunidad adoptar nuevos lenguajes. En particular, ellenguaje de programación
Java se hizo popular debido a su pronta integración con el navegador
webNetscape Navigator, y varios lenguajes de scripting alcanzaron un amplio uso
en el desarrollo deaplicaciones personalizadas para servidores web. La década de
1990 no vio ninguna novedadfundamental en los lenguajes imperativos, pero sí
mucha recombinación y la maduración de viejasideas. Esta era comenzó la
difusión de los lenguajes funcionales. Una filosofía de conducción grandeera la
productividad del programador. Surgieron muchos lenguajes de “aplicaciones de
desarrollorápido” (RAD), los cuales usualmente venían con un IDE, recolector de
basura, y eran descendientes delenguajes anteriores. Todos estos lenguajes eran
orientados a objeto. Estos incluían Object Pascal,Visual Basic y Java. Java, en
particular, recibió mucha atención. Pero más radicales e innovadores quelos
lenguajes de RAD eran los nuevos lenguajes de script. Estos no descendían
directamente de otroslenguajes y ofrecieron nuevas sintaxis e incorporación más
liberal de otras características. Muchosconsideran estos lenguajes de script más
productivos que los lenguajes de RAD, aunque esto se debe amenudo a que es
más difícil escribir y mantener largos programas que pequeños programas
simples.Sin embargo, no es menos cierto que los programas de script llegaron
para convertirse en los másprominentes en la conexión con la Web.Algunos
lenguajes importantes que se desarrollaron en este período son:
1990 - Haskell 1995 - Java
1991 – Python 1995 - Delphi (Object Pascal)
1991 - Visual Basic 1995 - JavaScript
1991 - HTML (lenguaje de 1995 - PHP
marcado de hipertexto) 1996 - WebDNA
1993 - Ruby 1997 - Rebol
1993 - Lua 1999 - D
1994 - CLOS (parte del ANSI
Common Lisp)

Tendencias Actuales
La evolución de los lenguajes de programación continúa, tanto en la
industria como en investigación.Algunas de las tendencias actuales
incluyen:
Aumentar el soporte para la programación funcional en lenguajes
importantes utilizadoscomercialmente, incluida la programación funcional
pura para hacer el código más fácil de razonar y deparalelizar (tanto en
macro como en micro-niveles).
Construir lenguajes para apoyar la programación concurrente y distribuida.
Mecanismos para añadir al lenguaje verificación en cuanto a seguridad y
confiabilidad: chequeosintáctico extendido, control de flujo de información,
seguridad de hilos.
Mecanismos alternativos de modularidad: mixins, delegados, aspectos.
Desarrollo de software orientado a componentes.
Metaprogramación, la reflexión o el acceso al árbol de sintaxis abstracta.
Mayor énfasis en cuanto a distribución y movilidad.
Integración con bases de datos, incluyendo XML y bases de datos
relacionales.
Soporte para Unicode para que el código fuente (texto del programa) no se
limite sólo a los caracterescontenidos en el conjunto de caracteres ASCII,
permitiendo, por ejemplo, el uso de caracteres nolatinos basados en
guiones o signos de puntuación extendidos
XML para interfaz gráfica (XUL, XAML).
El código abierto como una filosofía de desarrollo de lenguajes, incluyendo
la colección decompiladores de GNU y lenguajes recientes, como Python,
Ruby, y Squeak.
Programación Orientada a Aspectos (AOP).
Lenguajes que soporten programar sobre los procesadores de la GPU en
paralelo, como OpenCL.Algunos lenguajes importantes desarrollados
durante este período incluyen:
2000 - ActionScript 2003 - Scala
2001 - C# 2003 - Factor
2001 - Visual Basic .NET 2007 - Clojure
2002 - F# 2009 - Go
2003 - Groovy 2011 - Dart

Personas Destacadas En La Historia De Los Lenguajes


Deprogramación
Joe Armstrong, creador de Erlang.
John Backus, inventor de Fortran.

Personas Destacadas En La Historia De Los Lenguajes


Deprogramación
Joe Armstrong, creador de Erlang.
John Backus, inventor de Fortran.
Alan Cooper, desarrollador de Visual Basic.
Edsger W. Dijkstra, desarrolló la estructura para la programación
estructurada.
James Gosling, desarrollador de Oak, precursor de Java.
Anders Hejlsberg, desarrollador de Turbo Pascal, Delphi y C#.
Grace Hopper, desarrolladora de Flow-Matic, influenciando el lenguaje
COBOL.
Kenneth E. Iverson, desarrollador de APL, y co-desarrollador de J junto a
Roger Hui.
Bill Joy, inventor de vi, autor de BSD Unix, creador de SunOS, el cual se
convirtió en Solaris.
Alan Kay, pionero en programación orientada a objetos, creador de
Smalltalk.
Brian Kernighan, coautor del primer libro de programación en lenguaje C
con Dennis Ritchie, ycoautor de los lenguajes de programación AWK y
AMPL.
Yukihiro Matsumoto, creador de Ruby.
John McCarthy, inventor de LISP.
Bertrand Meyer, inventor de Eiffel.
Robin Milner, inventor de ML, y compartió crédito en el método Hindley–
Milner de inferencia de tipopolimórfica.
John von Neumann, creador del concepto de sistema operativo.
Martin Odersky, creador de Scala, y previamente contribuyó en el diseño de
Java
Seymour Papert, pionero de la inteligencia artificial, inventor del lenguaje de
programación Logo en1968. .
Dennis Ritchie, inventor de C. Sistema Operativo Unix.
Nathaniel Rochester, inventor del primer lenguaje en ensamblador
simbólico (IBM 701).
Guido van Rossum, creador de Python.
Bjarne Stroustrup, desarrollador de C++.
Ken Thompson, inventor de B, desarrollador de Go, y coauthor del sistema
operativo Unix.
Larry Wall, creador de Perl y Perl 6.
Niklaus Wirth, inventor de Pascal, Modula y Oberon.
Stephen Wolfram, creador de Mathematica.

También podría gustarte