linea del tiempo de los lenguajes de programacion imperativos

16
 LINEA DEL TIEMPO DE LOS LENGUAJES DE PROGRAMACION IMPERATIVOS -----------------------------------------------------1 953 FORTRAN Job Backus propone el desarrollo de un nuevo lenguaje ----------------------------------------------------- 1954 FORTRAN Un equipo de IBM comienza a trabajar en el FORTRAN ----------------------------------------------------- 1957 FORTRAN IBM desarrolla la primera versión ----------------------------------------------------- 1959 LISP El profesor John McCarthy y sus alumnos desarrolla el LISP ----------------------------------------------------- 1960 ALGOL Se reúnen representantes europeos y de EEUU para la creación de un nuevo lenguaje ----------------------------------------------------- 1960 COBOL Fue creado COBOL ----------------------------------------------------- 1962 APL Se publica el libro de Kenneth Iverson A Programming Language -------------------------------------------- Mediado de los 60 APL El APL es implantado por IBM en una versión conocida como APL/360 ----------------------------------------------------- 1965 BASIC Aparece BASIC ----------------------------------------------------- 1966 FORTRAN Aparece el FORTRA IV ----------------------------------------------------- 1968 ALGOL Se implemento una nueva ver sión multiproposito --------------------------------------------- Finales de los 60 APL Está disponible para el mercado en general ----------------------------------------------------- 1970 PASCAL Niklaus Wirth diseña PASCAL ----------------------------------------------------- 1972 PROLOG Se desarrolla en la Universidad de AixMarsailles en Francia. ----------------------------------------------------- 1972 C Dennis Ritchie crea el lenguaje C.

Upload: nayeli-del-angel-olivares

Post on 11-Jul-2015

99 views

Category:

Documents


0 download

DESCRIPTION

lenguajes de programacion p´roceduralesAutor: NAYELI DEL ANGEL OLIVARES.

TRANSCRIPT

Page 1: Linea Del Tiempo de Los Lenguajes de Programacion Imperativos

5/11/2018 Linea Del Tiempo de Los Lenguajes de Programacion Imperativos - slidepdf.com

http://slidepdf.com/reader/full/linea-del-tiempo-de-los-lenguajes-de-programacion-imperativos 1/16

 

LINEA DEL TIEMPO DE LOS LENGUAJES DE PROGRAMACION IMPERATIVOS

-----------------------------------------------------1 953

FORTRANJob Backus propone el desarrollo de un nuevo lenguaje

----------------------------------------------------- 1954

FORTRANUn equipo de IBM comienza a trabajar en el FORTRAN

----------------------------------------------------- 1957

FORTRANIBM desarrolla la primera versión

----------------------------------------------------- 1959

LISPEl profesor John McCarthy y sus alumnos desarrolla el LISP

----------------------------------------------------- 1960

ALGOLSe reúnen representantes europeos y de EEUU para la creación de un nuevo lenguaje

----------------------------------------------------- 1960

COBOLFue creado COBOL

----------------------------------------------------- 1962

APLSe publica el libro de Kenneth Iverson A Programming Language

-------------------------------------------- Mediado de los 60

APLEl APL es implantado por IBM en una versión conocida como APL/360

----------------------------------------------------- 1965

BASICAparece BASIC

----------------------------------------------------- 1966

FORTRANAparece el FORTRA IV

----------------------------------------------------- 1968

ALGOLSe implemento una nueva versión multi−proposito 

--------------------------------------------- Finales de los 60

APLEstá disponible para el mercado en general

----------------------------------------------------- 1970

PASCALNiklaus Wirth diseña PASCAL

----------------------------------------------------- 1972

PROLOGSe desarrolla en la Universidad de Aix−Marsailles en Francia. 

----------------------------------------------------- 1972

CDennis Ritchie crea el lenguaje C.

Page 2: Linea Del Tiempo de Los Lenguajes de Programacion Imperativos

5/11/2018 Linea Del Tiempo de Los Lenguajes de Programacion Imperativos - slidepdf.com

http://slidepdf.com/reader/full/linea-del-tiempo-de-los-lenguajes-de-programacion-imperativos 2/16

 

----------------------------------------------------- 1977 FORTRAN

Aparece el FORTRAN 77---------------------------------------------- Finales de los 70 

MODULA−2 

 Niklaus Wirth dirige el desarrollo de MODULA−2 -------------------------------------------- Principio de los 80

C++Se desarrolla el lenguaje C++

----------------------------------------------------- 1985

CLIPPERSe crea CLIPPER

----------------------------------------------------- 1986

CLIPPERAparece CLIPPER AUTUMN'86

----------------------------------------------------- 1987

CLIPPERCLIPPER SUMMER'87----------------------------------------------------- 1988

CLIPPERGatsoft Clipper Summer'88

----------------------------------------------------- 1990

FORTRANAparece el FORTRAN 90

------------------------------------------------ Principios 90JAVA

James Gosling y su equipo comienzan a desarrollar JAVA----------------------------------------------------- 1993

Visual C++Se desarrolla el lenguaje Visual C++

----------------------------------------------------- 1994

DELPHIAparece la primera versión

---------------------------------------------------- 1995

JAVASe lanza al mercado JAVA

----------------------------------------------------- 1999

DELPHIAparece Delphi 5.0 Para windows 98 NT/2000

Page 3: Linea Del Tiempo de Los Lenguajes de Programacion Imperativos

5/11/2018 Linea Del Tiempo de Los Lenguajes de Programacion Imperativos - slidepdf.com

http://slidepdf.com/reader/full/linea-del-tiempo-de-los-lenguajes-de-programacion-imperativos 3/16

 

Ejemplos de lenguajes imperativos o procedural

PASCAL

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

Wirth entre los años 1968 y 1969 y publicado en 1970. Su objetivo era crear un lenguaje

que facilitara el aprendizaje de programación a sus alumnos, utilizando la programación

estructurada y estructuración de datos. 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.

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

Ejemplo:

Raíz cuadrada 

 program  raiz(input, output);

uses wincrt;

(*Obtener la raíz cuadrada de un número real x cualquiera.*) 

var x, y: real;

respuesta: string;

 begin 

writeln('** Calcular la raíz cuadrada de 12 **');

writeln('Entrar x (> 0): ');

readln(x);

y := sqrt(abs(x)); (* Raíz cuadrada del valor absoluto de x paraevitar raíces imaginarias *) 

writeln;

if (x<0) then (* Si x es negativo, el resultado se notifica como

imaginario *) 

writeln('La raíz cuadrada de ', x, ' es el número imaginario ',

y,'i')

else 

writeln('La raíz cuadrada de ', x:1:2, ' es ', y:1:2);

writeln;

writeln('** Fin **');

end .

Page 4: Linea Del Tiempo de Los Lenguajes de Programacion Imperativos

5/11/2018 Linea Del Tiempo de Los Lenguajes de Programacion Imperativos - slidepdf.com

http://slidepdf.com/reader/full/linea-del-tiempo-de-los-lenguajes-de-programacion-imperativos 4/16

 

BASIC

En la programación de computadoras, el BASIC, siglas de Beginner's All-

purpose Symbolic Instruction Code,1 es una familia de lenguajes de programación de alto

nivel. El BASIC original, el Dartmouth BASIC, fue diseñado en 1964 por John George

Kemeny y Thomas Eugene Kurtz en elDartmouth College en New Hampshire, EstadosUnidos, como un medio para facilitar programar computadores a estudiantes (y profesores)

que no fueran de ciencias. El lenguaje y sus variantes llegaron a estar ampliamente

disponibles en los microcomputadores a finales de los años 1970 y en los años 1980. El

BASIC sigue siendo popular hasta el día de hoy en un puñado de dialectos altamente

modificados, y en nuevos lenguajes, influenciados por BASIC tales como Microsoft Visual

Basic o Gambas en Gnu/Linux. Por el año 2006, el 59% de los desarrolladores para la

plataforma .NET usaban Visual Basic .NET como su único lenguaje. 

Ejemplo:

DEFINT I-N 'Declara entera toda variable que comience conletras I a N

iTrue = -1 'Flag en Verdadero

INPUT "¿Cuál es su nombre"; NombreUsuario$

PRINT "Bievenido al 'asterisquero',"; NombreUsuario$

DO

PRINT

INPUT "¿Con cuántos asteriscos inicia [Cero sale]:"; NroAsteriscos

IF NroAsteriscos<=0 THEN EXIT DO

Asteriscos$ = ""

FOR I=1 TO NroAsteriscos

Asteriscos$=Asteriscos$ + "*"

NEXT I

PRINT "AQUI ESTAN: "; Asteriscos$

DO

INPUT "Desea más asteriscos:";SN$

LOOP UNTIL SN$<>""

IF SN$<>"S" AND SN$<>"s" THEN EXIT DO 'Salida

INPUT "CUANTAS VECES DESEA REPETIRLOS [Cero sale]:";iVeces

IF iVeces<=0 THEN EXIT DO 'Salida

FOR I = 1 TO iVeces

PRINT Asteriscos$;NEXT I

PRINT

LOOP WHILE iTrue

END

Page 5: Linea Del Tiempo de Los Lenguajes de Programacion Imperativos

5/11/2018 Linea Del Tiempo de Los Lenguajes de Programacion Imperativos - slidepdf.com

http://slidepdf.com/reader/full/linea-del-tiempo-de-los-lenguajes-de-programacion-imperativos 5/16

 

PHP

PHP es un lenguaje de programación interpretado, diseñado originalmente para la creación

de páginas web dinámicas. Se usa principalmente para la interpretación del lado del

servidor (server-side scripting) pero actualmente puede ser utilizado desde una interfaz

de línea de comandos o en la creación de otros tipos de programas incluyendo aplicacionescon interfaz gráfica usando las bibliotecas Qt o GTK+. 

Ejemplo:

<!DOCTYPE html>

<html>

<head>

<meta charset="utf-8" />

<title>PHP Test</title>

</head>

<body>

 <?php 

echo 'Hello World'; 

?>  

</body>

</html>

Page 6: Linea Del Tiempo de Los Lenguajes de Programacion Imperativos

5/11/2018 Linea Del Tiempo de Los Lenguajes de Programacion Imperativos - slidepdf.com

http://slidepdf.com/reader/full/linea-del-tiempo-de-los-lenguajes-de-programacion-imperativos 6/16

 

FORTRAN

Es un lenguaje de programación alto nivel de propósito

general,2 procedimental3 e imperativo, que está especialmente adaptado al cálculo

numérico y a la computación científica. Desarrollado originalmente por IBM en 1957 para

el equipo IBM 704, y usado para aplicaciones científicas y de ingeniería, el FORTRANvino a dominar esta área de la programación desde el principio y ha estado en uso continuo

por más de medio siglo en áreas de cómputo intensivo tales como la predicción numérica

del tiempo, análisis de elementos finitos, dinámica de fluidos computacional (CFD), física

computacional, y química computacional. El FORTRAN (una palabra compuesta, derivada

de The IBM Mathematical  Formula Translating System) abarca un linaje de versiones,

cada una de las cuales evolucionó para añadir extensiones al lenguaje mientras que

usualmente retenía compatibilidad con las versiones previas.

Ejemplo: Subrutina  sgemm (BLAS-3) c Programa en fortran77 que resuelve un producto dec dos matrices, usando BLAS

program mul_matimplicit none

cc Declaracion de variables

integer K, LDA,LDB,LDC, M, Nparameter (K = 4)parameter (M = 3)parameter (N = 2)parameter (LDA = M)parameter (LDB = K)parameter (LDC = M)real A(LDA,K), ALPHA, B(LDB,N), BETA, C(LDC,N)integer I,J

cc Inicializa los arreglos A, B con los sig. valores:cc 1 2 6 -1 2 1c A = 2 -1 1 1 B = -1 3c 3 -2 2 -3 1 1c 3 -2

data A / 1.0, 2.0, 3.0,

data B / 2.0, -1.0, 1.0, 3.0, 1.0, 3.0, 1.0, -2.0 / c

print 1000ALPHA = 1.0BETA = 0.0

c

c Invocacion de la rutina SGEMM de BLAScall SGEMM('No transpuesta de A','No transpuesta de B', M, N, K,

$ ALPHA, A, LDA, B, LDB, BETA,C, LDC)print 1040print 1030, ((C(I,J), J=1,N), I=1,M)

1000 format (1X, 'A:')1010 format (4(3X, F5.1))1020 format (/1X, 'B:')1030 format (2(3X, F5.1))1040 format (/1X, 'AB:')

End

Page 7: Linea Del Tiempo de Los Lenguajes de Programacion Imperativos

5/11/2018 Linea Del Tiempo de Los Lenguajes de Programacion Imperativos - slidepdf.com

http://slidepdf.com/reader/full/linea-del-tiempo-de-los-lenguajes-de-programacion-imperativos 7/16

 

PERL

Perl es un lenguaje de programación diseñado por Larry Wall en 1987. Perl toma

 

características del lenguaje C, del lenguaje interpretado shell (sh), AWK, sed, Lisp y, en un

 

grado inferior, de muchos otros lenguajes de programación.

Larry Wall comenzó a trabajar en Perl en 1987 mientras trabajaba como programadoren Unisys1 y anunció la versión 1.0 en el grupo de noticias comp.sources.misc el 18 de

 

diciembre de 1987. El lenguaje se expandió rápidamente en los siguientes años. Perl 2,

publicado en 1988, aportó un mejor motor de expresiones regulares. Perl 3, publicado

en 1989, añadió soporte para datos binarios.

Hasta 1991 la única documentación de Perl era una simple (y cada vez más larga) página de

manual Unix. En 1991 se publicó Programming Perl (el libro del camello) y se convirtió en

 

la referencia de facto del lenguaje. Al mismo tiempo, el número de versión de Perl saltó a 4,

no por marcar un gran cambio en el lenguaje, sino por identificar a la versión que estaba

documentada en el libro.Perl 4 trajo consigo una serie de lanzamientos de mantenimiento, culminando en Perl 4.036

en 1993. En este punto, Larry Wall abandonó Perl 4 para comenzar a trabajar en Perl 5. Perl

4 se quedaría en esa versión hasta hoy.

El desarrollo de Perl 5 continuó en 1994. La lista de correo perl5-porters se estableció en

mayo de 1994 para coordinar el trabajo de adaptación de Perl 5 a diferentes plataformas. Es

el primer foro para desarrollo, mantenimiento y adaptación de Perl 5.

Perl 5 fue publicado el 17 de octubre de 1994. Fue casi una completa reescritura

del intérprete y añadió muchas nuevas características al lenguaje, incluyendo objetos,

 

referencias, paquetes y módulos. A destacar, los módulos proveen de un mecanismo para

extender el lenguaje sin modificar el intérprete. El 26 de octubre de 1995, se creó

el Comprehensive Perl Archive Network (CPAN). CPAN es una colección de sitios web

que almacenan y distribuyen fuentes en Perl, binarios, documentación, scripts y módulos.

En 2008, Perl 5 continua siendo mantenido

Ejemplo:

#! /usr/bin/perl -w# Busca ficheros de tipo .pdf y muestra su tamañouse Cwd;

opendir(DIR,&cwd) or die "No se puede abrir el directorio $dirActual:$!\n";my @indice= readdir(DIR) or die "No se puede leer $dirActual: $!\n";closedir(DIR);

foreach $f (@indice) {next unless ( $f =~ /\.pdf$/ );system("wc $f");

}

Page 8: Linea Del Tiempo de Los Lenguajes de Programacion Imperativos

5/11/2018 Linea Del Tiempo de Los Lenguajes de Programacion Imperativos - slidepdf.com

http://slidepdf.com/reader/full/linea-del-tiempo-de-los-lenguajes-de-programacion-imperativos 8/16

 

ALGOL

Se denomina ALGOL (o Algol) a un lenguaje de programación. La voz es un acrónimo de

 

las palabras inglesas  Algorithmic  Language (lenguaje algorítmico).

 

Fue muy popular en las universidades durante los años 60, pero no llegó a cuajar como

lenguaje de utilización comercial.

Sin embargo, Algol influyó profundamente en varios lenguajes posteriores que sí 

alcanzaron gran difusión, como Pascal, C y Ada. 

Hacia 1965 dos corrientes se distinguieron sobre el tema de un sucesor para Algol. Como

resultado se definieron los lenguajes Algol W que es un lenguaje minimalista, rápidamente

 

implementado y distribuido y, por otra parte, Algol 68 que para la época está en la frontera

 

entre un lenguaje para programar en él y un lenguaje para investigar sobre él.

Ejemplo:

proc absmax=(ref[]real a)real:

begin

int i, k; real y:=0;

comment De la matriz a se toma el elemento con el valor absoluto mayor y se coloca en y. x

Los subíndices del elemento se colocan en i y k; comment

i:= k:= 1⌊a;

for p from 1⌊a by 1 to 1⌈a do

for q from 2⌊a by 1 to 2⌈a do

if abs a[p, q] > y then

y:= abs a[p, q];

i:= p; k:= q

fi

od

od;

y

end

Page 9: Linea Del Tiempo de Los Lenguajes de Programacion Imperativos

5/11/2018 Linea Del Tiempo de Los Lenguajes de Programacion Imperativos - slidepdf.com

http://slidepdf.com/reader/full/linea-del-tiempo-de-los-lenguajes-de-programacion-imperativos 9/16

 

APL

APL ( A  Programing  Language, también conocido como Array Processing

 Language desde hace algunos años) es un lenguaje de programación interpretado

desarrollado por Kenneth Iverson, de IBM, a finales de los años 60.

Es un lenguaje muy conciso, con una sintaxis muy sencilla. Está orientado a trabajos con

matrices, con la que se pueden hacer todo tipo de operaciones lógicas o matemáticas.

Incluso se pueden definir nuevas operaciones matriciales.

Es de una potencia tremenda. Una sola sentencia puede traducirse en miles de ellas en otros

lenguajes, como por ejemplo Fortran. Como ejemplo, el lenguaje de simulación de

circuitos, SIAL, ocupaba cerca de 25 000 sentencias en Fortran-Assembler y, al ser

reescrito en APL, todo el programa se podía imprimir en dos folios.1 Por otra parte, a pesar

de ser un lenguaje de tan alto nivel, también es capaz de manipular a escala de bits y tiene

interfaces con lenguajes de programación de bajo nivel (C, ensamblador...) mediante los

llamados procesadores auxiliares.

Tiene la propiedad de que desde una rutina se puede crear, compilar y ejecutar, en tiempo

de ejecución, otras, lo que lo hace muy apropiado para la fabricación de compiladores e

intérpretes.

Sus problemas radican en que:

1.  Necesita teclado especial para poner los operadores lógicos y simbólicos.

2.  Los programas escritos en APL son tan concisos que son difíciles de documentar y

de comprender.Entre sus aplicaciones más conocidas está su uso en la película Tron de Walt Disney para la

generación de los efectos especiales,2 y en el sistema Deep Blue de IBM que venció

a Kasparov al ajedrez.

Sucesores del APL

Kenneth Iverson, posteriormente, estuvo al frente del desarrollo de un lenguaje de

programación que presentaban como el sucesor de APL, llamado J. Una de las

características particulares de J es lo que se ha dado en denominar programación funcional

tácita; donde se considera que para expresar programas no es necesario nombrar variables,

ni parámetros a funciones (Estos conceptos de programación tácita han sido incorporados al

lenguaje Logo en la biblioteca LogoFE). En J, la variedad de las rutinas que en APL se

llaman operadores es mucho mayor.

Page 10: Linea Del Tiempo de Los Lenguajes de Programacion Imperativos

5/11/2018 Linea Del Tiempo de Los Lenguajes de Programacion Imperativos - slidepdf.com

http://slidepdf.com/reader/full/linea-del-tiempo-de-los-lenguajes-de-programacion-imperativos 10/16

 

Lua

Lua es un lenguaje de programación imperativo, estructurado y bastante ligero que fue

diseñado como un lenguaje interpretado con una semánticaextendible. El nombre significa

"luna" en portugués y gallego. 

Lua fue creado en 1993 por Roberto Ierusalimschy, Luiz Henrique de

Figueiredo y Waldemar Celes, miembros del Grupo de Tecnología en Computación Gráfica

(Tecgraf) en la Pontificia Universidad Católica de Río de Janeiro . Las versiones de Lua

anteriores a la 5.0 fueron distribuidas bajo una licencia similar a la BSD, de la versión 5.0

en adelante se utiliza la licencia MIT, compatible con la GPL. 

Lua ha sido usado en muchas aplicaciones comerciales y no comerciales, cuyo número

incrementa cada año.

Características

Lua es un lenguaje de extensión, suficientemente compacto para usarse en diferentes

plataformas. En lua las variables no tienen tipo, sólo los datos y pueden

ser lógicos, enteros, números de coma flotante o cadenas. Estructuras de

datos como vectores, conjuntos, tablas hash, listas y registros pueden ser representadas

utilizando la única estructura de datos de Lua: la tabla.

Codigos de ejemplo

print("Hello World!")

A continuación se muestra un comentario 

-- Un comentario en Lua empieza con doble guion hasta la siguente línea -- 

[[

También se pueden hacer comentarios de dos o mas líneas entre

corchetes

]]

Construción de tablas

table = {}

table[1] = "Cadena de caracteres"

table['pi'] = 3.141592

table.hello = "hello world"

Uso de tablas

print(table[1]) -- Cadena de caracteres 

print(table.pi) -- 3.141592 

print(table['hello']) -- hello world 

Page 11: Linea Del Tiempo de Los Lenguajes de Programacion Imperativos

5/11/2018 Linea Del Tiempo de Los Lenguajes de Programacion Imperativos - slidepdf.com

http://slidepdf.com/reader/full/linea-del-tiempo-de-los-lenguajes-de-programacion-imperativos 11/16

 

MODULA

Modula-2 es un lenguaje de programación cuyo autor es Niklaus Wirth, autor también del

 

lenguaje Pascal. 

Como novedad respecto a este último lenguaje, introduce el concepto de módulo, y de

encapsulación. Del código contenido en un módulo, sólo se facilita una interfaz pública

 

denominada módulo de definición, permaneciendo el resto oculto (encapsulado) para

un desarrollador ajeno, lo que facilita el mantenimiento de dichas estructuras de

programación a la vez que imposibilita la modificación de las mismas a cualquiera que no

posea el código de su módulo de implementación.

Este concepto de módulo constituye el antecedente de las clases u objetos que se observan

en el concepto moderno de Programación Orientada a Objetos (POO); sin embargo, la

 

incapacidad de declarar múltiples instancias de los módulos, así como la ausencia de todo

tipo de herencia, impiden afirmar que Modula-2 sea un lenguaje orientado a objetos

propiamente dicho.Modula-2 se utiliza principalmente en las universidades por su excelente adaptación a la

enseñanza de lenguajes estructurados, pero en el ámbito laboral su difusión ha sido escasa

frente al predominio de C, lo que ha contribuido a crear un distanciamiento entre

universidad y mercado laboral.

Existen compiladores de Modula-2 como Mocka o GNU Modula-2 (para GNU/Linux y

 

resto de sistemas soportados por GCC), FST (para MS-DOS)  oNative

 

XDS (para Windows) entre otros.

 

Ejemplo:

MODULE Floyd;FROM InOut IMPORT WriteLn, WriteString, ReadInt, WriteInt;VAR

N: INTEGER;I: INTEGER;L: INTEGER;U: INTEGER;

(*N es el rango del triángulo, I es el contador, L representa la linea y U al último número de la linea*)BEGIN

WriteString("Dime un número: ");ReadInt(N);WriteLn;L:=1;U:=1;FOR I:=1 TO N DO

IF I>U THENWriteLn;L:=L+1;U:=U+L

END;WriteInt(I,5)

END;IF N>0 THEN WriteLn END

END Floyd.

Page 12: Linea Del Tiempo de Los Lenguajes de Programacion Imperativos

5/11/2018 Linea Del Tiempo de Los Lenguajes de Programacion Imperativos - slidepdf.com

http://slidepdf.com/reader/full/linea-del-tiempo-de-los-lenguajes-de-programacion-imperativos 12/16

 

ADA

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

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

 

El lenguaje fue diseñado bajo encargo del Departamento de Defensa de los Estados Unidos

(DoD). Durante los años 1970, este departamento tenía proyectos en una infinidad

de lenguajes y estaba gastando mucho dinero en software. Para solucionarlo se buscó un

 

lenguaje único que cumpliese unas ciertas normas recogidas en el documento Steelman. 

Después de un estudio de los lenguajes existentes en la época se decidió que ninguno las

cumplía totalmente, por lo que se hizo un concurso público al que se presentaron cuatro

equipos, cuyas propuestas se nombraron con un color: Rojo (Intermetrics), Verde (CII

Honeywell Bull), Azul (SofTEch) y Amarillo (SRI International). Finalmente en mayo

de 1979 se seleccionó la propuesta Verde diseñada por Jean Ichbiah de CII Honeywell Bull,

y se le dio el nombre de Ada. Esta propuesta era un sucesor de un lenguaje anterior de este

equipo llamado LIS y desarrollado durante los años 1970. 

El nombre se eligió en conmemoración de lady Ada Augusta Byron (1815-1852) Condesa

 

de Lovelace, hija del poeta Lord George Byron, a quien se considera la primera

 

programadora de la Historia, por su colaboración y relación con Charles Babbage, creador

 

de la máquina analítica. 

 

El lenguaje se convirtió en un estándar de ANSI en 1983 (ANSI/MIL-STD 1815) y un

estándar ISO en 1987 (ISO-8652:1987).

Hola Mundo

Éste es el típico "Hola Mundo" escrito en Ada:

 with Ada.Text_IO;

 procedure Hola_Mundo is

begin

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

end Hola_Mundo;

Page 13: Linea Del Tiempo de Los Lenguajes de Programacion Imperativos

5/11/2018 Linea Del Tiempo de Los Lenguajes de Programacion Imperativos - slidepdf.com

http://slidepdf.com/reader/full/linea-del-tiempo-de-los-lenguajes-de-programacion-imperativos 13/16

 

CLIPPER

Clipper es un lenguaje de programación procedural e imperativo creado

 

en 1985 por Nantucket Corporation y vendido posteriormente a Computer Associates, la

 

que lo comercializó como CA-Clipper. En un principio Clipper se creó como

un compilador para el sistema gestor intérprete de bases de datos dBase III (de hecho

 

las versiones estacionales de Nantucket incluían una etiqueta que lo indicaba así), pero con

el tiempo el producto evolucionó y maduró, convirtiéndose en un lenguaje compilado más

poderoso que el original, no sólo por sus propias implementaciones sino también por las

ampliaciones desarrolladas por terceros en C, Ensamblador y Pascal, de los que fue

heredando características. Esto lo convirtió en la herramienta líder de desarrollo de

aplicaciones de bases de datos relacionales bajo sistema operativo MS-DOS, sobre todo

programas de gestión, contabilidad y facturación (SAGE-SP, líder del mercado español, lo

usa para ContaPlus y FacturaPlus), agendas comerciales y programas de tarificación

(aproximadamente el 80% de las compañías de seguros de España lo utilizaron en los

 

programas de sus agentes).

Características

A diferencia de otros lenguajes xBase, Clipper nunca contó con un modo intérprete, similar

 

al de dBase. Sus utilidades para manejo de base de datos, tales como la de creación de

tablas (DBU), se entregaban con el código fuente escrito en Clipper e incluido, el usuario

podía adaptarlas a sus necesidades si quería. Se aportaban también muchas rutinas escritas

en C y Ensamblador a las que el usuario podía acudir, incluso ampliar y crear bibliotecas de

pre-enlace completas.

El lenguaje en sí era poderoso, contando con una gran cantidad de sentencias, funciones,administración de memoria y variables que permitían al programador desarrollos muy

flexibles y eficientes; en forma razonablemente rápida. También el paquete incluía un

completo "manual en línea navegable", que se cargaba en memoria RAM, a requerimiento

del programador, y se accedía por la sola presión de un par de teclas.

Las primeras versiones se denominan versiones estacionales por hacer referencia a una

estación del año en sus nombres oficiales. Todas ellas se nominaban como compiladores

dBase. Estas fueron:

  Nantucket Clipper Winter'84 - lanzada el 25 de mayo de 1985 

 

  Nantucket Clipper Summer'85 - lanzada en 1985 

  Nantucket Clipper Winter'85 - lanzada el 29 de enero de 1986 

  Nantucket Clipper Autumn'86 - lanzada el 31 de octubre de 1986 

  Nantucket Clipper Summer'87 - lanzada el 21 de diciembre de 1987 

  Gatsoft Clipper Summer'88 - lanzada el 16 de marzo de 1988 

Page 14: Linea Del Tiempo de Los Lenguajes de Programacion Imperativos

5/11/2018 Linea Del Tiempo de Los Lenguajes de Programacion Imperativos - slidepdf.com

http://slidepdf.com/reader/full/linea-del-tiempo-de-los-lenguajes-de-programacion-imperativos 14/16

 

Clipper 5

Clipper 5.0 supone un salto cualitativo del lenguaje, aunque comienza mal. Dada la

creciente popularidad (Summer 87 ha sido utilizada hasta el año 2000 como herramienta de

desarrollo), se decide centrarse más en ampliar el lenguaje que en ser un compilador 

mejorado de dBase. Se implementan así los pseudoobjetos y otras mejoras... pero el

 

producto se lanza con numerosos bugs que hacen que el público objetivo se retraiga y siga

 

usando la versión Summer87, mucho más estable. La 5.01 corrige muchos de los

problemas, pero no será hasta la 5.2 que se produzca el vuelque masivo de los

desarrolladores.

Las versiones 5 de Nantucket son:

  Nantucket Clipper 5.00 - lanzada en 1990 

  Nantucket Clipper 5.01 - lanzada el 15 de abril de 1991 

  Nantucket Clipper 5.01 Rev.129 - lanzada el 31 de marzo de 1992 

La multinacional americana Computer Associates adquiere Nantucket y se lanza a mejorar

 

el producto afianzando las características heredadas de C, en particular el tipo de

datos code-block(literalmente bloque de código, un híbrido entre las macros de dBase, la

evaluación de cadenas de caracteres y los punteros de funciones). Otra de las mejoras

procedentes de la versión 5.0 es el sistema "Replaceable Database Drivers" (RDD o drivers

reemplazables de base de datos), que permiten con una sola sentencia cambiar entre

diferentes normas de base de datos.

  CA Clipper 5.20 - lanzada el 15 de febrero de 1993 

  CA-Clipper 5.2a - lanzada el 15 de marzo de 1993 

  CA Clipper 5.2b - lanzada el 25 de junio de 1993 

 

  CA-Clipper 5.2c - lanzada el 6 de agosto de 1993 

 

  CA Clipper 5.2d - lanzada el 25 de marzo de 1994 

  CA-Clipper 5.2e - lanzada el 7 de febrero de 1995 

  CA Clipper 5.30 - lanzada el 26 de junio de 1995 

 

  CA Clipper 5.3a - lanzada el 20 de mayo de 1996 

 

  CA Clipper 5.3b - lanzada el 20 de mayo de 1997 

Page 15: Linea Del Tiempo de Los Lenguajes de Programacion Imperativos

5/11/2018 Linea Del Tiempo de Los Lenguajes de Programacion Imperativos - slidepdf.com

http://slidepdf.com/reader/full/linea-del-tiempo-de-los-lenguajes-de-programacion-imperativos 15/16

 

Programación en Clipper 

Un sencillo hola mundo: 

? "¡Hola Mundo!"

Una máscara simple de entrada de base de datos: USE Cliente SHARED  NEW  

cls

@ 1, 0 SAY "ClitNum" GET Cliente->CliNum PICT "999999" VALID Cliente-

>CliNum > 0

@ 3, 0 SAY "Contacto" GET Cliente->Contacto VALID !empty(Cliente->Contacto)

@ 4, 0 SAY "Direccion" GET Cliente->Direccion

READ

Page 16: Linea Del Tiempo de Los Lenguajes de Programacion Imperativos

5/11/2018 Linea Del Tiempo de Los Lenguajes de Programacion Imperativos - slidepdf.com

http://slidepdf.com/reader/full/linea-del-tiempo-de-los-lenguajes-de-programacion-imperativos 16/16

 

 

BIBLIOGRAFIA:

wikipedia. (28 de septiembre de 2011). wikipedia la enciclopedia libre. Obtenido de

es.wikipedia.org

KEMENY, J., & KURTZ, T. (1986). Structured BASIC programming. New York, USA.

PHP. (9 de diciembre de 2007). News Archives 2007 (en inglés). Obtenido de es.wikipedia.com