Está en la página 1de 15

Lenguaje de programacin

INTRODUCCIN

Los ordenadores no hablan nuestro idioma, son maquinas y como tales,


necesitan un lenguaje especifico pensado por el hombre para ellas.
Adems, necesitan constantemente interpretar todas las instrucciones
que reciben. Dada la dificultad de comunicacin insalvable entre el
computador y el programador, pronto aparecieron lenguajes de
programacin que hacen posible la comunicacin con el
microprocesador, utilizando trminos y smbolos relacionados con el tipo
de problema que se debe resolver, mediante el empleo de herramientas
que brinda la informtica.

Estos lenguajes permiten, por un lado, escribir las operaciones que son
necesarias realizar para resolver el problema de un modo parecido a
como se escribira convencionalmente (es decir, redactar
adecuadamente el algoritmo de resolucin del problema) y, por el otro,
se encarga de traducir el algoritmo al lenguaje mquina (proceso
conocido como compilacin) con lo que se le confiere al programa la
capacidad de corre (ser ejecutado) en el ordenador. El ordenador es en
realidad tan slo una mquina virtual, capaz de resolver todos los
problemas que los usuarios seamos capaces de expresar mediante un
algoritmo (programa).

En la actualidad hay muchos tipos de lenguajes de programacin, cada


uno de ellos con su propia gramtica, su terminologa especial y una
sintaxis particular. Por ejemplo, existen algunos creados especialmente
para aplicaciones cientficas o matemticas generales (BASIC, FORTRAN,
PASCAL, etc. ); otros, en cambio, se orientan al campo empresarial y al
manejo de textos y ficheros, es decir, son en realidad fundamentalmente
gestores de informacin (COBOL, PL/1, etc. ), o muy relacionados con el
lenguaje mquina del ordenador (como el C y el ASSEMBLER).
Los ordenadores se programaban en lenguaje mquina pero las
dificultades que esto conllevaba, junto con la enorme facilidad de
cometer errores, cuya localizacin era larga y compleja, hicieron
concebir, en la dcada de los 40, la posibilidad de usar lenguajes
simblicos. Los primeros en aparecer fueron los ensambladores,
fundamentalmente consista en dar un nombre (mnemnico) a cada tipo
de instruccin y cada direccin (etiqueta). Al principio s hacia el
programa sobre papel y, despus se traduca a mano con la ayuda de
unas tablas, y se introducan en la mquina en forma numrica, pero
pronto aparecieron programas que se ensamblaban automticamente.

DEFINICIONES

Es complicado definir qu es y qu no es un lenguaje de programacin.


Se asume generalmente que la traduccin de las instrucciones a un
cdigo que comprende la computadora debe ser completamente
sistemtica. Normalmente es la computadora la que realiza la
traduccin.

A continuacin, voy a redactar unos serie de definiciones de los lenguajes


de programacin:

1 Un lenguaje de programacin es una notacin para escribir


programas, a travs de los cuales podemos comunicarnos con el
hardware y dar as las ordenes adecuadas para la realizacin de un
determinado proceso. Un lenguaje esta definido por una gramtica o
conjunto de reglas que se aplican a un alfabeto constituido por el
conjunto de smbolos utilizados. Los distintos niveles de programacin
existentes nos permiten acceder al hardware, de tal forma que segn
utilicemos un nivel u otro, as tendremos que utilizar un determinado
lenguaje ligado a sus correspondientes traductores.

2 Conjunto de normas lingsticas (palabras y smbolos) que permiten


escribir un programa y que ste sea entendido por el ordenador y pueda
ser trasladado a ordenadores similares para su funcionamiento en otros
sistemas.

3 Conjunto de instrucciones, ordenes y smbolos reconocibles por


autmata, a travs de su unidad de programacin, que le permite
ejecutar la secuencia de control deseada. Al conjunto de total de estas
instrucciones, ordenes y smbolos que estn disponibles se le llamar
lenguajes de programacin del autmata. El programa esta formado por
un conjunto de instrucciones, sentencias, bloques funcionales y
grafismos que indican las operaciones a realizar. Las instrucciones
representan la tarea ms elemental de un programa: leer una entrada,
realizar una operacin, activar una salida, etc. La sentencia representa el
mnimo conjunto de instrucciones o sentencias que realizan una tarea o
funcin compleja: encontrar el valor de una funcin lgica en
combinacin de varias variables, consultar un conjunto de condiciones,
etc. El bloque funcional es el conjunto de instrucciones o sentencias que
realizan una tarea o funcin compleja: contadores, registros de
desplazamientos, transferencias de informacin, etc. Todos estos
elementos estn relacionados entre s mediante los smbolos o
grafismos.

4 Es un conjunto de palabras y smbolos que permiten al usuario


generar comandos e instrucciones para que la computadora los ejecute.
Los lenguajes de programacin deben tener instrucciones que
pertenecen a las categoras ya familiares de entrada/salida,
calculo/manipulacin, de textos, logica/comparacin, y
almacenamiento/recuperacin.

CLASIFICACION DE LOS LENGUAJES DE PROGRAMACIN

LENGUAJE MQUINA:

El lenguaje mquina es el nico que entiende directamente la


computadora, ya que esta escrito en lenguajes directamente inteligibles
por la mquina (computadora), utiliza el alfabeto binario, que consta de
los dos nicos smbolos 0 y 1, denominados bits (abreviatura inglesa de
dgitos binarios). Sus instrucciones son cadenas binarias (cadenas o
series de caracteres de dgitos 0 y 1) que especifican una operacin y, las
posiciones (direccin) de memoria implicadas en la operacin se
denominan instrucciones de mquina o cdigo maquina. Fue el primer
lenguaje utilizado en la programacin de computadoras, pero dejo de
utilizarse por su dificultad y complicacin, siendo sustituido por otros
lenguajes ms fciles de aprender y utilizar, que adems reducen la
posibilidad de cometer errores. El lenguaje mquina es el conocido
cdigo binario. Generalmente, en la codificacin de los programas se
empleaba el sistema hexadecimal para simplificar el trabajo de escritura.
Todas las instrucciones preparadas en cualquier lenguaje mquina tienen
por lo menos dos partes. La primera es el comando u operacin, que dice
a las computadoras cual es la funcin que va a realizar. Todas las
computadoras tienen un cdigo de operacin para cada una de las
funciones. La segunda parte de la instruccin es el operando, que indica
a la computadora donde hallar o almacenar los datos y otras
instrucciones que se van a manipular, el nmero de operndoos de una
instruccin varia en distintas computadoras.

Ventajas del lenguaje mquina: posibilidad de cargar (transferir un


programa a la memoria) sin necesidad de traduccin posterior, lo que
supone una velocidad de ejecucin superior a cualquier otro lenguaje de
programacin.

Desventajas del lenguaje mquina: dificultad y lentitud en la codificacin.


Poca fiabilidad. Gran dificultad para verificar y poner a punto los
programas. Los programas solo son ejecutables en el mismo procesador
(CPU). En la actualidad, las desventajas superan a las ventajas, lo que
hace prcticamente no recomendables a los lenguajes mquina.

LENGUAJES DE BAJO NIVEL (ensamblador):

Son ms fciles de utilizar que los lenguajes mquina, pero al igual que
ellos, dependen de la mquina en particular. El lenguaje de bajo nivel por
excelencia es el ensamblador. El lenguaje ensamblador es el primer
intento de sustituir el lenguaje maquina por otro ms similar a los
utilizados por las personas. Este intenta desflexibilizar la representacin
de los diferentes campos. Esa flexibilidad se consigue no escribiendo los
campos en binario y aproximando la escritura al lenguaje. A principios de
la dcada de los 50 y con el fin de facilitar la labor de los programadores,
se desarrollaron cdigos mnemotcnicos para las operaciones y
direcciones simblicas. Los cdigos mnemotcnicas son los smbolos
alfabticos del lenguaje maquina. La computadora sigue utilizando el
lenguaje maquina para procesar los datos, pero los programas
ensambladores traducen antes los smbolos de cdigo de operacin
especificados a sus equivalentes en el lenguaje maquina. En la
actualidad los programadores no asignan nmeros de direccin reales a
los datos simblicos, simplemente especifican donde quieren que se
coloque la primera localidad del programa y el programa ensamblador se
encarga de lo dems, asigna localidades tanto para las instrucciones
como los datos. Estos programas de ensamble o ensambladores tambin
permiten a la computadora convertir las instrucciones en lenguaje
ensamblador del programador en su propio cdigo maquina. Un
programa de instrucciones escrito en lenguaje ensamblador por un
programador se llama programa fuente. Despus de que el ensamblador
convierte el programa fuente en cdigo maquina a este se le denomina
programa objeto. Para los programadores es ms fcil escribir
instrucciones en un lenguaje ensamblador que en cdigo de lenguaje
maquina pero es posible que se requieran dos corridas de computadora
antes de que se puedan utilizar las instrucciones del programa fuente
para producir las salidas deseadas.

El lenguaje de bajo nivel es el lenguaje de programacin que el


ordenador puede entender a la hora de ejecutar programas, lo que
aumenta su velocidad de ejecucin, pues no necesita un intrprete que
traduzca cada lnea de instrucciones.
Visto a muy bajo nivel, los microprocesadores procesan exclusivamente
seales electrnicas binarias. Dar una instruccin a un microprocesador
supone en realidad enviar series de unos y ceros espaciadas en el tiempo
de una forma determinada. Esta secuencia de seales se denomina
cdigo mquina. El cdigo representa normalmente datos y nmeros e
instrucciones para manipularlos. Un modo ms fcil de comprender el
cdigo mquina es dando a cada instruccin un mnemnico, como por
ejemplo STORE, ADD o JUMP. Esta abstraccin da como resultado el
ensamblador, un lenguaje de muy bajo nivel que es especfico de cada
microprocesador.

Los lenguajes de bajo nivel permiten crear programas muy rpidos, pero
que son, a menudo, difciles de aprender. Ms importante es el hecho de
que los programas escritos en un bajo nivel sean altamente especficos
de cada procesador. Si se lleva el programa a otra maquina se debe
reescribir el programa desde el principio.

Ventajas del lenguaje ensamblador frente al lenguaje mquina: mayor


facilidad de codificacin y, en general, su velocidad de calculo, ahorran
tiempo y requieren menos atencin a detalles. Se incurren en menos
errores y los que se cometen son ms fciles de localizar. Tanto el
lenguaje maquina como el ensamblador gozan de la ventaja de mnima
ocupacin de memoria y mnimo tiempo de ejecucin en comparacin
con el resultado de la compilacin del programa equivalente escrito en
otros lenguajes. Los programas en lenguaje ensamblador son ms fciles
de modificar que los programas en lenguaje mquina.

Desventajas del lenguaje ensamblador: dependencia total de la maquina


lo que impide la transportabilidad de los programas (posibilidad de
ejecutar un programa en diferentes mquinas). El lenguaje ensamblador
del PC es distinto del lenguaje ensamblador del Apple Machintosh. La
formacin de los programadores es ms compleja que la
correspondiente a los programadores de alto nivel, ya que exige no solo
las tcnicas de programacin, sino tambin el conocimiento del interior
de la maquina El programador ha de conocer perfectamente el hardware
del equipo, ya que maneja directamente las posiciones de memoria,
registros del procesador y dems elementos fsicos. Todas las
instrucciones son elementales, es decir, en el programa se deben
describir con el mximo detalle todas las operaciones que se han de
efectuar en la maquina para la realizacin de cualquier proceso.

Los lenguajes ensamblador tienen sus aplicaciones muy reducidas, se


centran bsicamente en aplicaciones de tiempo real, control de procesos
y de dispositivos electrnicos.

LENGUAJES DE ALTO NIVEL:

Estos lenguajes son los mas utilizado por los programadores. Estn
diseados para que las personas escriban y entiendan los programas de
un modo mucho mas fcil que los lenguajes mquina y ensamblador. Un
programa escrito en lenguaje de alto nivel es independiente de la
mquina (las instrucciones no dependen del diseo del hardware o de
una computadora en particular), por lo que estos programas son
portables o transportables. Los programas escritos en lenguaje de alto
nivel pueden ser ejecutados con poca o ninguna modificacin en
diferentes tipos de computadoras. Son lenguajes de programacin en los
que las instrucciones enviadas para que el ordenador ejecute ciertas
rdenes son similares al lenguaje humano. Dado que el ordenador no es
capaz de reconocer estas ordenes, es necesario el uso de un intrprete
que traduzca el lenguaje de alto nivel a un lenguaje de bajo nivel que el
sistema pueda entender.
Por lo general se piensa que los ordenadores son mquinas que realizan
tareas de clculos o procesamiento de texto. La descripcin anterior es
slo una forma muy esquemtica de ver una computadora. Hay un alto
nivel de abstraccin entre lo que se pide a la computadora y lo que
realmente comprende. Existe tambin una relacin compleja entre los
lenguajes de alto nivel y el cdigo mquina.

Los lenguajes de alto nivel son normalmente fciles de aprender


porque estn formados por elementos de lenguajes naturales, como el
ingls. En BASIC, el lenguaje de alto nivel ms conocido, los comandos
como IF CONTADOR=10 THEN STOP pueden utilizarse para pedir a la
computadora que pare si CONTADOR es igual a diez. Por desgracia
para muchas personas esta forma de trabajar es un poco frustrante,
dado que a pesar de que las computadoras parecen comprender un
lenguaje natural, lo hacen en realidad de una forma rgida y
sistemtica.

Los lenguajes de alto nivel, tambin denominados lenguajes


evolucionados, surgen con posterioridad a los anteriores (lenguaje
mquina, lenguajes de bajo nivel o ensamblador) con los siguientes
objetivos, entre otros:

Lograr independencia de la maquina, pudiendo utilizar un mismo


programa en diferentes equipos con la nica condicin de disponer de un
programa traductor o compilador, que es suministrado por el fabricante,
para obtener el programa ejecutable en lenguaje binario de la maquina
que se trate. Adems, no se necesita conocer el hardware especifico de
dicha maquina. Aproximarse al lenguaje natural, para que el programa
se pueda escribir y leer de una forma ms sencilla, eliminando muchas
de las posibilidades de cometer errores que se daban en el lenguaje
maquina, ya que se utilizan palabras (en ingles) en lugar de cadenas de
smbolos sin ningn significado aparente.

Incluir rutinas de uso frecuente, como las de entrada / salida, funciones


matemticas, manejo de tablas, etc., que figuran en una especie de
librera del lenguaje, de manera que se puedan utilizar siempre que se
quiera sin necesidad de programarlas cada vez.

Ventajas de los lenguajes de alto nivel: el tiempo de formacin de los


programadores es relativamente corto comparado con otros lenguajes.
La escritura de programas se basa en reglas sintcticas similares a los
lenguajes humanos, nombres de las instrucciones tales como READ,
WRITE, PRINT, OPEN, etc. Las modificaciones y puestas a punto de los
programas son ms fciles. Reduccin del costo de los programas.
Transportabilidad. Permiten tener una mejor documentacin. Son ms
fciles de mantener.

Desventajas de los lenguajes de alto nivel: incremento del tiempo de


puesta a punto al necesitarse diferentes traducciones del programa
fuente para conseguir el programa definitivo. No se aprovechan los
recursos internos de la maquina que se explotan mucho mejor en
lenguajes mquina y ensambladores. Aumento de la ocupacin de
memoria. El tiempo de ejecucin de los programas es mucho mayor.

Se puede decir que el principal problema que presentan los lenguajes de


alto nivel es la gran cantidad de ellos que existen actualmente en uso,
adems de las diferentes versiones o dialectos que se han desarrollado
de algunos de ellos. Es difcil establecer una clasificacin general de los
mismos, ya que en cualquiera que se realice habr lenguajes que
pertenezcan a mas de uno de los grupos establecidos. Una clasificacin
muy extendida, atendiendo a la forma de trabajar de los programas y a la
filosofa con que fueron concebidos, es la siguiente:

Lenguajes imperativos. Utilizan instrucciones como unidad de


trabajo de los programas (Cobol, Pascal, C, Ada).
Lenguajes declarativos. Los programas se construyen mediante
descripciones de funciones o expresiones lgicas (Lisp, Prolog).
Lenguajes orientados a objetos. El diseo de los programas se basa
mas en los datos y su estructura. La unidad de proceso es el objeto
y en el se incluyen los datos (variables) y las operaciones que
actan sobre ellos (Smalltalk, C++).
Lenguajes orientados al problema. Diseados para problemas
especficos, principalmente de gestin, suelen ser generadores de
aplicaciones.
Lenguajes naturales. Estn desarrollndose nuevos lenguajes con
el principal objetivo de aproximar el diseo y construccin de
programas al lenguaje de las personas.

Otra clasificacin que se puede hacer es la de atendiendo al desarrollo


de los lenguajes desde la aparicin de las computadoras, que sigue un
cierto paralelismo con las generaciones establecidas en la evolucin de
las mismas:

1.2. Historia de los lenguajes de programacin


Desde 1954 hasta la actualidad se han documentado ms de 2.500
lenguajes de programacin. Entre 1952 y 1972, la primera poca de los
lenguajes de programacin, se desarrollaron alrededor de 200 lenguajes,
de los que una decena fueron realmente significativos y tuvieron
influencia en el desarrollo de lenguajes posteriores.
Una lista parcial de algunos de los lenguajes de programacin ms
importantes, junto con su ao de creacin:

Predecesor (es) Ao Nombre Desarrollador principal , la Compaa


Pre 1950
* ~ 1840 cartilla de programa Ada Lovelace
* 1945 Plankalkl (Concepto) Konrad Zuse
1950
* 1952 A-0 Grace Hopper
* 1954 Mark I Autocode Tony Brooker
1954-
A-0 FORTRAN "0" (Concepto) John W. Backus en IBM
1955
A-0 1954 Arith-MATIC Grace Hopper
A-0 1954 MATH-MATIC Grace Hopper
* 1954 IPL V (Concepto) Allen Newell , Cliff Shaw , Herbert Simon
A-0 1955 FLOW-MATIC Grace Hopper
1956-
IPL LISP (Concepto) John McCarthy
1958
FLOW-MATIC 1957 COMTRAN Bob Bemer
1960
ALGOL 58 1960 ALGOL 60
FLOW-MATIC,
1960 COBOL 61 (Implementacion) El Comit CODASYL
COMTRAN
* 1961 COMIT (Implementacion)
FORTRAN II 1962 FORTRAN IV
* 1962 APL (Concepto) Kenneth E. Iverson
ALGOL 58 1962 MAD Bruce Arden , y Otros
ALGOL 60 1962 Simula (Concepto)
II FORTRAN, COMIT 1962 SNOBOL Ralph Griswold , y Otros
SNOBOL 1963 SNOBOL3 Ralph Griswold , y Otros
ALGOL 60 1966 CORAL66
CPL 1967 BCPL Martin Richards
FORTRAN,
1967 PAPERAS Hospital General de Massachusetts
TELCOMP
* 1967 APL (Implementacion) Kenneth E. Iverson
-Johan Dahl Ole , Myhrhaug Bjrn , Kristen
ALGOL 60 1967 Simula 67 (Implementacion)
Nygaard en Norsk Regnesentral
SNOBOL3 1967 SNOBOL4 Ralph Griswold , y Otros
WM McKeeman , y Otros en la Universidad
de California Santa Cruz, California
PL / I 1967 XPL
JJ Horning , y Otros en la Universidad de
Stanford
DIBOL 1968 DIBOL-8 Diciembre
COWSEL 1968 POP-1 Burstall Vara , Popplestone Robin
1968 Forth (Concepto) Chuck Moore
LISP 1968 LOGO Seymour Papert
* 1968 REFAL (Implementacion) Valentn Turchin
ALGOL 60 1969 ALGOL 68 (Implementacion) Adriaan van Wijngaarden , y Otros
ALGOL 60, COBOL,
1969 PL / 1 (Implementacion) IBM
FORTRAN
1970
1970 Forth (Implementacion) Chuck Moore
POP-1 1970 POP-2
ALGOL 60 1971 Pascal Niklaus Wirth , Kathleen Jensen
Pascal, XPL 1971 Sue Holt y Otros en la Universidad de Toronto
SIMULA 67 1972 Smalltalk-72 Xerox PARC
B, BCPL, ALGOL 68 1972 C Dennis Ritchie
* 1972 INTERCAL
2-nivel de W-
1972 Prlogo Alain Colmerauer
Gramtica
Pascal, BASIC 1973 COMAL Brge Christensen , Lfstedt Benedicto
Pascal, Sue 1973 LIS Ichbiah Otros y en CII Honeywell Bull
BSICO 1974 PASTO Tom DeFanti

PAPERAS 1977 Norma PAPERAS


SNOBOL 1977 ICONO (Concepto) Ralph Griswold
Ichbiah Otros y en CII Honeywell Bull prr
ALGOL 68, LIS 1977 Verde El Departamento de Defensa de los Estados
Unidos
Benjamin M. Brosgol y
ALGOL 68, CS-4 1977 Roja Otros en Intermetrics prr El Departamento
de Defensa de los ESTADOS UNIDOS
Goodenough y Otros en Softech prr
ALGOL 68, 1977 Azul El Departamento de Defensa de los
ESTADOS UNIDOS
Spitzen Otros y en SRI Internacional Para
ALGOL 68, 1977 Amarillo El Departamento de Defensa de los Estados
Unidos
FORTRAN IV 1978 FORTRAN 77
Modula 1978? Modula-2 Niklaus Wirth
* 1978? MATLAB Moler en la Universidad de Nuevo Mxico de
Dr. Nevil Brownlee en la Universidad de
Algol60 1978? PEQUEO
Auckland
* 1978 VisiCalc Dan Bricklin , Bob Frankston en VisiCorp
PL / I, Bsico, EXEC
1979 REXX Mike Cowlishaw
2
C, SNOBOL 1979 Awk Aho , Weinberger , Brian Kernighan
SNOBOL 1979 ICONO (Implementacion) Ralph Griswold
* 1979 Vulcano dBase II Ratliff
1980
C, SIMULA 67 1980 C Con Clases Bjarne Stroustrup
Smalltalk-76 1980 Smalltalk-80 Xerox PARC
Smalltalk, C 1982 Objective-C Brad Cox
Departamento de Defensa de los ESTADOS
Verde 1983 Ada 83
UNIDOS
C Con Clases 1983 C++ Bjarne Stroustrup
John Kemeny George , Thomas Kurtz en el
BSICO 1983 Es cierto BSICO
Dartmouth College
SH 1984? Korn Shell ( ksh ) Dave Korn
* 1984 Ml estndar
dBase 1984 CLIPPER Nantucket
Smalltalk 1987 Auto (Concepto) Sun Microsystems Inc.
* 1987 HyperTalk Apple Computer
* 1987 SQL-87
C, sed, awk, SH 1987 Perl Larry Wall
MATLAB 1988 Octava
dBase-III 1988 dBase IV
Awk, Lisp 1988 Tcl John Ousterhout
REXX 1988 Object REXX Simon Nash
Ada 1988 CHISPA Bernard A. Carr
Turbo Pascal programacin
Turbo Pascal 1989 Borland
orientada a objetos
ANSI C3.159-1989 (aprobada por la ISO en
C 1989 Norma C89/90
1990)
Modula-2 1989 Modula-3 Cardeli, y Otros
Modula-2 1989 Oberon Niklaus Wirth
VisSim 1989 VisSim Pedro A. Darnell
1990
Oberon 1990 Objeto Oberon Niklaus Wirth
Kenneth Iverson , Roger Hui Software
APL, FP 1990 J
Iverson en
Miranda 1990 Haskell
1984 PAPERAS 1990 1990 PAPERAS
Fortran 77 1991 Fortran 90
Objeto Oberon 1991 Oberon-2 Niklaus Wirth
ABC 1991 Python Van Rossum
1991 Q
QuickBASIC 1991 Visual Basic Alan Cooper en Microsoft
SQL-87 1992 SQL-92
Turbo Pascal
programacin 1992 Borland Pascal
orientada a objetos
ksh 1993? Shell de Z ( zsh )
Smalltalk 1993? Auto (Implementacion) Sun Microsystems Inc.
1995 ColdFusion Allaire
C, Simula67 C +
1995 Java James Gosling en Sun Microsystems
+, Smalltalk
1990MUMPS 1995 1995 PAPERAS
Yo, de Java 1995? LiveScript Brendan Eich en Netscape
Fortran 90 1996 Fortran 95
Karl Glazebrook , Brinchmann
APL, Perl 1996 Perl Data Language (PDL)
Jarle , Tuomas Lukka , y Soeller cristiana
REXX, Java 1996 NetREXX Cowlishaw
LiveScript 1997? JavaScript Brendan Eich en Netscape
SML 84 1997 SML 97
PHP 3 1997 PHP
Esquema 1997 Pico Universidad Libre de Bruselas
Smalltalk-80, de
1997 Squeak Smalltalk Alan Kay , Otros y en Apple Computer
vacaciones
JavaScript 1997? ECMAScript ECMA TC39-TG1
C + +, estndar de
1998 Estndar de C + + ANSI / ISO estndar de C + +
C
Prlogo 1998 Erlang Open Source Erlang en Ericsson
Norma C89/90 1999 Norma C99 ISO / IEC 9899:1999
2000
C, C + +, Java, Eiffel 2000 D Brillante Walter en Marte digital
C, C + +, Delphi,
2000 C# Anders Hejlsberg en Microsoft ( ECMA )
Java
2005 Seed7 Thomas Mertes
Ada 95 2007 Ada 2005 Ada Grupo de Relator

Primera generacin. Lenguajes maquina y ensambladores.


Segunda generacin. Primeros lenguajes de alto nivel imperativo
(FROTRAN, COBOL).
Tercera generacin. Lenguajes de alto nivel imperativo. Son los
mas utilizados y
siguen vigentes en la actualidad (ALGOL 8, PL/I, PASCAL,
MODULA).
Cuarta generacin. Orientados bsicamente a las aplicaciones de
gestin y al manejo de bases de datos (NATURAL, SQL).
Quinta generacin. Orientados a la inteligencia artificial y al
procesamiento de los lenguajes naturales (LISP, PROLOG).

La primera programadora de computadora conocida fue Ada Lobelace,


hija de Anabella Milbanke Byron y Lord Byron. Anabella introdujo en las
matemticas a Ada quien, despus de conocer a Charles Babbage,
tradujo y ampli una descripcin de su mquina analtica. Incluso aunque
Babbage nunca complet la construccin de cualquiera de sus mquinas,
el trabajo que Ada realiz con stas le hizo ganarse el ttulo de primera
programadora de computadoras del mundo. El nombre del lenguaje de
programacin Ada fue escogido como homenaje a esta programadora.

A finales de 1953, John Backus someti una propuesta a sus superiores


en IBM para desarrollar una alternativa ms prctica al lenguaje
ensamblador para programar la computadora central IBM 704. El
histrico equipo Fortran de Backus consisti en los programadores
Richard Goldberg, Sheldon F. Best, Harlan Herrick, Peter Sheridan, Roy
Nutt, Robert Nelson, Irving Ziller, Lois Haibt y David Sayre.

El primer manual para el lenguaje Fortran apareci en octubre de 1956,


con el primer compilador Fortran entregado en abril de 1957. Esto era un
compilador optimizado, porque los clientes eran reacios a usar un
lenguaje de alto nivel a menos que su compilador pudiera generar cdigo
cuyo desempeo fuera comparable al de un cdigo hecho a mano en
lenguaje ensamblador.

En 1960, se cre COBOL, uno de los lenguajes usados an en 2010 en


informtica de gestin.

A medida que la complejidad de las tareas que realizaban las


computadoras aumentaba, se hizo necesario disponer de un mtodo ms
eficiente para programarlas. Entonces, se crearon los lenguajes de alto
nivel, como lo fue BASIC en las versiones introducidas en los
microordenadores de la dcada de 1980. Mientras que una tarea tan
sencilla como sumar dos nmeros puede necesitar varias instrucciones
en lenguaje ensamblador, en un lenguaje de alto nivel bastar con solo
una.

También podría gustarte