0% encontró este documento útil (0 votos)
70 vistas16 páginas

Índice

El documento aborda el concepto de lenguajes de programación, su historia, tipos y evolución, destacando su relación con las computadoras. Se clasifican los lenguajes según su cercanía a la máquina, su potencia y su orientación, además de ofrecer un recorrido histórico sobre el desarrollo de las computadoras y los lenguajes desde los años 50 hasta la actualidad. Se mencionan las tendencias futuras y se proporciona un glosario y bibliografía para profundizar en el tema.

Cargado por

Odlanyer15
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
70 vistas16 páginas

Índice

El documento aborda el concepto de lenguajes de programación, su historia, tipos y evolución, destacando su relación con las computadoras. Se clasifican los lenguajes según su cercanía a la máquina, su potencia y su orientación, además de ofrecer un recorrido histórico sobre el desarrollo de las computadoras y los lenguajes desde los años 50 hasta la actualidad. Se mencionan las tendencias futuras y se proporciona un glosario y bibliografía para profundizar en el tema.

Cargado por

Odlanyer15
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

LENGUAJES DE PROGRAMACIN

Asignatura: Informtica Bsica


Alumno:
Curso:
ndice
1. Introduccin
Qu son? Para qu sirven?
Relacin con las computadoras
Tipos
2. Historia de los ordenadores
3. Historia de los lenguajes
4. Relacin de los principales lenguajes
5. Tendencias de cara al futuro
6. Bibliografa
7. Glosario
Introduccin
Qu son? Para qu sirven?
Al igual que los idiomas sirven de vehculo de comunicacin entre los seres humanos, existen lenguajes
que realizan la comunicacin entre los seres humanos y las computadoras. Estos lenguajes permiten expresar
los programas o el conjunto de instrucciones que el operador humano desea que la computadora ejecute.
Los lenguajes de computadoras toman diferentes formas; los de las primeras computadoras, como la
ENIAC y la EDSAC, se componan en el lenguaje real de las mquinas mismas. La dificultad de programar
las mquinas de esta manera limitaba drsticamente su utilidad y proporcionaba un fuerte incentivo para que
se desarrollaran lenguajes de programacin ms orientados hacia la expresin de soluciones con la notacin
de los problemas mismos.
Los primeros lenguajes de programacin se conocieron como Lenguajes Ensambladores, un ejemplo es:
TRANSCODE, desarrollado para la computadora FERUT. En los lenguajes ensambladores se define un
cdigo especial llamado mnemnico para cada una de las operaciones de la mquina y se introduce una
notacin especial para especificar el dato con el cual debe realizarse la operacin.
A mediados de los aos 60's aparecieron los primeros lenguajes de propsito general, que son en los que
1
se basa este trabajo, como FORTRAN, FORTRAN IV, ALGOL, COBOL, BASIC, PL/I, ADA, C, C++,
PASCAL, etc. pero el desarrollo de nuevas tecnologas, tanto en arquitectura de computadoras como en
lenguajes de programacin, contina a paso acelerado, cada vez con mayor velocidad, el panorama est
cambiando de una etapa de sistemas y lenguajes especialmente desarrollados para aplicaciones individuales.
Los lenguajes de programacin actuales son los conocidos como Lenguajes visuales, como por ejemplo
Visual Fox, Visual Basic, Visual C.
Relacin con las computadoras
A la vez que los lenguajes de programacin iban evolucionando, las computadoras tambin lo hacan. Aunque
los lenguajes de programacin, en la actualidad, tiendan a desligarse de las mquinas en las que se van a usar
para ser mas universales, todo su desarrollo se ha basado en la capacidad de las mquinas, en este caso los
ordenadores, para poder soportar estos lenguajes. De no haber evolucionado las computadoras, los lenguajes
no hubieran sido capaces de salvar por si solos las limitaciones que implica el hardware.
Es por ello, por lo que en este trabajo se va a ver tambin la evolucin histrica de las computadoras, ya que
creo conveniente el poder tener en cuenta a la hora de estudiar los lenguajes de programacin el marco en el
cual han sido desarrollados.
Tipos
Hay varias formas de clasificar los lenguajes de programacin, y una de ellas sera por la cercana o lejana a
la mquina. De este modo podemos distinguir tres tipos de lenguajes:
Lenguajes de bajo nivel: Son aquellos que se encuentran mas cerca de la mquina que del hombre. Esto
significa que se acercan al lenguaje usado por el ordenador, ceros y unos. Por ejemplo: Ensamblador, Cdigo
mquina, etc...
Lenguajes de medio nivel: Se encuentran a medio camino de la mquina y el hombre. Aglutinan las
instrucciones complejas a etiquetas o nombres y que estn compuestas por instrucciones sencillas.
Lenguajes de alto nivel: La abstraccin es mucho mayor, las instrucciones son muy complejas, estando mas
cerca del entendimiento humano que de la mquina, y a diferencia del medio y bajo nivel son independientes
de la plataforma.
Otra forma sera por su potencia:
Primera Generacin: Lenguaje mquina, no requiere traduccin alguna, el compilador es capaz de leerlo
directamente.
Segunda Generacin: Lenguaje ensamblador dependiente de la mquina, que requiere de una traduccin,
aunque esta es muy simple porque cada instruccin corresponde a un cdigo solamente.
Tercera Generacin: Lenguajes de alto nivel, estn diseados para ser usados por unos programadores
profesionales y requieren especificaciones, con todas las posibles funciones, de cmo realizar una tarea. Estos
requieren de un nmero grande de instrucciones con cdigos que pueden ser difciles de leer, entender,
mantener y depurar. Estn originalmente desarrollados para operaciones por lote y orientados a archivos.
Requieren de traduccin y cada instruccin es convertida a varias instrucciones de mquina. Con ellos el
programador solo debe trabajar con el cdigo fuente desarrollado por el y no al cdigo objeto resultante.
Cuarta Generacin: Lenguajes, ms avanzados que los de alto nivel, que requieren la especificacin de la
tarea a realizar y es el mismo sistema el que determina cmo efectuarla. Ofrecen opciones predeterminadas
2
que ya no se tienen que especificar lo que facilita que el programador no se enfrente a ningn cdigo ya que
siempre usa la interface. Requieren de traduccin y cada instruccin es convertida en muchas instrucciones en
lenguaje mquina. Los errores son fciles de localizar.
Tambin se podran clasificar mediante su orientacin:
Programacin orientada a eventos: programacin de aplicacin que responde a las entradas del usuario
(seleccionando mens, botones, formularios, etc...) o de otras aplicaciones a tiempos regulares.
Programacin orientada a procedimientos: Mtodo de programacin que requiere de una disciplina como
FORTRAN, COBOL, BASIC; C, Pascal y Xbase,. El programador escribe el cdigo en cierto orden para
resolver el problema, basado en sus conocimientos del proceso y de la programacin. La aplicacin resultante
fuerza al usuario a seguir un camino predefinido desde el paso A al paso B. Un ejemplo tpico es el ingreso de
datos.
Lenguaje orientado a problemas: Lenguaje de computacin diseado para manejar un problema particular.
Ejemplos: FORTRAN fue diseado para ingeniera, COBOL para negocios y GPSS para simulaciones.
Programacin visual: Programas basados en herramientas visuales como mens, botones, y cualquier
elemento grfico, que se puede seleccionar de una paleta, se arrastra y se suelta donde se desea sobre la
pantalla. Esto tambin puede referirse a poder conseguir el cdigo fuente interactuando con diagramas de flujo
y grficos lgicos asociados a cdigos. Ej.: Visual BASIC, Visual FoxPRO, Visual C++...
Programacin Orientada a Objetos (POO): Su objetivo es el aumentar la productividad del programador
incrementando la extensibilidad y reutilizando el software, controlando la complejidad y el costo de
mantenimiento. Ejemplos: C++, Turbo PASCAL, Power Builder...
y por ltimo los podramos clasificar por su aplicacin:
Cientficos: Son aquellos cuya aplicacin mas inmediata es resolver problemas de clculo. Histricamente
son los primeros lenguajes evolucionados ya que la formulacin matemtica permite una fcil formacin del
lenguaje. Los primeros fueron el SHORT CODE, creado por el Dr. Mandy en 1949, para UNIVAC y el
SPEED CODING desarrollado en 1953 por Backus y Saldon para IBM. Los mas usados: FORTRAN,
PASCAL, BASIC, LOGO, y APL, pero antes de llegar ellos aparecieron otras como: MATH MATIC,
UNICODE, IT, GAT y FORTRANSIT.
De gestin: Son lenguajes orientados a la solucin de problemas de tratamiento de datos para la gestin, por
lo que predominan las instrucciones dedicadas a procesar instrucciones de entrada y salida. El primero fue el
FLOWMATIC desarrollado en 1955 por el Dr. Hopper para UNIVAC. El lenguaje mas caracterstico de
entre los de gestin es el COBOL, seguido por el RPGII.
Polivalentes o aplicacin general: Son el resultado de intentar obtener un lenguaje que cubriera el rea
cientfica y la de gestin de forma equilibrada. El primero fue JOVIAL, desarrollado por la Strategic Air
Control System. El mas conocido de estos lenguajes es el PL/1 creado en 1964. No obstante es obligatorio
apuntar en esta parte que casi la totalidad de los lenguajes cientficos han evolucionado hacia la gestin
incluyendo entre sus estructuras otras extradas de los lenguajes clsicos de gestin. De este modo, lenguajes
como FORTRAN, PASCAL o BASIC pueden resolver cualquiera de los problemas de gestin, en principio
vedados a estos lenguajes.
Especiales: Son lenguajes con algn propsito muy especifico, como lenguajes para expresiones algebraicas
formales, lenguajes para manejo de archivos y bancos de datos o lenguajes para el control de maquinaria,
equipos y herramientas.
3
Historia de los ordenadores
Una computadora digital moderna es en gran medida un conjunto de interruptores electrnicos, los cuales se
utilizan para representar y controlar el recorrido de datos denominados dgitos binarios (o bits).
El desarrollo del transistor fue uno de los inventos muy importantes para la revolucin de la computadora
personal. El transistor fue inventado en 1948 por los ingenieros John Bardeen, Walter Brattain Y William
Shockley de los laboratorios Bell. Funciona como un interruptor de estado slido, sustituy al bulbo que era
mucho menos adaptable.
La conversin a transistores provoco la tendencia hacia la miniaturizacin que continua hasta el da de hoy.
En 1959, los ingenieros de Texas Instruments inventaron el CI (circuito integrado o chip), un semiconductor
que contiene mas de un transistor sobre la misma base y que conecta los transistores sin necesidad de cables.
El primer CI tena seis transistores.
En comparacin, el microprocesador Pentium Pro de Intel, que se usa en muchos de los sistemas mas
avanzados, tiene mas de 5.5 millones de transistores, y la memoria cach integral que incluyen algunos de
estos procesadores contiene hasta 32 millones de transistores adicionales Actualmente, muchos chips tienen
transistores que pueden contarse en varios millones.
Cuando en las computadoras se habla de historia se debe comprender que ni siquiera ha transcurrido medio
siglo desde que se invento la primera, por lo que hay que considerar otras unidades de medida de su
desempeo.
Lo anterior significa que la corta historia de las computadoras debe medirse no tanto en trminos de aos sino
ms bien en su funcin de sus avances tecnolgicos.
Cmo se miden los avances tecnolgicos de las computadoras?
Una computadora esta formada por dos componentes estructurales con el mismo nivel de importancia: el
equipo fsico (hardware) y los programas con los que funciona (software), lo cual significa que su grande
avance debe considerarse en esas dos direcciones. Es decir, el desarrollo de las computadoras se da en estos
dos aspectos:
Por sus caractersticas constructivas (circuitos, arquitectura global del sistema, tecnologa electrnica).
Por los programas bsicos con los que opera. Es decir, como se entabla comunicacin con ella (lenguajes,
sistema operativo, interfaces).
Desde la invencin de la primera de ellas, las computadoras han tenido un avance que se puede estudiar en
trminos de "generaciones".
Primera generacin
Abarca desde los inicios de los aos 50 hasta unos diez aos despus, y en la cual la tecnologa electrnica era
a base de bulbos o tubos de vaco, y la comunicacin era en trminos de nivel mas bajo que puede existir, que
se conoce como lenguaje de mquina. Estas mquinas eran as:
Estaban construidas con electrnica de bulbos
Se programaban en lenguaje de mquina
4
Un programa es un conjunto de instrucciones para que la mquina efecte alguna tarea, y que el lenguaje mas
simple en el que puede especificarse un programa se llama lenguaje de mquina (porque el programa debe
escribirse mediante algn conjunto de cdigos binarios). La primera generacin de computadoras y a sus
antecesores, se describen en la siguiente lista de los principales modelos de que const:
1947 ENIAC. Primera computadora digital electrnica de la historia. No fue modelo de produccin, sino una
maquina experimental. Tampoco era programable en el sentido actual. Se trataba de un enorme aparato que
ocupa todo un stano en la universidad. Constaban de 18 000 bulbos, consuma varios KW de potencia
elctrica y pesaba algunas toneladas. Era capaz de efectuar cinco mil sumas por segundo. Fue echa por un
equipo de ingenieros y cientficos encabezados por los doctores John W. Mauchly y J. Prester Eckert en la
universidad de Pennsylvania, en los Estados Unidos.
1949 EDVAC. Primera computadora programable. Tambin fue un prototipo de laboratorio, pero ya inclua
en s diseo las ideas centrales que conforman a las computadoras actuales. Incorporaba las ideas del doctor
John von Neumann.
1951 UNIVAC I. Primera computadora comercial. Los doctores Mauchly y Eckert fundaron la compaa
Universal Computer (Univac ), y su primer producto fue esta mquina. El primer cliente fue la oficina del
censo de Estados Unidos
1953 IBM 701. Para introducir los datos, estos equipos empleaban el concepto de tarjetas perforadas, que
haba, sido inventada en los aos de la revolucin industrial (finales del siglo XVIII) por el francs Jacquard y
perfeccionado por el estadounidense Hermand Hollerith en 1890. La IBM 701 fue la primera de una larga
serie de computadoras de esta compaa, que luego se convertira en la nmero 1 por su volumen de ventas.
1954 IBM continuo con otros modelos, que incorporaban un mecanismo de 1960 almacenamiento masivo
llamado tambor magntico, que con los aos evolucionara y se convertira en disco magntico.
Segunda generacin
No fue sino hacia finales de los aos 50 que los transistores reemplazaron a los bulbos en los circuitos de las
computadoras.
Las computadoras de la llamada segunda generacin ya no son de bulbos, sino con transistores son mas
pequeas y consumen menos electricidad que las anteriores, la forma de comunicacin con estas nuevas
computadoras es mediante lenguajes mas avanzados que el lenguaje de mquina, y que reciben el nombre de
"lenguajes de alto nivel" o lenguajes de programacin.
Las caractersticas de las computadoras de la segunda generacin son entonces:
Estaban construidas con electrnica de transistores
Se programaban en lenguajes de alto nivel
Esta segunda generacin duro pocos aos, porque pronto hubo nuevos avances en los dos factores
estructurales.
Tercera generacin
Esta nueva generacin fue inaugurada con la presentacin comercial de la llamada "serie 360" de IBM.
5
IBM se dedic a los aspectos de ingeniera, comercializacin y mercadotecnia de sus equipos, en corto tiempo
la nocin de las computadoras sali de los laboratorios y las universidades y se instal como un componente
imprescindible de la sociedad industrial moderna.
Las computadoras de la tercera generacin tienen ventajas cualitativamente importantes, debido a dos factores
fundamentales: por un lado, estn hechas a base de agrupamientos de transistores miniaturizados en paquetes
conocidos como circuitos integrados; por el otro, aunque se siguen programando en lenguajes de alto nivel,
ahora un mtodo de comunicacin con el programador que resulta mas fcil de emplear que el anterior.
Es decir, la electrnica de las computadoras de la tercera generacin (circuitos integrados) es ms compacta,
rpida y densa que la anterior, y la comunicacin se establece mediante una interfaz (un intermediario)
conocida como sistema operativo.
As, los dos criterios de definicin para las computadoras de la tercera generacin son:
Estn construidas con electrnica de circuitos integrados.
La comunicacin es mediante la ayuda de los sistemas operativos .
Historia de los lenguajes de programacin
En los aos 50 se realizaron varios compiladores primitivos y fue en 1957 cuando apareci el primer
compilador de FORTRAN. El compilador de FORTRAN (FORmula TRANslator) estaba diseado
para traducir a lenguaje mquina expresiones y operaciones matemtica, e incluso permita la
manipulacin de matrices. La aparicin del FORTRAN fue un gran cambio para los programadores
que no todos aceptaron de buen grado. No les gustaba que sus programas fueran tratados por el
ordenador como meros datos, y argumentaban que el cdigo mquina generado por el compilador
nunca podra ser tan eficiente como el escrito por ellos directamente. Esto no era generalmente as,
puesto que el FORTRAN no fue diseado pensando en crear un lenguaje bien estructurado sino
pensando en crear un traductor de expresiones aritmticas a cdigo mquina muy eficiente. Por ello, el
diseo lgico del ordenador IBM 704 para el que fue creado casi puede deducirse del lenguaje
FORTRAN. En diferentes versiones, cada vez ms estructuradas, el lenguaje FORTRAN se ha utilizado
extensivamente desde que apareci hasta hoy en da, y puede considerarse el lenguaje estndar del
clculo cientfico.
Unos aos despus de aparecer el FORTRAN apareci el lenguaje ALGOL 60 (Algorithm Language),
que fue diseado para ser independiente del ordenador con una gramtica bien definida. Tambin de
aquella poca es el COBOL (Common Business Oriented Language) que se diseo para las
manipulaciones de datos normales en aplicaciones de negocios y con un uso mayor del lenguaje ingls
en sus frases. Las versiones modernas del COBOL siguen usndose en la actualidad y es el lenguaje
estndar en aplicaciones informticas bancarias.
Desde entonces han aparecido diversos lenguajes de alto nivel entre los que podemos mencionar el
BASIC (Beginners Allpurpose Symbolic Instructional Code), PL/I , APL, PASCAL, ADA, MODULA ,
C , RPG, PROLOG, LISP, ... etc. Alguno de estos lenguajes han sido diseados para un tipo concreto de
aplicaciones. Por ejemplo, el ADA para aplicaciones relacionadas con defensa, o el RPG para
transacciones usuales en los bancos. La evolucin de los lenguajes de programacin ha estado guiada
por la evolucin de:
6
Los ordenadores y sus sistemas operativos.
Las aplicaciones.
Los mtodos de programacin.
Los fundamento tericos.
La importancia dada a la estandarizacin.
Un resumen de la evolucin de los lenguajes de programacin sera:
Periodo 1950 55
Influencias
Ordenadores primitivos
Lenguajes
Lenguajes ensamblador
Lenguajes experimentales de alto nivel
Periodo 1956 60
Influencias
Ordenadores pequeos, caros y lentos
Cintas magnticas
Compiladores e interpretes
Optimizacin del cdigo
Lenguajes:
FORTRAN
COBOL
LISP
ALGOL 58 y 60
Periodo 1961 65
Influencias
Ord. grandes y caros
Discos Magnticos
Sistemas operativos
7
Lenguajes de propsito general
Lenguajes
FORTRAN IV
COBOL 61 Extendido
SNOBOL
ALGOL 60 Revisado
APL (como notacin slo)
Periodo 1966 70
Influencias
Ordenadores de diferentes tamaos, velocidades, costes
Sistemas de almacenamiento masivo de datos (caros)
Sistemas Operativos multitarea e interactivos
Compiladores con optimizacin
Lenguajes estndar, flexibles y generales
Lenguajes
PL/I
FORTRAN 66 (estndar)
COBOL 65 (estndar)
ALGOL 68
SNOBOL4
SIMULA 67
BASIC
APL/360
Periodo 1971 75
Influencias
8
Micro ordenadores
Sistemas de almacenamiento masivo de datos pequeos y baratos
Programacin estructurada
Ingeniera del software
Lenguajes sencillos
Lenguajes
COBOL 74
PL /I
PASCAL
Periodo 1976 80
Influencias
Ordenadores baratos y potentes
Sistemas distribuidos
Programacin tiemporeal
Programacin interactiva
Abstraccin de datos
Programacin con fiabilidad y fcil mantenimiento
Lenguajes
ADA
FORTRAN 77
PROLOG
C
Relacin de los principales lenguajes de programacin
ABC
ABC es el resultado de un proyecto del CWI (un centro de investigacin holands de carcter oficial). En el
sitio web de CWI hay intrpretes ABC para distintas plataformas (Unix, Macintosh, MSDOS y AtariST).
Tambin est disponible el cdigo fuente de la versin Unix.
9
ABC pretende ser un sustituto de BASIC. Como ste, fue pensado para principiantes, aunque su evolucin
posterior lo hace tambin adecuado para programadores avanzados. Es muy fcil de aprender y de usar, y el
cdigo es compacto pero legible (al menos eso dicen). Tiene tipos de datos de muy alto nivel: nmeros
(enteros exactos de cualquier tamao y nmeros no exactos), textos (strings de cualquier longitud), listas (sus
elementos tienen que ser del mismo tipo y siempre estn ordenados), compuestos (equivalentes a registros sin
nombres de campo) y tablas (son listas con ndices o claves). Como sucede con otros intrpretes, ABC es,
adems de un lenguaje de programacin, un entorno interactivo de trabajo.
Un defecto de ABC es que los textos no pueden contener ms que los caracteres USASCII (nada de acentos,
ees, etc.). Tambin se le ha criticado la falta de extensibilidad (algo comn a muchos lenguajes, me parece).
El intrprete va acompaado de alguna informacin, pero el verdadero manual se vende como libro
independiente.
Ada
El lenguaje Ada fue el resultado de un concurso convocado por el Ministerio de Defensa de los Estados
Unidos para disponer de un solo lenguaje para todas sus necesidades. Este lenguaje deba ser til para fines
muy diversos, como programacin de sistemas, inteligencia artificial, y sobre todo, aplicaciones en tiempo
real (programas que controlan desde el trfico hasta la trayectoria de un misil) y sistemas incrustados (en
ingls, embedded; pequeos ordenadores contenidos en vehculos u otros aparatos). La primera
documentacin de Ada data de 1979, y el primer estndar, de 1983 (Ada 83). El ltimo estndar, Ada 95,
incorpora OOP e interfaces para C, Fortran y Cobol.
Ada es un sucesor de Pascal, y el cdigo fuente tiene un aspecto parecido, aunque es mucho ms potente y
flexible. El estndar 95 cumple todos los principios de ingeniera de software ampliamente reconocidos hoy
en da (fiabilidad, portabilidad, modularidad, eficiencia, tipos de datos abstractos, programacin concurrente,
programacin orientada a objetos, etc.).
El nombre del lenguaje es un homenaje a Ada Lovelace, hija de Lord Byron y ayudante de Charles Babbage,
quien es considerada como la primera programadora (hombre o mujer) de la historia.
APL y J
El profesor canadiense Ken Iverson, cuando trabajaba en la Universidad de Harvard, invent una notacin
personal para describir procedimientos matemticos (inicialmente, por tanto, no pretenda ser un lenguaje de
programacin). Esta notacin, concisa y sin ambigedad, fue descrita por el propio Iverson en 1962 en el libro
A Programming Language, (de ah las iniciales APL) y durante la dcada de los 60, IBM desarroll el primer
intrprete.
APL es sobre todo conocido por su concisin. Por ejemplo, la sentencia 10 ? 10 muestra por pantalla los
nmeros del 1 al 10 ordenados aleatoriamente:
Otro de los puntos fuertes de APL es su capacidad para manejar conjuntos de datos como un todo, evitando en
muchos casos la necesidad de bucles. Normalmente se trata de un lenguaje interpretado, proporcionando un
entorno interactivo y flexible.
APL ha sido criticado por su falta de legibilidad, lo que hace difcil modificar programas antiguos (hace, por
ejemplo, amplio uso del goto, es decir, de su forma particular). Otro defecto importante deriva del uso de
smbolos propios (letras griegas y otros caracteres an menos convencionales), lo que, adems de dificultar la
escritura (al no aparecer en los teclados normales), hace que el cdigo sea poco portable, ya que cada versin
10
concreta de APL almacena a su modo el cdigo fuente (y eso, sin contar, con las habituales diferencias de una
implementacin a otra). El propio Iverson, junto con Roger Hui, ha creado un nuevo lenguaje (J), derivado de
APL, que usa slo caracteres ASCII.
AWK
AWK (a menudo escrito enteramente en minsculas: awk), es un lenguaje descrito en un libro de Aho,
Kernighan y Weinberger (de los cuales toma las iniciales). Est especialmente indicado para el anlisis y
procesamiento de textos de acuerdo con patrones, haciendo uso de expresiones regulares.
Perl se puede considerar un descendiente suyo, heredando todas sus capacidades (e incluyendo muchas otras)
y parte de su sintaxis. A pesar de eso, hay algunas razones que pueden inclinarnos a usar AWK en vez de Perl,
como su mayor simplicidad, la mayor regularidad de su sintaxis y su menor tamao.
BASIC
El lenguaje BASIC fue creado en 1964 por los norteamericanos John Kemeny y Thomas Kurtz, en el
Dartmouth College. Su intencin era disear un lenguaje adecuado para principiantes. No tena, por tanto,
pretensiones de gran potencia, pero era sencillo de aprender y permita abordar pronto pequeos proyectos.
BASIC son las iniciales de Beginner's Allpurpose Symbolic Instruction Code.
El BASIC tuvo un gran xito; se us ampliamente en la enseanza y tambin en la programacin profesional.
Sin embargo, el BASIC original era poco estructurado, lo que hizo que recibiera muchas crticas,
especialmente como lenguaje de aprendizaje, por favorecer malos hbitos de programacin. Lo curioso es que
en lugar de desaparecer, fueron surgiendo versiones nuevas de BASIC, con caractersticas ms prximas a los
lenguajes modernos, y hoy en da Visual Basic (de Microsoft) es uno de los lenguajes ms utilizados en
Windows.
BETA
BETA es un lenguaje de programacin orientado a objetos, desarrollado inicialmente en varias universidades
escandinavas. Est relacionado con Simula (tambin de origen escandinavo), que fue el primer lenguaje
orientado a objetos.
C y C++
C fue creado en los Bell Telephone Laboratories al principio de los 70, por Dennis M. Ritchie. Su nacimiento
estuvo ligado al del sistema operativo Unix, que se desarroll paralelamente. Sus caractersticas deban ser:
eficiencia (o sea, rapidez en la ejecucin de los programas), potencia (permite explotar a fondo las
posibilidades de la mquina) y portabilidad. Unix fue reescrito en C, lo cual supuso un gran xito de este
lenguaje, a partir del cual se convirti en uno de los ms extendidos..
A C se le ha criticado que los programas suelen ser poco legibles y propensos a errores. Por contra, casi nadie
le discute su potencia y su gran implantacin, que a menudo lo convierten en la eleccin inevitable para
proyectos colectivos.
A partir de 1979, Bjarne Stroustrup, de AT&T, empez a trabajar en un descendiente de C con soporte de
orientacin a objetos y otras mejoras, que sera conocido como C++ (la primera versin, interna de AT&T,
data de 1983).
COBOL
11
COBOL (COmmon Business Oriented Language, lenguaje comn orientado a los negocios) fue desarrollado
en 1959 por un comit de CODASYL (Conference on Data Systems Languages). A pesar del tiempo
transcurrido, sigue siendo bastante usado en el mbito de la gestin empresarial. Como es habitual en los
lenguajes que perduran despus de mucho tiempo ha sufrido distintas modificaciones de acuerdo con las
nuevas tendencias.
COBOL es considerado un lenguaje de fcil aprendizaje. Los programas deben contener cuatro secciones:
identificacin, entorno, datos y procedimientos. Una herencia de sus lejanos orgenes es el uso de una
convencin basada en las columnas (por ejemplo, las sentencias deben estar entre las columnas 12 y 72),
aunque versiones modernas pueden usarse de otra forma.
Dialect
Dialect es un lenguaje diseado por la empresa Aristar, especializada en aplicaciones para centros mdicos.
Creado en principio como una versin de Basic, comparte con ste la facilidad de uso, pero es mucho ms
avanzado. Tiene tipos de alto nivel, como los frames o tablas con claves (como ABC) o arrays (listas
heterogneas y dinmicas como en Lisp) y soporta programacin orientada a objetos. Tambin tiene soporte
para desarrollar aplicaciones GUI.
Euphoria
Euphoria es un lenguaje interpretado (en realidad, seudo compilado) de gran velocidad. Sus caractersticas
ms importantes son la sencillez de aprendizaje y facilidad de uso. Su sintaxis es parecida a Pascal, aunque es
ms flexible y simple. Utiliza ampliamente un tipo de datos parecido a la lista de Lisp o Logo, llamado
secuencia (sequence). Euphoria es propiedad de la empresa canadiense RDS (Rapid Deployment Software).
Forth
Forth fue creado por Charles Moore en los aos 60 desarrollando herramientas especializadas para varias
aplicaciones. Fue formalizado como lenguaje para la automatizacin de telescopios cuando Moore trabajaba
en el National Radio Astronomy Observatory, en 1970. Forth suele considerarse un lenguaje para aplicaciones
cientficas, sin alejarse mucho del campo en que se fragu. Se considera especialmente adecuado para
sistemas incrustados (en ingls, embedded).
Forth cuenta entre sus ventajas el ser pequeo (ocupa poca memoria), rpido y extensible. Y entre sus puntos
dbiles, que tiene una sintaxis extraa que lo hace difcil de aprender y posiblemente de usar (aunque sobre
esto hay, como es natural, distintas opiniones). Una caracterstica importante es que es un lenguaje basado en
el uso de una pila (stack). Por ejemplo, la sentencia equivalente a PRINT 53 (de BASIC) es 5 3 ., donde 5
pone el nmero 5 en la cima de la pila, 3 pone el nmero 3 arriba del 5, resta el elemento de la cima del que
est debajo, elimina ambos operandos y pone en la pila el resultado, y . muestra el nmero de la cima y lo
elimina.
Como ejemplo de las posibilidades de Forth, lo siguiente es la definicin de una funcin para calcular el
mximo comn divisor de dos nmeros, basada en el algoritmo de Euclides
Fortran
FORTRAN (de FORmula TRANslation) fue creado por John Backus a mediados de la dcada de los 50 para
la IBM, convirtindose en el primer lenguaje de programacin de alto nivel. Fue pensado para aplicaciones
matemticas y cientficas y sigue siendo muy usado en ese terreno.
Los dos estndares principales son FORTRAN 77 y Fortran 90 (a partir de esta versin se empez a usar el
12
trmino con minsculas). El estndar 90 incorpor novedades importantes, como notacin de vectores,
localizacin dinmica de memoria, tipos derivados y sobrecarga de operadores, la mayora de las modernas
estructuras de control, etc.
Haskell
Haskell es un lenguaje funcional de muy alto nivel, con un cdigo conciso y claro. Pone nfasis en el qu ms
que en el cmo, permitiendo una programacin rpida. No es adecuado para aplicaciones en las que es
necesaria una gran velocidad de ejecucin as como cuando hay poca disponibilidad de memoria o hace falta
implementar algoritmos a bajo nivel.
Icon
Icon es un lenguaje de muy alto nivel, diseado hace unos veinte aos por Ralph E. Griswold y colaboradores
en el Department of Computer Science de la Universidad de Arizona. Griswold ya tena experiencia previa en
el diseo de lenguajes de alto nivel, pues fue uno de los creadores de SNOBOL, y de l tom algunas
caractersticas para Icon.
Icon destaca en el tratamiento de textos, permitiendo una programacin rpida y concisa. Entre otros
objetivos, puede ser usado para anlisis y formateo de textos, inteligencia artificial, matemticas simblicas y
programacin de prototipos. Las ltimas versiones incluyen tambin grficos y facilidades GUI.
Java
Java es un lenguaje muy moderno (se present en 1995) desarrollado por la empresa Sun Microsistems al
parecer su historia es bastante curiosa, inicindose como un lenguaje para el control de electrodomsticos (con
el nombre de Oak). Cuando el proyecto estaba prcticamente abandonado, Bill Joy, cofundador de Sun,
viendo Internet como el terreno idneo para competir con Microsoft, retom este lenguaje, que con los
cambios pertinentes se transform en Java.
Java es famoso por las applets, pequeas aplicaciones grficas que se insertan dentro de una pgina web. Uno
de sus puntos fuertes es su capacidad multiplataforma, que permite que el mismo cdigo seudo compilado se
ejecute en cualquier sistema (cualquier sistema con soporte Java, claro).
En cuanto al lenguaje en s, es un descendiente de C++, aunque intenta corregir muchos de sus defectos. Est
totalmente orientado a objetos e incluye numerosas bibliotecas estndar.
Lisp
Lisp fue diseado a finales de los aos 50 por el pionero de la Inteligencia Artificial John McCarthy. Aunque
(a diferencia de otros lenguajes posteriores, como Prolog) no contiene mecanismos de inferencia intrnsecos,
stos son fciles de implementar. La estructura de datos esencial en Lisp es la lista, una secuencia ordenada de
elementos que pueden ser tomos (funciones, nombres o nmeros) u otras listas. Las listas son esenciales en
IA debido a su flexibilidad. Y desde luego son esenciales en Lisp, cuyo nombre deriva, precisamente de List
Processing.
El Lisp original slo tena unas cuantas funciones de manipulacin de listas con las cuales se deba ir
construyendo otras funciones, cada vez de mayor complejidad. Las versiones actuales contienen muchas ms
funciones que facilitan la programacin. Aunque existen muchas variantes, la llamada Commom Lisp sirve
normalmente de referencia.
Logo
13
Logo es un lenguaje derivado de Lisp desarrollado a finales de los aos 60 por Daniel Bobrow y Wallace
Feurzeig, de Bolt, Beranek and Newman, Inc. y por Seymour Papert del Massachusetts Institute of
Technology. Est concebido como un lenguaje apropiado para el aprendizaje y fue muy usado cuando se
empezaron a introducir ordenadores en los centros de enseanza. Su caracterstica ms conocida es el uso de
los llamados grficos de tortuga, un sistema muy intuitivo de realizar grficos.
Adems de su inters como lenguaje educativo, Logo es apropiado para una amplia variedad de aplicaciones
de inteligencia artificial y simulaciones. Comparte con Lisp el ser interactivo e interpretado, basado en
funciones y en listas y usar ampliamente la recursividad. Por contra, elimina el uso exagerado de parntesis
anidados propio de Lisp y es ms fcil de aprender.
Modula2
A finales de los setenta, Niklaus Wirth, autor de Pascal, dise un nuevo lenguaje de programacin llamado
Modula2. Modula2 tiene muchos puntos en comn con Pascal y corrige algunos de sus defectos. Como su
nombre sugiere est basado en la programacin modular. Es adecuado para el aprendizaje de la programacin
y tambin para proyectos reales de cualquier tamao.
Modula3
Modula3 es otro miembro de la familia de lenguajes derivados de Pascal, creado a finales de los ochenta por
las compaas DEC (Digital Equipment Corporation) y Olivetti. Incorpora nuevas facilidades para el manejo
de excepciones, programacin concurrente, programacin orientada a objetos y recoleccin automtica de
basura.
Pascal
Pascal fue creado inicialmente por Niklaus Wirth como un lenguaje para la enseanza de la programacin al
final de los aos 60. Es un descendiente de Algol y a su vez influy mucho en otros lenguajes posteriores,
como Ada. Destaca por la claridad del cdigo y por promover buenos hbitos de programacin.
Pascal alcanz una gran popularidad cuando la empresa Borland lanz Turbo Pascal, un compilador para
IBMPC rpido y barato, que adems introduca mejoras importantes al lenguaje. Su sucesor, tambin de gran
xito, es Delphi, una herramienta de programacin visual basada en Object Pascal, una versin de Pascal con
objetos.
Perl
Perl es un lenguaje de alto nivel escrito por Larry Wall y miles de voluntarios. La primera versin es del ao
1988. Hereda caractersticas de lenguajes dispares, como AWK (del que puede considerarse sucesor), C o el
shell de Unix. Aunque es muy potente y extenso, normalmente slo hace falta usar una parte mnima de sus
posibilidades, siendo fcil de aprender. Puede usarse para muchas tareas, siendo especialmente adecuado para
el anlisis y generacin de textos y la administracin de sistemas.
Perl se ha hecho famoso por ser muy usado en Internet, ejecutndose continuamente en miles de servidores.
Es fcil encontrar montones de recursos sobre este lenguaje, que hoy en da est casi tan de moda como Java.
Prolog
Prolog parte de los trabajos, a principios de los 70, de Robert A. Kowalski, de la Universidad de Edimburgo, y
Alain Colmerauer, de la Universidad de AixMarseille. Forma parte de un conjunto de lenguajes llamados
lgicos, ya que implementan una lgica formal. Se dice que Prolog es adecuado para buscar soluciones de
14
problemas que no sabemos resolver, mientras que la mayora de los dems lenguajes (llamados imperativos)
son ms tiles cuando conocemos de antemano la solucin (que hay que explicar con detalle segn la
gramtica del lenguaje).
Prolog se extendi rpidamente por Europa y Estados Unidos, pero quiz lo que le dio ms fama fue su
eleccin en 1982 por parte de un programa japons de investigacin sobre ordenadores de quinta generacin.
Normalmente se considera un lenguaje ligado a la investigacin sobre Inteligencia Artificial, aunque hoy en
da se utiliza tambin en campos diversos, incluyendo finanzas, defensa o ingeniera.
Scheme
Scheme es un dialecto de Lisp creado a mediados de los 70 por Guy Lewis Steele Jr. y Gerald Jay Sussman,
del MIT. Pone nfasis en la elegancia y simplicidad y es mucho ms pequeo que la mayora de versiones de
Lisp. Es muy usado en ambientes acadmicos y de investigacin.
Smalltalk
Smalltalk fue desarrollado en Xerox Parc (Palo Alto Research Center) bajo el impulso de Alan Kay durante la
dcada de los 70. Inicialmente deba ser un lenguaje para un ordenador personal llamado Dynabook dirigido a
todo tipo de usuarios, incluyendo nios. Deba ser, por tanto, un sistema con un entorno intuitivo y fcil de
programar. Aunque el proyecto Dynabook nunca se complet, el lenguaje tom vida propia y continu su
camino.
Es poco conocida la gran importancia que tuvo este desarrollo en la evolucin de la informtica. De l parten
muchas de las ideas de los modernos interfaces de usuario, como el uso de grficos, ratn, ventanas y mens
desplegables. Se puede leer ms sobre esto al principio de este documento.
Smalltalk es un lenguaje orientado a objetos puro (el mismo trmino, si no el concepto, fue inventado por
Alan Kay) e incluye todos los conceptos claves, como clases, mtodos, mensajes y herencia. Todo el
programa es una cadena de mensajes enviados a objetos.
SNOBOL
SNOBOL fue diseado en los Bell Laboratories por D. J. Farber, R. E. Griswold y F. P. Polensky a principios
de los aos 60. Se trata de un lenguaje de muy alto nivel orientado a la manipulacin de cadenas de caracteres
con rasgos muy avanzados. A pesar de que ejerci una influencia bastante importante (por ejemplo, en la
formacin del concepto de expresin regular), hoy en da apenas se utiliza y puede considerarse como un
lenguaje histrico. R. E. Griswold desarroll posteriormente Icon, que hereda algunas caractersticas de
SNOBOL.
Tendencias de cara al futuro
Todos los lenguajes de programacin actuales coinciden en una tendencia clara hacia las comunicaciones, ya
que Internet es el objetivo claro de todas las empresas y usuarios particulares. Teniendo en cuenta que la
programacin esta orientada a dar servicio a estas dos reas, que son las que ms dinero mueven, podemos
observar como cada vez los lenguajes de programacin e Internet estn ms ligados.
Al igual que los lenguajes de programacin dependen de la demanda de empresas y usuarios, estos dependen
de los servicios que les proporcione la programacin. Con esto solo quiero indicar que se ha formado un
circulo vicioso (aunque cabria decir beneficioso) que hace rodar a todo el conjunto en un avance continuo, ya
que cuando uno de los elementos queda atascado son los otros los que tiran de el con fuerza.
15
La entrada de los usuarios en este grupo ha venido dada por la implantacin masiva de los ordenadores
personales en los domicilios particulares. Hace unos aos (no muchos, como hemos podido ver en la Historia
de los ordenadores), la demanda de programacin era casi exclusiva de empresas, gobierno y universidades,
puesto que los ordenadores eran muy caros y los programas eran inaccesibles. Pero esto en nuestros das ha
cambiado, y mucho, cualquier persona tiene acceso a un ordenador, y la gran mayora lo tiene en propiedad.
Quiere esto decir que la programacin, y con ella los lenguajes de programacin, debe estar atenta a las
necesidades de este rea de consumidores, que aunque de uno en uno no supongan gran demanda, en grupo si.
Por lo tanto, tenemos que reconocer que ha habido mucha evolucin el los lenguajes de programacin desde
su concepcin hasta nuestros das, pero lo que es innegable es que esta evolucin no ha terminado sino que
continua, y yo aun dira ms, cada vez se acelera ms.
Bibliografa
Apuntes tomados en la asignatura de Informtica Bsica.
Profesor: Jess Mainar.
Apuntes del curso de apoyo de Informtica Bsica.
Profesor: Luis Lpez Ortiz.
Internet:
Glosario
16

También podría gustarte