Documente Academic
Documente Profesional
Documente Cultură
Traduccin encontrada en Barrapunto de A Brief, Incomplete, and Mostly Wrong History of Programming
Languages, de James Iry.
1801 - Joseph Marie Jacquard usa tarjetas perforadas para hacer que un telar escriba "hola mundo" en un tapiz. Los
barrapunteros de la poca critican su falta de recursividad y concurrencia, y el mal uso de las maysculas.
1842 - Ada Lovelace escribe el primer programa, un poco lastrada por el pequeo detalle de que no tiene un
ordenador de verdad para ejecutar su cdigo. Los arquitectos empresariales recrearn ms tarde sus tcnicas para
programar en UML.
1936 - Alan Turing inventa todos los lenguajes que existirn, pero es coaccionado por el servicio secreto britnico
para convertirse en 007 antes de que consiga patentarlos.
1936 - Alonzo Church tambin inventa todos los lenguajes, pero mejor. Todo el mundo pasa de su clculo lambda
porque no se parece suficientemente a C, a pesar de que C no se ha inventado an.
1940s - Varios "ordenadores" se "programan" mediante cableado e interruptores. Los ingenieros lo hacen as para no
verse implicados en el debate de tabuladores contra espacios.
1957 - John Backus e IBM crean FORTRAN. No hay nada gracioso que decir sobre IBM o FORTRAN. Es un error de
sintaxis escribir FORTRAN sin llevar una corbata azul.
1958 - John McCarthy y Paul Graham inventan LISP. A causa de su alto coste, provocado por
- John McCarthy y Paul Graham inventan LISP. A causa de su alto coste, provocado por el agotamiento de la reserva
estratgica de parntesis en la posguerra, LISP nunca se populariza [1]. A pesar de eso, LISP (ahora llamado "Lisp" o
a veces "Arc") sigue siendo un lenguaje influyente en "tcnicas algortmicas clave como recursividad y
condescendencia" [2].
1959 - Tras perder una apuesta con el teniente Ron Hubbard, Grace Hopper y varios sdicos ms inventan el
"Lenguaje orientado a formulismos todo en maysculas", en ingls "Capitalization Of Boilerplate Oriented Language"
(COBOL). Aos ms tarde, en una venganza absurda y sexista contra contra el trabajo en COBOL de la almirante
Hopper, las conferencias de Ruby suelen incluir material misgino.
1964 - John Kemeny y Thomas Kurtz crean BASIC, un lenguaje de programacin no estructurado para los no
informticos.
1965 - Kemeny y Kurtz GOTO 1964.
1970 - Guy Steele y Gerald Sussman crean Scheme. Su trabajo conduce a una serie de artculos en "Lambda the
Ultimate" que culminan en "Lambda the Ultimate Kitchen Utensil" ("Lambda, el utensilio de cocina definitivo"), que se
convierte en la base de una prolongada, pero finalmente infructuosa emisin de publirreportajes a altas horas de la
noche. Las lambdas quedan relegadas a una relativa oscuridad hasta que Java las hace populares por no tenerlas.
1970 - Niklaus Wirth crea Pascal, un lenguaje procedimental. Los crticos inmediatamente atacan Pascal por usar la
sintaxis "x := x + y" en vez de la ms familiar "x = x + y" como en C. Eso a pesar de que C todava no se ha inventado.
1972 - Dennis Ritchie inventa una potente arma de fuego que dispara a la vez hacia delante
1972 - Dennis Ritchie inventa una potente arma de fuego que dispara a la vez hacia delante y hacia atrs. No
contento con el nmero de muertos y mutilados, inventa C y Unix.
1972 - Alain Colmerauer disea el lenguaje lgico Prolog. Su objetivo es crear un lenguaje con la inteligencia de un
nio de dos aos. Demuestra haberlo conseguido enseando una sesin de Prolog que dice "No." a todo.
1973 - Robin Milner crea ML, un lenguaje basado en la teora de tipos M&M. ML engendra SML que tiene una
semntica formalmente especificada. Cuando se le pide una semntica formal de la semntica formal, la cabeza de
Milner explota. Otros lenguajes bien conocidos de la familia de ML son OCaml, F# y Visual Basic.
1980 - Alan Kay crea Smalltalk e inventa el trmino "orientado a objetos". Cuando le preguntan qu significa
responde: "los programas en Smalltalk son slo objetos". Cuando le preguntan de qu estn hechos los objetos,
contesta: "de objetos". Cuando le preguntan otra vez, dice: "ver usted, son siempre objetos otra vez, hasta que
llegas a las tortugas".
1983 - Bjarne Stroustrup embute todo lo que ha odo en su vida sobre lenguajes y lo mete en C para crear C++. El
lenguaje resultante es tan complejo, que los programas deben enviarse al futuro para que los compile Skynet, la
inteligencia artificial. Los tiempos de compilacin se alargan alarmantemente. Los motivos de Skynet para prestar ese
servicio siguen sin estar demasiado claros, pero portavoces del futuro dicen que "no hay nada de que preocuparse,
baby", en un montono acento austraco. Se especula con que Skynet no sea ms que un pretencioso
desbordamiento de buffer.
1986 - Brad Cox y Tom Love crean Objective-C, anunciando que "combina la seguridad de memoria del C con la
velocidad de relmpago de Smalltalk". Los historiadores sospechan que eran dislxicos.
1987 - Larry Wall se queda dormido y la frente de Larry Wall cae sobre el teclado. Al despertar, Larry Wall decide que
la cadena de caracteres del monitor de Larry Wall no es aleatoria, sino un ejemplo de un programa en un lenguaje
para disear el cual, Dios ha elegido a Larry Wall, su profeta. Nace Perl.
1990 - Un comit formado por Simon Peyton-Jones, Paul Hudak, Philip Wadler, Ashton Kutcher, y "El pueblo por el
tratamiento tico de los animales" crea Haskell, un lenguaje funcional, no estricto y puro. Encuentra algo de
resistencia, debido a la complejidad de usar mnadas para controlar los efectos laterales. Wadler intenta aplacar a los
crticos explicando que "una mnada no es ms que un monoide de la categora de los
endofuntores, qu problema hay?".
1991 - El programador holands Guido van Rossum viaja a Argentina para una misteriosa operacin. Al volver con
una enorme cicatriz en el crneo, inventa Python, legiones de seguidores lo declaran dictador vitalicio y anuncia al
mundo que "slo hay una forma de hacerlo". En Polonia cunde el nerviosismo.
1995 - Yukihiro "Mad Matz" Matsumoto crea Ruby para impedir un apocalipsis vagamente insinuado que dejara
Australia como un desierto poblado por guerreros rapados y Tina Turner. Ms tarde "Ruby on Rails" es el nuevo
nombre del lenguaje segn su verdadero inventor, David Heinemeier Hansson. [Eso de que Matsumoto invent un
lenguaje llamado "Ruby" nunca sucedi y es mejor quitarlo del artculo - DHH]
1995 - Brendan Eich se fija en todos los errores cometidos en el diseo de otros lenguajes, aade algunos de su
cosecha y crea LiveScript. Ms tarde, en un intento para rentabilizar la popularidad de Java, le cambia el nombre a
JavaScript. Y aun ms tarde, en un esfuerzo de aprovechar la popularidad de las afecciones cutneas, el lenguaje se
renombra como ECMAScript.
1996 - James Gosling inventa Java. Es un lenguaje orientado a objetos, de invocacin simple, estticamente tipado,
basado en clases, con recoleccin de basura y bastante largo de escribir, con herencia simple de clases y herencia
mltiple de interfaces. Sun proclama a los cuatro vientos lo novedoso de Java.
2001 - Anders Hejlsberg inventa C#. Es un lenguaje orientado a objetos, de invocacin simple, estticamente tipado,
basado en clases, con recoleccin de basura y bastante largo de escribir, con herencia simple de clases y herencia
mltiple de interfaces. Microsoft proclama a los cuatro vientos lo novedoso de C#.
2003 - Martin Odersky, estando borracho, ve un anuncio de mantequilla de cacahuete Reese sobre el chocolate y
tiene una idea. Crea Scala, un lenguaje que unifica las construcciones de los lenguajes funcionales y los orientados a
objetos. Consigue cabrear a los partidarios de ambos tipos de lenguaje que declaran al unsono la jihad.
Enlaces:
James-Iry - A brief... of Programming Languages
Fuentes:
Barrapunto
Publicado por eMancu a las 01:33
*
Historia de los Lenguajes de Programacin.
Con la idea de facilitarnos las tareas que debemos de desempear los humanos, hemos venidoinventado
diversas herramientas a lo largo de nuestra historia, que nos permiten tener unamejor calidad de vida.Los
ordenadores son uno ms de los inventos del hombre, aunque debemos decir que lastecnologas para su
fabricacin y explotacin han tenido un desarrollo sorprendente a partir dela segunda mitad del siglo XX.
Esta herramienta por s sola no es capaz de efectuar ningunatarea, es tan slo un conjunto de cables y
circuitos que necesitan recibir instruccin por partede los humanos para desempear alguna tarea. El
problema entonces, se puede fijar encmo vamos a poder hacer que un conjunto de circuitos desempeen
una determinada tareay nos entreguen los resultados que nosotros esperamos?, es decir, de qu manera se
puedelograr la comunicacin entre el hombre y el ordenador?.As pues, tratando de dar una solucin al
problema planteado, surgieron los lenguajes deprogramacin, que son como un lenguaje cualquiera, pero
simplificado y con ciertas normas,para poder trasmitir nuestros deseos al ordenador.Por otro lado, como se
sabe, un conjunto de circuitos no entendera ningn lenguaje quenosotros conozcamos, por ms sencillo que
ste parezca. Los circuitos en todo caso, sloreconocen presencia o ausencia de energa, es decir que
debemos hablarle a la mquina en supropio lenguaje (presencia y ausencia de energa, 0 y 1), o nuestro
lenguaje deber de ser traducido a un lenguaje binario cuyo alfabeto es el 0 y el 1, mediante las
herramientasdesarrolladas para llevar a cabo esta tarea, las cuales reciben el nombre de traductores, ycomo
veremos ms adelante, los hay de muchos tipos, dependiendo de caractersticas msespecficas del lenguaje a
traducir y de la manera de llevar a cabo su traduccin.Como ya habris entendido, para crear un lenguaje de
programacin, deberemos crear laherramienta que lo traduce, y es justamente de ellas, de las que hablaremos
a continuacin,para describir como han ido evolucionando en los ltimos 50 aos [BYTE 95].
1946: Konrad Zuse , un ingeniero Alemn mientras trabajaba en los Alpes de Bavaria,desarroll el lenguaje
Plankalkul, el cual, fue aplicado entre otras cosas para jugar alajedrez.
1949: Aparece Short Code, que viene a ser el primer lenguaje que fue usado en undispositivo de cmputo
electrnico, aunque se debe decir que se trata de un lenguajetraducido a mano.
1951:Grace Hopper , trabajando para Remington Rand, comenz el trabajo de diseo del primer compilador
conocido ampliamente, el A-0, el cual, al ser liberado por lacompaa en 1957, lo hizo con el nombre de
MATH-MATIC
ms adelante describiremos.Por lo pronto, puede decirse, que actualmente existen alrededor de 2000
lenguajes deprogramacin [KINNERSLEY 95] y continuamente, estn apareciendo otros ms nuevos, que
prometen hacer mejor uso de los recursos computacionales y facilitar el trabajo de
losprogramadores.Tratando de resumir un poco, presentaremos los siguientes cuadros evolutivos,
dondeaparecen los lenguajes que por su uso y comercializacin, han resultado ser los mspopulares a lo
largo de este medio siglo. [LABRA 98] [RUS 01]
*TODO SOBRE LA PROGRAMACION
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.
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.
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.
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.
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.
HISTORIA
Los primeros lenguajes de programacin surgieron de la idea de Charles Babagge, la cual se le
ocurri a este hombre a mediados del siglo XIX. Era un profesor matemtico de la universidad
de Cambridge e inventor ingles, que la principio del siglo XIX predijo muchas de las teoras en
que se basan los actuales ordenadores. Consista en lo que l denominaba la maquina
analtica, pero que por motivos tcnicos no pudo construirse hasta mediados del siglo XX. Con
l colaboro Ada Lovedby, la cual es considerada como la primera programadora de la historia,
pues realizo programas para aqulla supuesta maquina de Babagge, en tarjetas perforadas.
Como la maquina no llego nunca a construirse, los programas de Ada, lgicamente, tampoco
llegaron a ejecutarse, pero si suponen un punto de partida de la programacin, sobre todo si
observamos que en cuanto se empez a programar, los programadores utilizaron las tcnicas
diseadas por Charles Babagge, y Ada, que consistan entre otras, en la programacin
mediante tarjetas perforadas. A pesar de ello, Ada ha permanecido como la primera
programadora de la historia. Se dice por tanto que estos dos genios de antao, se adelantaron
un siglo a su poca, lo cual describe la inteligencia de la que se hallaban dotados.
En 1823 el gobierno Britnico lo apoyo para crear el proyecto de una mquina de diferencias,
un dispositivo mecnico para efectuar sumas repetidas. Pero Babagge se dedico al proyecto
de la mquina analtica, abandonando la maquina de diferencias, que se pudiera programar
con tarjetas perforadas, gracias a la creacin de Charles Jacquard (francs). Este hombre era
un fabricante de tejidos y haba creado un telar que poda reproducir automticamente
patrones de tejidos, leyendo la informacin codificada en patrones de agujeros perforados en
tarjetas de papel rgido. Entonces Babagge intento crear la mquina que se pudiera
programar con tarjetas perforadas para efectuar cualquier clculo con una precisin de 20
dgitos. Pero la tecnologa de la poca no bastaba para hacer realidad sus ideas. Si bien las
ideas de Babagge no llegaron a materializarse de forma definitiva, su contribucin es decisiva,
ya que los ordenadores actuales responden a un esquema anlogo al de la mquina analtica.
En su diseo, la mquina constaba de cinco unidades bsicas: 1) Unidad de entrada, para
introducir datos e instrucciones; 2) Memoria, donde se almacenaban datos y resultados
intermedios; 3) Unidad de control, para regular la secuencia de ejecucin de las operaciones;
4) Unidad Aritmtico-Lgica, que efecta las operaciones; 5) Unidad de salida, encargada de
comunicar al exterior los resultados. Charles Babbage, conocido como el "padre de la
informtica" no pudo completar en aquella poca la construccin del computador que haba
soado, dado que faltaba algo fundamental: la electrnica. El camino sealado de Babbage,
no fue nunca abandonado y siguindolo, se construyeron los primeros computadores.
Cuando surgi el primer ordenador, el famoso ENIAC (Electronic Numerical Integrator And
Calculator), su programacin se basaba en componentes fsicos, o sea, que se programaba,
cambiando directamente el Hardware de la maquina, exactamente lo que s hacia era
cambiar cables de sitio para conseguir as la programacin de la maquina. La entrada y salida
de datos se realizaba mediante tarjetas perforadas.
LAS TENDENCIAS DE LOS LENGUAJES DE PROGRAMACIN
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
Cdigo objeto: es creado por los compiladores y nos sirve como enlace entre el programa
fuente y el ejecutable.
ALGUNOS LEGUAJES DE PROGRAMACIN DE ALTO NIVEL
A continuacin se presentan varios de los mas conocidos y utilizados, lenguajes de alto nivel.
FORTRAN
Abreviatura de FORmula TRANslator (traductor de formulas), fue definido alrededor del ao
1955 en Estados Unidos por la compaa IBM. Es l ms antiguo de los lenguajes de alto nivel.
Antes de l, todos los programas se escriban en lenguaje ensamblador o en lenguaje
mquina. Es un lenguaje especializado en aplicaciones tcnicas y cientficas. Se caracteriza
por su potencia en los clculos matemticos, pero esta limitado en las aplicaciones de
gestin, manejo de archivos, tratamiento de cadenas de caracteres y edicin de informes. Es
un lenguaje notorio, por la facilidad con que permite expresar una ecuacin. Muchas de sus
caractersticas fueron incorporadas mas tarde en el primer lenguaje BASIC. Una de sus
ventajas es que es un lenguaje compacto y es tambin ampliamente utilizado para
aplicaciones en los negocios que no requieren manejo de grandes archivos de datos. Hasta
1961 se mantuvo como monopolio de IBM, pero posteriormente se fue implementando en
ordenadores de otros fabricantes. A lo largo de su existencia han aparecido diferentes
versiones, entre las que destaca la adoptada en 1966 por el ANSI (American National
Standards Institute), en la que se definieron nuevas reglas del lenguaje y se logro la
independencia del mismo con respecto a la mquina; es decir, comenzo la portabilidad del
lenguaje. Esta versin se denomin FORTRAN IV o FORTRAN 66, y el idioma se hizo tan
popular en los aos 60, que FORTRAN 66 se volvi el primer idioma en ser regularizado
oficialmente en 1972. En 1977 apareci una nueva versin mas evolucionada que se llamo
FORTRAN V o FORTRAN 77. Est reflejada en el documento ANS X3.9-1978: Programming
Language FORTRAN y define dos niveles del lenguaje denominados FORTRAN 77 completo y
FORTRAN 77 bsico, siendo el segundo un subconjunto del primero. Incluye, adems,
instrucciones para el manejo de cadenas de caracteres y de archivos, as como otras para la
utilizacin de tcnicas de programacin estructurada. Estas caractersticas hacer que el
lenguaje tambin sea valido para determinadas aplicaciones de gestin. A mediados de los
aos setenta se proporcionaron virtualmente cada computadora, mini o mainframe, con un
sistema FORTRAN 66 normal. Era por consiguiente posible escribir programas en FORTRAN en
cualquier sistema y estar bastante seguro que estos pudieran moverse para trabajar en
cualquier otro sistema bastante fcil. Esto, y el hecho que pudieran procesarse programas de
FORTRAN muy eficazmente. La ultima normalizacin del lenguaje, FRONTRAN 90, se encuentra
en el documento ANS X3.198-1991 en la que se incluyen caractersticas como la recursividad,
tratamiento paralelo de tablas y uso de memoria dinmica. Permite expresar los programas de
maneras que se satisfacen mas a un ambiente de la informtica moderna y han quedado
obsoletos muchos de los mecanismos que eran apropiados en FROTRAN 77. En FROTRAN 90
algunos rasgos de FROTRAN 77 han sido reemplazados por rasgos mejores, mas seguros y
ms eficaces, muchos de estos fueron quitados del idioma FORTRAN 95. El FRONTRAN tiene la
ventaja de ser un lenguaje compacto que sirve muy bien para satisfacer las necesidades de
los cientficos y los estadsticos de los negocios.
COBOL
Es el lenguaje mas utilizado en las aplicaciones de gestin, creado en 1960 por un comit
denominado CODASYL (COnference on DAta SYstems Languages), patrocinado por el
Departamento de Defensa de Estados Unidos, a fin de disponer de un lenguaje universal para
El lenguaje MODULA fue diseado en 1977 bajo la direccin de Nicklaus Wirth, creador
tambin el lenguaje PASCAL, con la intencin de incluir las necesidades de la programacin de
sistemas y dar respuestas a las criticas recibidas respecto de las carencias del lenguaje
PASCAL. En 1979 se realiza una versin que pasa a denominarse MODULA-2 y que perdura en
la actualidad.
Adems de incluir las caractersticas de su predecesor, este nuevo lenguaje incorpora las
principales carencias de aquel, como la posibilidad de compilacin separada, creacin de
libreras, programacin concurrente, mejora el manejo de cadenas de caracteres, los
procedimientos de entrada/salida y la gestin de la memoria, etc. adems, posee grandes
facilidades para la programacin de sistemas.
Tambin, debido a sus cualidades didcticas, ha sido ampliamente aceptado por la comunidad
universitaria como herramienta idnea para la enseanza de la programacin.
ADA
Es l ultimo intento de obtener un nico lenguaje para todo tipo de aplicaciones, e incluso los
ltimos avances de tcnicas de programacin. Su diseo fue encargado por el Departamento
de Defensa de Estados Unidos, para su uso en servicios militares, a la empresa Honeywell-Bull
despus de una seleccin rigurosa entre varias propuestas realizadas sobre una serie de
requerimientos del lenguaje y de haber evaluado negativamente veintitrs lenguajes
existentes. De estos, se seleccionaron como base para la creacin del nuevo lenguaje el
PASCAL, el ALGOL y el PL/I.
La estandarizacin del lenguaje se publico en 1983 con el nombre de ADA, en honor de la
considerada primera programadora de la historia, Augusta Ada Byron, condesa de Lovelace.
Entre las caractersticas del lenguaje se encuentran la compilacin separada, los tipos
abstractos de datos, programacin concurrente, programacin estructurada, libertad de
formatos de escritura, etc. Como principal inconveniente presenta su gran extensin. Los
escritores lo llamaron inflexible e ineficiente, en tanto que sus favorecedores lo consideraban
un gran avance en la tecnologa del software.
LISP
En informtica, acrnimo de List Processing. Un lenguaje de programacin para ordenadores o
computadoras orientado a la generacin de listas, desarrollado en 1959-1960 por John
McCarthy y usado principalmente para manipular listas de datos o de smbolos. El lenguaje
LISP constituy un cambio radical con respecto a los lenguajes procedurales (FORTRAN,
ALGOL) que se desarrollaban por entonces. El LISP es un lenguaje interpretado, en el que cada
expresin es una lista de llamadas a funciones. Este lenguaje se sigue utilizando con
frecuencia en investigacin y en crculos acadmicos, y fue considerado durante mucho
tiempo el lenguaje modelo para la investigacin de la inteligencia artificial (IA), aunque el
Prolog ha ganado terreno durante los ltimos aos.
LOGO
En informtica, lenguaje de programacin de ordenadores o computadoras, desarrollado en
1968 por Seymour Papert en el MIT, que se usa frecuentemente en la enseanza de lenguaje
de programacin a nios. Una caracterstica importante de Logo son los grficos de tortuga,
que permiten al programador hacer dibujos simples dirigiendo los movimientos de la tortuga
en la pantalla hacia adelante, hacia la derecha o la izquierda. Una vez que dominan el entorno
sencillo del dibujo, el programador (normalmente un nio o una nia) empieza a descubrir las
caractersticas ms sofisticadas del lenguaje, que estn basadas fundamentalmente en el
lenguaje de programacin LISP. Logo est considerado como un lenguaje para la formacin, a
pesar de que algunas empresas intentaron que tuviera una mayor aceptacin en los crculos
profesionales de programacin.
RPG
Report Program Operator fue introducido en 1960 como un lenguaje para duplicar
rpidamente el enfoque de proceso utilizado con un equipo de tarjeta perforada. Este
lenguaje fue desarrollado por IBM en 1964. Su uso esta aun limitado sobre todo para las
aplicaciones de negocios que son procesadas en pequeas computadoras, generar informes
comerciales o de negocios. Como su nombre lo sugiere, el RPG esta diseado para generar los
reportes de salida que resultan del proceso de aplicaciones de negocios.
A pesar de las aplicaciones de actualizacin de archivos, el RPG es un lenguaje de propsito
limitado porque los programas objeto generados por el compilador de RPG siguen sin
desviacin, un ciclo de procesamiento bsico.
Una ventaja del RPG es la relativa facilidad para aprenderlo y usarlo. Dado que la lgica de la
programacin es fija, existen menos reglas formales que en otros lenguajes.
ALGOL
El ALGOL (ALGOritmic Language) fue presentado en 1958. Fue el primer lenguaje de
programacin de proceso estructurado de alto nivel. Fue orientado al uso de quienes
participan en proyectos cientficos y matemticos. Un grupo internacional de matemticos
europeos y americanos, pretendan crear un lenguaje comn normalizado que les permitiera
el intercambio de algoritmos, aunque esta en desuso, fue el primero que incorporo conceptos
claves para la programacin actual.
APL
Sus siglas significan (A Programming Language). Un Lenguaje de Programacin. Este
programa fue desarrollado por Kenneth Inverson en el ao 1961 para resolver problemas
matemticos. Este lenguaje se caracteriza por su brevedad y por su capacidad de generacin
de matrices y se utiliza en el desarrollo de modelos matemticos.
PILOT
Programmend Inquiry Language Or Teaching (Consulta, lenguaje o aprendizaje de
investigacin programada) creado en 1969.
Este lenguaje de programacin es utilizado fundamentalmente para crear aplicaciones
destinadas a instrucciones asistidas por computadoras. Se caracteriza por utilizar un mnimo
de sintaxis.
SMALLTALK
SMALLTALK, Lenguaje de Programacin orientado a objetos integrados con un entorno de
JAVASCRIPT
Este lenguaje de programacin originalmente fue llamado LIVESCRIPT, pero luego fue
renombrado con el nombre de JAVASCRIPT, con la idea de capitalizar la fama de Java, lenguaje
desarrollado por Sun Microsystems. ste es un complemento ideal del lenguaje HTML, al
permitir a la pgina realizar algunas tareas por si misma, sin necesidad de estar
sobrecargando el servidor del cual depende; JAVASCRIPT es un lenguaje diseado
especialmente para ejecutarlo en internet.
Entre estas tareas, puede estar, por ejemplo, realizar algunos clculos simples, formatear un
texto para que sea ledo por distintas personas de manera distinta, proveer de un medio de
configurar la visualizacin de una pgina, realizar un prechequeo de validacin en formulario
antes de enviarlo, etc.
HTML
El lenguaje HTML, sirve para realizar esas atractivas pginas Web. Se trata de un sistema de
marcas que permite enlazar al mismo tiempo texto, sonidos y grficos dentro del mismo
documento, con otros dentro del servidor o incluso con otros servidores WWW. Es decir, es un
editor para combinar textos, imgenes e incluso sonido y ahora tambin imgenes en
movimiento. Es, en definitiva, la forma de manejar y presentar la informacin en la red.
Para escribir documentos de hipertexto se ha desarrollado un nuevo formato de datos o
lenguaje llamado Hyper Text Markup Language (HTML). Este lenguaje permite dar indicaciones
precisas al programa cliente de cmo debe presentarse el documento en pantalla o al ser
impreso.
El lenguaje HTML es el usado actualmente para escribir textos Hypermediales en el web.
Tres normas fundamentales:
CUERPO:
Se inicia mediante el comando <BODY> y se termina con el comando. Dentro del cuerpo del
documento se incluyen cualquier carcter imprimible. Adems es importante incluir el
comando<ADDRESS>... </ADDRESS> al final del cuerpo pero dentro de l. Dentro del
ADDRESS se escribe el nombre del autor del documento, la organizacin a la que pertenece,
su direccin del correo electrnico y otra informacin que se considere relevante.
HYPERTALK
"HyperTalk" es el lenguaje desarrollado por Dan Winkler para Bill Atkinson, el creador del
"HyperCard" para Apple-Macintosh. Est orientado a la creacin de aplicaciones conforme al
sistema de "hiperarchivos" (sistemas de fichas interrelacionadas donde se facilita el "navegar"
de un archivo a otro).
HyperTalk es un buen ejemplo de lenguaje orientado a objetos. Este tipo de lenguaje combina
la lgica declarativa con los algoritmos (Vea ya no es una secuencia de instrucciones sino un
conjunto de objetos agrupados en conjuntos, definidos mediante atributos y a los cuales
pueden asociarse instrucciones. As, en HyperCard, existen archivos ("stacks" o " stas
contiene campos de datos y botones. Todos son "objetos" que -si bien mantienen entre s una
relacin jerrquica- tienen asociados paquetes de instrucciones ("unos de otros. Cada objeto
pertenece a un conjunto (como fichas o botones) que tiene "atributos" propios comunes a
todos sus miembros, y cada atributo tendr un valor comn o especfico para cada caso. Para
dar o buscar dicho valor intervienen "facetas" que son instrucciones (procedimientos)
asociadas.
Perl
Es un lenguaje especializado en el procesamiento de textos, particularmente extraer y validar
las respuestas a cuestionarios incluidos en pginas web.
PHP
Lenguaje que se acopla al HTML (pginas web) para definir procedimientos que ha de realizar
el servidor de web, por ejemplo procesar un formulario, enviar o extraer datos de una base de
datos (acoplndose tambin con un lenguaje de tipo SQL), enviar una u otra pgina web
segn determinadas condiciones prefijadas por el programador, etc.
PROLOG
Los primeros aos de la dcada del 70 son conocidos como un perodo de "crisis del software",
en que se descubri que la creacin de buenos programas involucraba costos mayores que los
del hardware que los ejecuta. Tambin se haca patente una creciente necesidad de procesar
"conocimientos" (algo mucho ms amplio y complejo que los datos cuantitativos o meras
"secuencias de caracteres" a los cuales se reducen muchos lenguajes de programacin). Esta
crisis llev a investigar numerosas alternativas, entre las cuales nuevos lenguajes no basados
en instrucciones algortmicas o procedimientos. Si el hombre "procesa" ms informacin por
inferencia lgica que por clculo, no podra la mquina hacer lo mismo?
PROLOG ("PROgramacin en LOGicas una respuesta a esta crisis, producto del avance de la
lgica moderna (de tipo funcional). Lo crearon A. Colmenauer y Ph. Roussel, con la
colaboracin de R. Kowalski, simultneamente en la Universidad de Aix-Marseille
Fuentes de Informacin
El contenido del post es de mi autora, y/o, es un recopilacin de distintas fuentes.