Lenguajes de programación del siglo XX [abril 2007]

9
e x p o s i c i ó n lenguajes de programación del siglo XX b i b l i o t e c a . e t s I t

description

Exposición sobre algunos de los más importantes lenguajes de programación del siglo XX [Pascal, Fortran, Cobol, Basic, Pascal, C...] a través de sus manuales custodiados en el fondo de biblioteca.etsit.

Transcript of Lenguajes de programación del siglo XX [abril 2007]

Page 1: Lenguajes de programación del siglo XX [abril 2007]

e x p o s i c i ó n

lenguajes de programación

del siglo XX b i b l i o t e c a . e t s I t

Page 2: Lenguajes de programación del siglo XX [abril 2007]

biblioteca.etsit exposiciones & eventos

1

memoria sobre la exposición sobre lenguajes de programación del siglo XX | abril de 2007 |

¿Qué es un lenguaje de programación?

Un lenguaje de programación es un lenguaje que puede ser utilizado para controlar el

comportamiento de una máquina, particularmente una computadora. Consiste en un conjunto de

reglas sintácticas y semánticas que definen su estructura y el significado de sus elementos

respectivamente.

Aunque muchas veces se usa lenguaje de programación y lenguaje informático como si fuesen

sinónimos, no tiene por qué ser así, ya que los lenguajes informáticos engloban a los lenguajes

de programación y a otros más, como, por ejemplo, el HTML.

Un lenguaje de programación permite a un programador especificar de manera precisa sobre qué

datos una computadora debe operar, cómo deben ser estos almacenados y transmitidos y qué

acciones debe tomar bajo una variada gama de circunstancias. Todo esto, a través de un

lenguaje que intenta estar relativamente próximo al lenguaje humano o natural, tal como

sucede con el lenguaje léxico.

Los procesadores usados en los ordenadores son capaces de entender y actuar según lo indican

programas escritos en un lenguaje fijo llamado lenguaje de máquina. Todo programa escrito en

otro lenguaje puede ser ejecutado de dos maneras. Mediante un programa que va adaptando las

instrucciones conforme son encontradas -este proceso es llamado interpretar y a los programas

que lo hacen se los conoce como intérpretes- o bien traduciendo ese programa al programa

equivalente escrito en lenguaje de máquina – un proceso denominado compilar y cuyo traductor

es conocido como compilador-.

La Biblioteca de la ETSI Telecomunicación presenta en esta exposición una recopilación de

libros sobre algunos de los lenguajes de programación más comunes en sus colecciones. Se

incluye una pequeña referencia a la historia del lenguaje escogido y una impresión del habitual

texto “hola mundo” en cada lenguaje.

¿Cuáles son los tipos de lenguajes de programación?

Los lenguajes de programación se determinan según su nivel de abstracción, la forma de

ejecución y el paradigma de programación que poseen cada uno de ellos.

1 Lenguajes de programación según su nivel de abstracción

Lenguajes de bajo nivel. Los lenguajes de bajo nivel son lenguajes de programación que se

acercan al funcionamiento de una computadora. El lenguaje de más bajo nivel es, por

excelencia, el código máquina. A éste le sigue el lenguaje ensamblador, ya que al programar

en ensamblador se trabajan con los registros de memoria de la computadora de forma directa.

Page 3: Lenguajes de programación del siglo XX [abril 2007]

biblioteca.etsit exposiciones & eventos

2

Lenguajes de medio nivel. Hay lenguajes de programación que son considerados por algunos

expertos como lenguajes de medio nivel (como es el caso del lenguaje C) al tener ciertas

características que los acercan a los lenguajes de bajo nivel pero teniendo, al mismo tiempo,

ciertas cualidades que lo hacen un lenguaje más cercano al humano y, por tanto, de alto nivel.

Lenguajes de alto nivel. Los lenguajes de alto nivel son normalmente fáciles de aprender

porque están formados por elementos de lenguajes naturales, como el inglés. En BASIC, el

lenguaje de alto nivel más conocido, los comandos como "IF CONTADOR = 10 THEN STOP" pueden

utilizarse para pedir a la computadora que pare si CONTADOR es igual a 10. 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

rígida y sistemática.

2 Lenguajes de programación según la forma de ejecución

Lenguajes compilados. Naturalmente, un programa que se escribe en un lenguaje de alto nivel

también tiene que traducirse a un código que pueda utilizar la máquina. Los programas

traductores que pueden realizar esta operación se llaman compiladores. Éstos, como los

programas ensambladores avanzados, pueden generar muchas líneas de código de máquina por

cada proposición del programa fuente.

Al usar un lenguaje compilado (como lo son los lenguajes del popular Visual Studio de Microsoft),

el programa desarrollado nunca se ejecuta mientras haya errores sino hasta que después de

haber compilado el programa ya no aparecen errores en el código.

Lenguajes interpretados. Se puede también utilizar una alternativa diferente de los

compiladores para traducir lenguajes de alto nivel. En vez de traducir el programa fuente y

grabar en forma permanente el código objeto que se produce durante la compilación para

utilizarlo en una producción futura, el programador sólo carga el programa fuente en la

computadora junto con los datos que se van a procesar. A continuación, un programa intérprete,

almacenado en el sistema operativo del disco o incluido de manera permanente dentro de la

máquina, convierte cada proposición del programa fuente en lenguaje de máquina conforme

vaya siendo necesario durante el procesado de los datos. No se graba el código objeto para

utilizarlo posteriormente.

3 Lenguajes de programación según el paradigma de programación

Lenguajes orientados a objetos. En la Programación Orientada a Objetos (POO u OOP según

siglas en inglés) se definen los programas en términos de clases de objetos, objetos que son

entidades que combinan estado (es decir, datos) comportamiento (esto es, procedimientos o

Page 4: Lenguajes de programación del siglo XX [abril 2007]

biblioteca.etsit exposiciones & eventos

3

métodos) e identidad (propiedad del objeto que lo diferencia del resto). La programación

orientada a objetos expresa un programa como un conjunto de estos objetos, que colaboran

entre ellos para realizar tareas. Esto permite hacer los programas módulos más fáciles de

escribir, mantener y reutilizar.

1954 – Fortran

Fortran, o FORTRAN hasta principios de los años 90, es un lenguaje desarrollado en los años 50 y

activamente utilizado desde entonces, cuya denominación es el acrónimo de “formula

translation”.

Se utiliza en aplicaciones científicas y análisis numérico y desde 1958 ha pasado por varias

versiones [II, IV, 77, 90, 95, 2003]. Fue diseñado tomando en cuenta que los programas serían

escritos en tarjetas perforadas de 80 columnas, con líneas numeradas y con el orden de

ejecución sólo alterado por la instrucción “goto”.

PROGRAM HOLA

PRINT*,’¡Hola, mundo!’

END

1958 – Lisp

Lisp es el segundo lenguaje de programación, después de Fortran, de alto nivel. Lisp es de tipo

declarativo y fue creado por John McCarthy y sus colaboradores en el MIT.

El elemento fundamental en Lisp es la lista, en el sentido más amplio del término, pues tanto los

datos como los programas son listas. De ahí viene su nombre, pues Lisp es un acrónimo de

"LIStProcessing". Los lenguajes de este tipo se llaman "aplicativos" o "funcionales", porque se

basan en la aplicación de funciones a sus datos.

(format t “¡Hola, mundo!”)

1959 – COBOL

El lenguaje COBOL (acrónimo de COmmon Business -Oriented Language, Lenguaje Común

Orientado a Negocios) fue creado en el año 1960 con el objetivo de crear un lenguaje de

programación universal que pudiera ser usado en cualquier ordenador, ya que en los años 1960

existían numerosos modelos de ordenadores incompatibles entre sí, y que estuviera orientado

principalmente a los negocios, es decir, a la llamada informática de gestión.

IDENTIFICATION DIVISION.

PROGRAM-ID. HELLO.

ENVIRONMENT DIVISION

DATA DIVISION.

PROCEDURE DIVISION.

Page 5: Lenguajes de programación del siglo XX [abril 2007]

biblioteca.etsit exposiciones & eventos

4

DISPLAY “Hola mundo”

STOP RUN

1964 – BASIC

BASIC es una familia de lenguajes de programación. Fue originalmente ideado como una

herramienta de enseñanza, se diseminó entre los microordenadores domésticos en la década de

1980 y sigue siendo popular hoy en día en muchos dialectos bastante distintos del original.BASIC

es el acrónimo de Beginners All-purpose Symbolic Instruction Code (en español ‘código de

instrucciones simbólicas de propósito general para principiantes’) y está ligado al nombre de un

trabajo sin publicar del co-inventor del lenguaje, Thomas Kurtz.

10 print “Hola Mundo”

1970 – PASCAL

Pascal es un lenguaje de programación desarrollado por el profesor suizo Niklaus Wirth a finales

de los años 60. Su objetivo era crear un lenguaje que facilitara el aprendizaje de la

programación a sus alumnos. Sin embargo con el tiempo su utilización excedió el ámbito

académico para convertirse en una herramienta para la creación de aplicaciones de todo tipo.

Pascal se caracteriza por ser un lenguaje de programación estructurado fuertemente tipificado.

Esto implica que el código está dividido en porciones fácilmente legibles llamadas funciones o

procedimientos. De esta forma Pascal facilita la utilización de la programación estructurada en

oposición al antiguo estilo de programación monolítica. También significa que el tipo de dato de

todas las variables debe ser declarado previamente para que su uso quede habilitado. El nombre

de Pascal fue escogido en honor al matemático Blaise Pascal.

program HolaMundo;

begin

writeln(‘¡Hola, mundo!’);

end.

1972 – C

C es un lenguaje de programación creado en 1969 por Ken Thompson y Dennis M. Ritchie en los

Laboratorios Bell como evolución del anterior lenguaje B, a su vez basado en BCPL. Al igual que

B, es un lenguaje orientado a la implementación de sistemas operativos, concretamente Unix. C

es apreciado por la eficiencia del código que produce y es el lenguaje de programación más

popular para crear software de sistemas, aunque también se utiliza para crear aplicaciones.

Se trata de un lenguaje débilmente tipado de medio nivel pero con muchas características de

bajo nivel. Dispone de las estructuras típicas de los lenguajes de alto nivel pero, a su vez,

dispone de construcciones del lenguaje que permiten un control a muy bajo nivel. Los

Page 6: Lenguajes de programación del siglo XX [abril 2007]

biblioteca.etsit exposiciones & eventos

5

compiladores suelen ofrecer extensiones al lenguaje que posibilitan mezclar código en

ensamblador con código C o acceder directamente a memoria o dispositivos periféricos.

La primera estandarización del lenguaje C fue en ANSI, con el estándar X3.159-1989. El lenguaje

que define este estándar fue conocido vulgarmente como ANSI C. Posteriormente, en 1990, fue

ratificado como estándar ISO (ISO/IEC 9899:1990). La adopción de este estándar es muy amplia,

por lo que si los programas creados lo siguen, el código es portable entre plataformas y/o

arquitecturas. En la práctica, los programadores suelen usar elementos no-portables

dependientes del compilador o del sistema operativo.

#include<stdio.h>

Int main(void)

{

Printf(“¡Hola, mundo!\n”);

Return 0;

}

1972 – Smalltalk

Smalltalk es un sistema informático que permite realizar tareas de computación mediante la

interacción con un entorno de objetos virtuales. Metafóricamente, se puede considerar que un

Smalltalk es un mundo virtual donde viven objetos que se comunican mediante el envío de

mensajes.

Un sistema Smalltalk esta compuesto por una máquina virtual; una imagen virtual que contiene

todos los objetos del sistema; un lenguaje de programación (también conocido como Smalltalk);

una biblioteca de objetos reutilizables y, opcionalmente, un entorno de desarrollo que funciona

como un sistema en tiempo de ejecución.

Transcript show: ‘¡Hola, mundo!’

1972 – PROLOG

Prolog, proveniente del francés Programation et Logique, es un lenguaje de programación lógico

e interpretado, bastante popular en la investigación en inteligencia artificial. Se trata de un

lenguaje de programación ideado a principios de los años 70 en la universidad de Aix-Marseille

por los profesores Alain Colmerauer y Phillipe Roussel. Inicialmente se trataba de un lenguaje

totalmente interpretado hasta que, a mediados de los 70, David H.D. Warren desarrolló un

compilador capaz de traducir Prolog en un conjunto de instrucciones de una máquina abstracta

denominada Warren Abstract Machine, o abreviadamente, WAM. Desde entonces Prolog es un

lenguaje semi-interpretado que se enmarca en el paradigma de los lenguajes lógicos, lo que lo

diferencia enormemente de otros lenguajes más populares tales como Fortran, Pascal, C, etc.

Page 7: Lenguajes de programación del siglo XX [abril 2007]

biblioteca.etsit exposiciones & eventos

6

1973 – ML

ML es un lenguaje de programación de propósito general de la familia de los lenguajes de

programación funcional desarrollado por Robin Milner y otros a finales de los años 1970 en la

Universidad de Edimburgo. ML es un acrónimo de Meta Lenguaje dado que fue concebido como

el lenguaje para desarrollar tácticas de demostración en el sistema LCF (El lenguaje para el cual

ML era meta lenguaje es pplambda, una combinación del cálculo de predicados de primer orden

y el lambda-cálculo polimórfico sencillamente tipificado).

Frecuentemente se clasifica a ML como un lenguaje funcional impuro dado que permite

programar imperativamente con efectos de borde, a diferencia de otros lenguajes de

programación funcional, tales como Haskell.

1978 - SQL

El Lenguaje de Consulta Estructurado (Structured Query Language) es un lenguaje declarativo de

acceso a bases de datos relacionales que permite especificar diversos tipos de operaciones sobre

las mismas. Aúna características del álgebra y el cálculo relacional permitiendo lanzar consultas

con el fin de recuperar información de interés de una base de datos, de una forma sencilla. Es

un lenguaje de cuarta generación (4GL).

1983 – ADA

Ada es un lenguaje de programación estructurado y fuertemente tipado de forma estática que

fue diseñado por Jean Ichbiah de CII Honeywell Bull por encargo del Departamento de Defensa

de los Estados Unidos. Es un lenguaje multipropósito, orientado a objetos y concurrente,

pudiendo llegar desde la facilidad de Pascal hasta la flexibilidad de C++.

Fue diseñado con la seguridad en mente y con una filosofía orientada a la reducción de errores

comunes y difíciles de descubrir. Para ello se basa en un tipado muy fuerte y en chequeos en

tiempo de ejecución (desactivables en beneficio del rendimiento). La sincronización de tareas se

realiza mediante la primitiva rendezvous.

Ada se usa principalmente en entornos en los que se necesita una gran seguridad y confiabilidad

como la defensa, la aeronáutica (Boeing o Airbus), la gestión del tráfico aéreo (como Indra en

España) y la industria aeroespacial entre otros.

With Ada.Text_IO;

Procedure Hola_Mundo is begin

Ada.Text_IO.Put(“¡Hola, mundo!”);

End Hola_Mundo;

1990 – Python

Page 8: Lenguajes de programación del siglo XX [abril 2007]

biblioteca.etsit exposiciones & eventos

7

Python es un lenguaje de programación creado por Guido van Rossum en el año 1990. Es

comparado habitualmente con TCL, Perl, Scheme, Java y Ruby. En la actualidad Python se

desarrolla como un proyecto de código abierto, administrado por la Python Software

Foundation. Python es considerado como la "oposición leal" a Perl, lenguaje con el cual

mantiene una rivalidad amistosa. Los usuarios de Python consideran a éste mucho más limpio y

elegante para programar. Python es un lenguaje interpretado, lo que ahorra un tiempo

considerable en el desarrollo del programa, pues no es necesario compilar ni enlazar. El

intérprete se puede utilizar de modo interactivo, lo que facilita experimentar con características

del lenguaje, escribir programas desechables o probar funciones durante el desarrollo del

programa. También es una calculadora muy útil.

El nombre del lenguaje proviene de la afición de su creador original, Guido van Rossum, por los

humoristas británicos Monty Python. El principal objetivo que persigue este lenguaje es la

facilidad, tanto de lectura, como de diseño.

print “Hola mundo”

1991 – Java

Java es un lenguaje de programación orientado a objetos desarrollado por Sun Microsystems a

principios de los 90. A diferencia de los lenguajes de programación convencionales, que

generalmente están diseñados para ser compilados a código nativo, Java es compilado en un

bytecode que es interpretado (usando normalmente un compilador JIT), por una máquina virtual

Java. El lenguaje en sí mismo toma mucha de su sintaxis de C y C++, pero tiene un modelo de

objetos mucho más simple y elimina herramientas de bajo nivel como punteros. Java está sólo

lejanamente emparentado con JavaScript, aunque tengan nombres similares y compartan una

sintaxis al estilo de C algo parecida.

Public class HolaMundo

{

Public static void main (String[]args)

{

System.out.println(“¡Hola, mundo!”);

}

}

2000 – C#

C# (pronunciado "si sharp", C sostenido o C almohadilla) es un lenguaje de programación

orientado a objetos desarrollado y estandarizado por Microsoft como parte de su plataforma

.NET, que después fue aprobado como un estándar por la ECMA e ISO. Su sintaxis básica deriva

de C/C++ y utiliza el modelo de objetos de la plataforma .NET el cual es similar al de Java

Page 9: Lenguajes de programación del siglo XX [abril 2007]

biblioteca.etsit exposiciones & eventos

8

aunque incluye mejoras derivadas de otros lenguajes (más notablemente de Delphi y Java). Fue

diseñado para combinar el control a bajo nivel de lenguajes como C y la velocidad de

programación de lenguajes como Visual Basic. C# significa, "do sostenido" (C corresponde a do en

la terminología musical anglo-sajona). El símbolo # viene de sobreponer "++" sobre "++" y

eliminar las separaciones, indicando así su descendencia de C++.

usingSystem;

&nbsp;

Class MainClass

{

Public static void Main ()

{Console. WirteLine(“¡Hola,mundo!”);

}

}