shtml
http://gplsi.dlsi.ua.es/~slujan/materiales/pi-cliente2-muestra.pdf
https://www.academia.edu/9141150/Historia_y_Antecedentes_de_la_progra
macion_Logica_y_funcional
https://unamer34.files.wordpress.com/2008/06/hlp.pdf
http://assets.mheducation.es/bcv/guide/capitulo/844814645X.pdf
https://rua.ua.es/dspace/bitstream/10045/19672/2/tema1.pdf
http://cmapspublic2.ihmc.us/rid=1NYF7SFGN-2BLVB8R2913/marina_aguilar_HistoriayTiposdeLenguajesdeProgramacion.
%20semana%203%20d.pdf
http://html.rincondelvago.com/lenguajes-de-programacion_historia-yevolucion.html
http://ocw.upm.es/ciencia-de-la-computacion-e-inteligenciaartificial/fundamentosprogramacion/otrosrecursos/brevehistoriainformatica.pdf
http://www.muycomputerpro.com/2011/08/26/historia-lenguajesprogramacion
http://www.acta.es/medios/articulos/informatica_y_computacion/034083.pdf
http://systemprogra1.blogspot.pe/p/antecedentes-de-c.html
http://www.it.uc3m.es/jvillena/irc/practicas/estudios/Lenguajes_de_Programa
cion.pdf
Historia de la programacin
Sobre los ltimos 50 aos, los idiomas que programan han evolucionado del cdigo binario
herramientas poderosas que crean las abstracciones complejas. Es importante entender po
idiomas han evolucionado, y qu capacidades que los idiomas ms nuevos nos dan.
Tan largo como no haba mquinas, programar era ningn problema; cuando tuvimos unos
computadoras dbiles, programar lleg a ser un problema templado y ahora que tenemos l
computadoras gigantescas, programar ha llegado a ser un problema igualmente gigantesco
sentido que la industria electrnica no ha resuelto un solo problema, tiene slo los cre - ha
problema de usar su producto.
E. W. Dijkstra habl estas palabras profticas casi hace 28 aos en su es la conferencia del
Turing. En aquel momento, el 'las computadoras gigantescas l radio de probablemente ten
128 kilobytes de la memoria verdadera, y a lo ms unos pocos megaoctetos de artefactos d
almacenamiento de acceso directo. Si l pens que el problema era gigantesco entonces...
Primera Generacin
John Von Neumann desarroll el modelo que lleva su nombre, para describir este concepto
almacenado. En este modelo, se tiene una abstraccin de la memoria como un conjunto d
almacenan simplemente nmeros. Estos nmeros pueden representar dos cosas: los datos,
La solucin que se tom fue la siguiente: a cada accin que sea capaz de realizar nuestra c
asociarle un nmero, que ser su cdigo de operacin (opcode). Por ejemplo, una calculado
programable simple podra asignar los opcodes:
1 = SUMA, 2 = RESTA, 3 = MULTIPLICA, 4 = DIVIDE.
Podemos ver que con esta representacin, es simple expresar las operaciones de las que e
hardware (en este caso, nuestra calculadora imaginaria), en la memoria.
Los lenguajes ms primitivos fueron los lenguajes de mquina. Esto, ya que el hardware se
antes del software, y adems cualquier software finalmente tiene que expresarse en el leng
maneja el hardware.
Segunda Generacin
El primer gran avance que se dio, como ya se coment, fue la abstraccin dada por el Leng
Ensamblador, y con l, el nacimiento de las primeras herramientas automticas para gene
mquina. Esto redujo los errores triviales, como poda ser el nmero que corresponda a una
que son sumamente engorrosos y difciles de detectar, pero fciles de cometer. Sin embarg
fcil para el programador perderse y cometer errores de lgica, pues debe bajar al nivel de
que trabaja el CPU, y entender bien todo lo que sucede dentro de l.
Tercera Generacin
Con el desarrollo en los 50s y 60s de algoritmos de ms elevado nivel, y el aumento de pod
hardware, empezaron a entrar al uso de computadoras cientficos de otras ramas; ellos con
de Fsica, Qumica y otras ramas similares, pero no de Computacin, y por supuesto, les era
complicado trabajar con lenguaje Ensamblador en vez de frmulas. As, naci el concepto d
Alto Nivel, con el primer compilador de FORTRAN (FORmula TRANslation), que, como su nom
inici como un simple esfuerzo de traducir un lenguaje de frmulas, al lenguaje ensambla
consiguiente al lenguaje de mquina. A partir de FORTRAN, se han desarrollado innumerabl
que siguen el mismo concepto: buscar la mayor abstraccin posible, y facilitar la vida al pro
aumentando la productividad, encargndose los compiladores o intrpretes de traducir el le
nivel, al lenguaje de computadora.
Hay que notar la existencia de lenguajes que combinan caractersticas de los de alto nivel y
nivel (es decir, Ensamblador). Mi ejemplo favorito es C: contiene estructuras de programaci
nivel, y la facilidad de usar libreras que tambin son caractersticas de alto nivel; sin emba
diseado con muy pocas instrucciones, las cuales son sumamente sencillas, fciles de tradu
de la mquina; y requiere de un entendimiento apropiado de cmo funciona la mquina, el
memoria, etctera. Por ello, muchas personas consideramos a lenguajes como C (que fue d
hacer sistemas operativos), lenguajes de nivel medio.
Cuarta Generacin
Los idiomas de la cuarta generacin parecen segn las instrucciones a las de la tercera gen
nuevo de estas lenguajes son conceptos como clases, objetos y eventos que permiten soluc
fciles y lgicos. Lenguajes como C++, java y C# se llaman lenguajes orientadas al objeto.
Los idiomas modernos, tal como C++ y Java, no slo permite las abstracciones, pero permit
implementacin impuesta de restricciones en abstracciones. La mayora de los idiomas mo
objetivas orientado, que permite que m modele el mundo verdadero que usa mi idioma. Ad
limitar el acceso para modelar las restricciones de mundo verdadero en datos. La llave es q
trmino mundo verdadero. Por la primera vez, yo modelo mi solucin en trminos del pro
que mi solucin sea orientado de problema, para que la solucin refleje el mundo verdadero
de estructuras de datos y acceso a los datos. Yo tambin puedo aplicar directamente y para
modelar objetos de mundo verdadero usando las clases (en C + + o Java).
Quinta Generacin
Como la quinta generacin estn conocidos los Lenguajes de inteligencia artificial. Han sido
valorados al principio de las noventa - mientras ahora el desarrollo de software toma otras
1943 - ENIAC
1949 - C-10
1952 - Autocode
1954 - FORTRAN
1958 - LISP
1958 - ALGOL
1959 - COBOL
1962 - APL
1962 - Simula
1964 - BASIC
1964 - PL/I
1966 - BCPL
1969 - B
1970 - Pascal
1972 - C
1972 - Smalltalk
1972 - Prolog
1973 - ML
1978 - SQL
1983 - Ada
1983 - C++
1985 - Eiffel
1987 - Perl
1989 - FL (Backus)
1990 - Haskell
1990 - Python
1991 - Java
1993 - Ruby
2000 - C#
2007 - UAP
ANTECEDENTES DE C++
C++ nace a partir de el lenguaje C , el cual naci en los Laboratorios Bell
de AT&T y ha sido estrechamente asociado con el Sistema Operativo UNIX,
ya que su desarrollo se realiz en este sistema y debido a que tanto UNIX
como el propio compilador de C y la casi totalidad de los programas y
herramientas de UNIX, fueron escritos en C. Su eficacia y claridad han hecho
que el lenguaje asembler apenas haya sido utilizado en UNIX.
Este lenguaje est inspirado en el lenguaje B escrito por Ken Thompson en
1970 con intencin de recodificar el UNIX, que en la fase de arranque esta
escrito en asembler, en vistas a su transportabilidad a otras mquinas. B
era un lenguaje evolucionado e independiente de la mquina, inspirado en
el lenguaje BCPL concedido por Martin Richard en 1967.
Programacin estructurada
3 Basic (1964)
Creado por estudiantes de Dartmouth College, el denominado Beginners All
Purpose Symbolic Instruction Code fue diseado como un lenguaje
simplificado para aquellos que no tenan como base fuertes conocimientos
tcnicos o matemticos. Una versin modificada, escrita por Bill Gates y
Paul Allen, lleg a ser el primer producto de Microsoft. Fue vendido al M.I.T.S.
para el Altair.
En 1977, fue integrado en el Apple II para su arranque.
4 C (1969)
Este lenguaje fue desarrollado entre 1969 y 1973 por Dennis Ritchie para los
laboratorios Bell Telephone para usarlos en el sistema Unix. Se le llam C
porque sus caractersticas derivaban de un lenguaje anterior llamado B.
C lleg a ser tan poderoso que la mayora del ncleo de Unix fue reescrito
con l. De hecho, hoy en da, Linux est todava basado en C.
5 Pascal (1970)
El lenguaje se llam as en honor de Blaise Pascal, el inventor de las
calculadoras matemticas, aunque su creador se llamaba Niklaus Wirth, y lo
desarroll como una herramienta de enseanza y formacin aunque tiene
un uso meramente comercial. Este lenguaje se usa en Skype.
6 C++ (1983)
En los laboratorios Bells, Bjarne Stroustrup modific el lenguaje C al C++,
creando lo que muchos consideran el lenguaje de programacin ms
popular que ha existido nunca. Adems, ha sido listado en lo alto de los top
ten de los lenguajes de programacin desde 1986 y archivado en el Hall of
Fame en 2003. Hoy en da es usado por Firefox, Office y Adobe PDF Reader.
7 Perl (1987)
Larry Wall, un programador Unix, cre Perl despus de intentar extraer
datos de un informe y darse cuenta que Unix no poda llevar a cabo las
operaciones que l necesitaba. Practical Extraction Report Language fue
descrito por su inventor como un lenguaje que consigue que hagas tu
trabajo. Actualmente es usado por Craigslist.
8 Python (1991)
Monty Python sirvi de inspiracin para nombrar este lenguaje. Guido Van
Rossum lo cre para solucionar problemas en el lenguaje ABC y contina
utilizndose para tal fin. Hoy en da es usado por la NASA, Google y YouTube.
9 Ruby (1993)
Fue creado por Yukihiro Matsumoto, conocido como Matz, y utilizando partes
de sus lenguajes de programacin favoritos: Perl, Smalltalk, Eiffel, Ada y
Lisp. Ahora es usado por Basecamp.
10 PHP (1995)
Rasmus Lerdoff desarroll PHP para reemplazar unos scripts de Perl usados
para mantener su web personal. Hoy en da, PHP ha crecido hasta llegar a
ser parte de una arquitectura web integrada en 20 millones de websites.
Facebook lo usa actualmente.
11 Java (1995)
Un grupo de trabajadores de Sun Microsystems, liderado por James Gosling,
cre Java para arrancar los decodificadores de una televisin interactiva.