Anda di halaman 1dari 12

http://www.monografias.com/trabajos99/historia-y-definicion-lenguajesprogramacion/historia-y-definicion-lenguajes-programacion.

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.

Edsger. W. Dijkstra. El Programista Humilde.


La Conferencia del Premio de Turing, Comunicaciones del ACM, Vol 15, No. 10 (el octubre 19

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...

Uno de las llaves a programar exitoso son el concepto de la abstraccin. La abstraccin es l


construccin sistemas complejos de software. Como el tamao de nuestros problemas crec
para la abstraccin dramticamente aumentos. En sistemas sencillos, caracterstica de idio
el 1950s y '60s, un solo programista podra entender el problema entero, y por lo tanto man
estructuras del programa y datos. Los programistas son hoy incapaces de entender todos lo
los datos - es apenas demasiado grande. La abstraccin se requiere a permitir que el progra
agarrar los conceptos necesarios.

La mayora de los libros y el reglamento en la historia de programar los idiomas tienden a d


idiomas en trminos de generaciones. Esto es un arreglo til para clasificar los idiomas por
Tabla de contenidos
1. Primera Generacin.
2. Segunda Generacin.
3. Tercera Generacin.
4. Cuarta Generacin.
5. Quinta Generacin.
6. Lenguajes de programacin ms importantes.

Primera Generacin

Al desarrollarse las primeras computadoras electrnicas, se vio la necesidad de programarl


almacenar en memoria la informacin sobre la tarea que iban a ejecutar. Las primeras se u
calculadoras simples; se les indicaban los pasos de clculo, uno por uno.

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,

va a trabajar el programa; o bien, el programa en s.

Cmo es que describimos un programa como nmeros? Se tena el problema de represent


que iba a realizar la computadora, y que la memoria, al estar compuesta por switches corre
concepto de bit, solamente nos permita almacenar nmeros binarios.

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.

Supongamos que queremos realizar la operacin 5 * 3 + 2, en la calculadora descrita arriba


podramos escribir el programa de la siguiente forma:

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.

La descripcin y uso de los opcodes es lo que llamamos lenguaje de mquina. Es decir, la


cdigos que la mquina va a interpretar como instrucciones, describe las capacidades de p
que tenemos de ella; es el lenguaje ms primitivo, depende directamente del hardware, y r
programador que conozca el funcionamiento de la mquina al ms bajo nivel.

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.

La programacin en esos momentos era sumamente tediosa, pues el programador tena qu


nivel de la mquina y decirle, paso a pasito, cada punto de la tarea que tena que realizar. A
expresarlo en forma numrica; y por supuesto, este proceso era propenso a errores, con lo
productividad del programador era muy limitada. Sin embargo, hay que recordar que en es
simplemente an no exista alternativa.

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.

Ejemplo ensamblador: Hola Mundo!

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.

Ejemplo C: Hola Mundo!

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).

Ejemplo: Lenguaje orientado a objetos: 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

Lo que veremos en el futuro es menos dependencia en el idioma, y ms en el modelando h


tal como el Unificado Modelando el Idioma (UML). La salida del modelando herramienta pro
de nuestro cdigo para nosotros; en el muy menos, producir arquitectnico y los modelos
estructura de nuestro cdigo. Esto producir un diseo (y posiblemente cdigo) eso puede
por el cliente antes de completar la implementacin y probar. Cuando los problemas diarios
resolvemos llegan a ser ms grande, nosotros tenemos cada vez menos tiempo volver a h
cdigo. Los das de decir, acabamos de escribir una versin de Beta y el cliente entonces p
nosotros lo que ellos quieren realmente, son pasados. Las organizaciones que fallan de ob
y corrige los requisitos de cliente antes de escribir el cdigo saldr del negocio. Por qu? P
demasiado largo, y cuesta tambin mucho, para escribir cdigo dos o ms vez. Las organiz
tienen un compromiso a la comprobacin y la validacin antes de producir cdigo prospera
fallarn.

Lenguajes de programacin ms importantes.


Algunos de los lenguajes de programacin ms importantes por ao son:

1943 - Plankalkl (Konrad Zuse)

1943 - ENIAC

1949 - C-10

1951 - Regional Assembly Language

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

1974 - Comandos Guardados

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.

En 1972, Dennis Ritchie, toma el relevo y modifica el lenguaje B, creando el


lenguaje C y reescribiendo el UNIX en dicho lenguaje. La novedad que
proporcion el lenguaje C sobre el B fue el diseo de tipos y estructuras de
datos.
Una de las peculiaridades de C es su riqueza de operadores, Puede decirse
que prcticamente dispone de un operador para cada una de las posibles
operaciones en cdigo mquina.
Finalmente, C, que ha sido pensado para ser altamente transportable y para
programar lo improgramable, igual que otros lenguajes tiene sus
inconvenientes:

Carece de instrucciones de entrada/salida, de instrucciones para


manejo de cadenas de caracteres, con lo que este trabajo queda para
la biblioteca de rutinas, con la consiguiente prdida de
transportabilidad

La excesiva libertad en la escritura de los programas puede llevar a


errores en la programcin que, por ser correctos sintcticamente no
se detectan a simple vista

Por otra parte las precedencias de los operadores convierten a veces


las expresiones en pequeos rompecabezas.

A pesar de todo, C ha demostrado ser un lenguaje extremadamente eficaz y


expresivo.
C es un lenguaje de programacin de propsito general. Sus principales
caractersticas son:

Programacin estructurada

Economa de las expresiones

Abundancia en operadores y tipos de datos.

Codificacin en alto y bajo nivel simultneamente.

Reemplaza ventajosamente la programacin en ensamblador


(assembler).

Utilizacin natural de las funciones primitivas del sistema.

No est orientado a ningn rea en especial.

Produccin de cdigo objeto altamente optimizado.

De C naci C++ ya definida en 1983 para la mejora del lenguaje.

La historia de los lenguajes de


programacin

El lenguaje de programacin es definido como un idioma artificial,


formado por smbolos y reglas sintcticas y semnticas, para expresar
computaciones y que pueden usarse para crear programas que controlen el
comportamiento de una mquina, expresar algoritmos con precisin, o
como modo de comunicacin humana.
En este blog han publicado una interesante infografa sobre la historia de
estos lenguajes, desde 1957 hasta el ao 2005. Parece que, entre los
numerosos lenguajes de programacin que existen hoy en da, los ms
populares son Java, C y C++ (datos del ao 2005).
1 Fortran (1957)
FORmulaTRANslation es el lenguaje de programacin ms antiguo y que
contina en uso. Creada por John Backus, esta herramienta fue desarrollada
para la computacin cientfica de alto nivel, matemticas y estadsticas.
A da de hoy, este lenguaje se sigue usando en la industria automovilstica,
aeroespacial, gubernamental y la investigacin. Por ejemplo, es muy til
para el pronstico de los servicios meteorolgicos.
2 Cobol (1959)
El Common Business Oriented Language est detrs de la mayora de los
sistemas de transacciones de negocio de los procesos de las tarjetas de
crdito, ATMs (Modo de Transferencia Asncrona), telefona, sistemas
hospitalarios, gobierno, sistemas automatizados y seales de trfico.
El desarrollo de Cobol, creado por Grace Murray Hopper, muestra un
lenguaje familiar y uniforme para transacciones empresariales. Por ejemplo,
lo usan en el servicio postal estadounidense.

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.

Hoy en da, Java est presente en ms de 1.000 millones de PCs de todo el


mundo y muchas websites no pueden funcionar sin ella. Fue utilizada en
2004 en la misin de la NASA Mars Rovers.
12 Javascript (1995)
Java y Javascript no estn relacionados y tienen muy diferente semntica,
aunque no lo parezca. Javascript fue desarrollada por Brendan Eich, de
Netscape, bajo el nombre de Mocha. Tiene influencia del lenguaje C. Hoy en
da es usado en servicios como node.js. De l depende AJAX.
13 Ruby On Rails (2005)
Fue extrado por David Heinemeier Hansson de su trabajo en Basecamp, un
proyecto dirigido por 37 seales. Hasson lanz Ruby On Rails, en principio,
como cdigo abierto, en 2004, pero no comparti los derechos hasta febrero
de 2005. Ahora est en su versin 3.0.7 y tiene ms de 1.800 contribuyen

Anda mungkin juga menyukai