Visita Encydia-Wikilingue.con

ALGOL

algol - Wikilingue - Encydia

ALGOL

Paradigma imperativo
Surgido en 1958 (ALGOL 58)
Última versión {{{ultima_versao}}} ()
Versión en prueba {{{versao_beta}}} ()
Creado por
Estilo de tipagem:
Compiladores
Dialectos:
Influenciada por FORTRAN
Influenció Jovial, PL/I, Simula, Pascal
Licencia: {{{licencia}}}
Página oficial {{{website}}}

El ALGOL es una familia de lenguajes de programación de alto nivel vueltas principalmente para aplicaciones científicas. Su nombre provém de las palabras "ALGOrithmic Language" (Lenguaje Algorítmica).

El nombre es escrito ALGOL o Algol , dependiendo de la fuente de consulta.

Varios lenguajes razonablemente diferentes recibieron el nombre de ALGOL o Algol , añadiendo al nombre letras o números, por descenderem directamente del ALGOL original.

Tabla de contenido

Historia

El lenguaje comenzó a ser formulada en 1957, en la Europa , por un grupo internacional de científicos de computación que finalmente, en 1960, definieron el Algol 60 a través de un documento corto, conciso y preciso, el "Revised Report on the Algorithmic Language Algol 60", que fue publicado en 1963 en la revista Communications of the ACM.

ALGOL especifica tres sintaxis diferentes: una sintaxis de referencia, una sintaxis de publicación y una sintaxis de implementación. El uso de tres sintaxis distinguidas permitía usar palabras llaves diferentes y convenciones para puntos decimais (o vírgulas decimais) en consonancia con diferentes costumbres nacionales.

La primera versión del lenguaje fue creado en 1958 y tuvo el nombre original de International Algorithmic Language, más tarde siendo conocida por ALGOL 58

John Backus desarrolló la Forma Normal de Backus, conocido como BNF, para describir ALGOL 58. El método fue revisado y expandido por Peter Naur, recibiendo entonces el nombre de Forma de Backus-Naur, y manteniendo la sigla.

C.A.R. Hoare dije de ALGOL 60: "Aquí está un lenguaje tan el frente de su tiempo, que no fue una mejoría sobre suyos predecesoras, pero también a casi todas sus sucesoras". Esa habla fue también una crítica velada a ALGOL 68, un lenguaje considerado hinchada demás por muchos de sus críticos (y que no tuvo prácticamente ningún éxito comercial).

Impacto

La definición del ALGOL 60 fue un evento-llave en la historia de los lenguajes de programación. Fue el primer lenguaje de Programación estructurada. Otro lenguaje tuvo influencia tan importante en los proyectos de nuevos lenguajes.

Además de eso, la especificación del lenguaje también creó desafíos técnicos para la construcción de compiladores, como más tarde acontecería con PL/I y Ada.

Características

Las dos características principales del Algol son: la claridad y la elegância de su estructura basada en los bloques y el estilo de su definición, que usa un lenguaje metalingüística para definir de forma concisa y relativamente completa su sintaxis.

El lenguaje continuó siendo desarrollada y enriquecida con nuevas construcciones y nuevos mandos que aumentaron su potencial.

Existen otras versiones del Algol, como, por ejemplo, el Algol 68, el Algol W vuelto para máquinas IBM y el Algol 6000/7000 de la Burroughs.

ALGOL y Burroughs

En particular, la Burroughs , proyectó el hardware de su ordenador B6700 con base en la estructura del lenguaje Algol. Eso hizo con que el nombre de ALGOL fuera inmediatamente asociado la máquinas Burroughs, y viceversa.

El Algol B6000/7000 es un lenguaje muy más poderosa del que el Algol 60. Las principales extensiones que fueron añadidas son: facilidad para el tratamiento de entrada y salida (definición de archivos y sus atributos, mandos para manipulación de archivos y variedad de formatos), facilidades para el tratamiento de cadenas de caracteres (tipo string, tipo POINTER (o Señalador ), mandos y funciones para manipulación de cadenas), acceso a bits de memoria (palabra parcial) y facilidad para definir macros (declaración DEFINE).

Este lenguaje se hizo apropiada para escribir software básico; en particular el sistema operativo de la B6700 (MCP – "Master Control Program") está escrito en ESPOL, una extensión del Algol, permitiendo manipulaciones más cerca del hardware. Hay otra extensión, el DCALGOL, Data Communications ALGOL, usado para escribir software de comunicación de datos.

Variantes

Patrones

Variantes propietarias

Otras variantes

Ejemplo de código

Procedimiento

procedure Absmax(a) Size:(n, m) Result:(y) Subscripts:(i, k);
    value n, m; array a; integer n, m, i, k; real y;
comment The absolute greatest element of the matrix a, of size n by m 
is transferred te lo y, and the subscripts of this element te lo i and k;
begin integer p, q;
    y := 0; i := k := 1;
    sea p:=1 step 1 until n del
    sea q:=1 step 1 until m del
        if abs(a[p, q]) > y then
            begin y := abs(a[p, q]);
            i := p; k := q
            end
end Absmax

Hello world

BEGIN
FILE F (KIND=REMOTE);
EBCDIC ARRAY Y [0:11];
REPLACE Y BY "HELLO WORLD!";
WHILE TRUE DEL
  BEGIN
  WRITE (F, *, Y);
  END;
END.

Hello world en Elliot Algol

Elliot Algol usaba símbolos diferentes para abrir y cerrar strings, pero eso no puede ser hecho con código ASCII.

program HelloWorld;
 begin
    print "Hello world";
 end;

Ver también

Bibliografia