Linea Del Tiempo de Los Lenguajes de Programacion Imperativos

September 22, 2022 | Author: Anonymous | Category: N/A
Share Embed Donate


Short Description

Download Linea Del Tiempo de Los Lenguajes de Programacion Imperativos...

Description

 

LINEA DEL TIEMPO DE LOS LENGUAJES DE PROGRAMACION IMPERATIVOS 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 versión multi−proposito  --------------------------------------------- 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 Aix−Marsailles en Francia.   ----------------------------------------------------- 1972 C el lenguaje C. Dennis Ritchie crea

 

----------------------------------------------------- 1977  FORTRAN Aparece el FORTRAN 77 ---------------------------------------------- Finales de los 70  MODULA−2   Niklaus Wirth dirige el desarrollo desarrollo de MODULA−2  -------------------------------------------- Principio de los 80 C++ Se desarrolla el lenguaje C++ ----------------------------------------------------- 1985 CLIPPER Se crea CLIPPER ----------------------------------------------------- 1986 CLIPPER Aparece CLIPPER AUTUMN'86 ----------------------------------------------------- 1987 CLIPPER CLIPPER SUMMER'87 ----------------------------------------------------- 1988 CLIPPER Gatsoft Clipper Summer'88 ----------------------------------------------------- 1990 FORTRAN Aparece el FORTRAN 90 ------------------------------------------------ Principios 90 JAVA James Gosling y su equipo comienzan a desarrollar JAVA ----------------------------------------------------- 1993 Visual C++ Se desarrolla el lenguaje Visual C++ ----------------------------------------------------- 1994 DELPHI

Aparece la primera ---------------------------------------------------1995 versión JAVA Se lanza al mercado JAVA ----------------------------------------------------- 1999 DELPHI Aparece Delphi 5.0 Para windows 98 NT/2000

 

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.  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 para evitar raíces imaginarias *)   writeln; if (x  

 

FORTRAN

Es un lenguaje de programación alto nivel de propósito 2 3 general,, procedimental  e imperativo, que está especialmente adaptado al cálculo general 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 FORTRAN vino a dominar estasiglo área en de áreas la programación el principio y ha la estado en uso numérica continuo por más de medio de cómputodesde intensivo tales como predicción 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 de c dos matrices, usando BLAS program mul_mat implicit none c c Declaracion de variables integer K, LDA,LDB,LDC, M, N parameter (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 c c Inicializa los arreglos A, B con los sig. valores: c c 1 2 6 -1 2 1 c A = 2 -1 1 1 B = -1 3 c 3 -2 2 -3 1 1 c 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 1000 ALPHA = 1.0 BETA = 0.0 c c Invocacion de la rutina SGEMM de BLAS call SGEMM('No transpuesta de A','No transpuesta de B', M, N, K, $ ALPHA, A, LDA, B, LDB, BETA,C, LDC) print 1040 print 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

 

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), (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 programador 1

en Unisys de  y anunció versión se 1.0expandió en el grupo de noticias 18 de diciembre 1987. Ellalenguaje rápidamente en comp.sources.misc los siguientes años.elPerl 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ó  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ño use 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");

 

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

 

APL Programing  Language, Processing APL ( A  P también conocido como  Array  Language desde hace algunos años) es un un  lenguaje de programación interpretado

desarrollado por  por Kenneth Iverson, de  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 Fortran-Assembler y, al ser reescrito en APL, todo el programa se podía imprimir en dos folios. 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, 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.

 

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

diseñado como un lenguaje  lenguaje interpretado con una  una semánticaextendible. El nombre significa "luna" en  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.  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  un  comentario 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 

 

MODULA Modula-2 es un lenguaje de programación cuyo autor es Niklaus Wirth, autor también del lenguaje Pascal.  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), GCC), FST (para MS-DOS)  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 THEN WriteLn; L:=L+1; U:=U+L END; WriteInt(I,5) END; IF N>0 THEN WriteLn END END Floyd.

 

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.  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.  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)Verde y Amarillo (SRI en mayo de 1979 se seleccionó la propuesta diseñada por International). Jean Ichbiah deFinalmente 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.  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.  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" Mundo" escrito en Ada:  with Ada.Text_IO;  procedure Hola_Mundo is

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

 

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 versiones estacionales de Nantucket incluían una etiqueta que lo indicaba así), pero con lastiempo el 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, (SAGE-SP, líder del mercado español, lo usa para ContaPlus y FacturaPlus), 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  el  25 de mayo de de  1985 



en 1985    Nantucket Clipper Summer'85 - lanzada en 



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



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



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





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

 

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 lanza con numerosos mucho bugs quemás hacen que el La público retraigade y siga usando lase versión Summer87, estable. 5.01 objetivo corrige semuchos 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  en 1990    Nantucket Clipper 5.01 - lanzada el  el 15 de abril de de  1991    Nantucket Clipper 5.01 Rev.129 - lanzada el  el 31 de marzo de 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  el 15 de febrero de  de 1993 



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



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



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



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



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



el 26 de junio de  de 1995    CA Clipper 5.30 - lanzada el 



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



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



 

Programación en Clipper  Un sencillo hola mundo:  mundo:  ? "¡Hola Mundo!"

Una máscara simple de entrada de base de datos:  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

 

 

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

View more...

Comments

Copyright ©2017 KUPDF Inc.
SUPPORT KUPDF