Está en la página 1de 5

Presentan: Gracía Fragoso Nestor Abdy

Benitez Rosas Adrian

Materia: Lenguajes de programación Grupo: 4

Historia
Nombre original: IAL (International Algorithmic Language)
Principales colaboradores: John Backus y Peter Naus
Paradigma: Imeprativo
Fecha de desarrollo: Años 50’s

ALGOL (es una familia de imperativo lenguaje informático de programación s desarrollado originalmente en
los años 1950 específicamente para la programación de cálculos científicos que se convirtió en la forma
estándar de facto para informar algoritmos en papel durante casi los próximos 30 años.
Fue diseñado por un Comité Internacional para ser un lenguaje universal. Su Conferencia original, que tuvo
lugar en Zurich para evitar algunos de los problemas percibidos con FORTRAN y, finalmente, ALGOL utiliza
entre corchetes bloques de declaración y fue el primer lenguaje para comenzar a utilizar pares final para la
delimitación de ellos.
Fue uno de los primeros intentos formales para abordar la cuestión de la portabilidad de software

Hay tres ramas principales de la familia oficial ALGOL: ALGOL 58, ALGOL 60 y ALGOL 68. De éstos,
ALGOL 60 fue el más ampliamente conocido en el Estados Unidos. Niklaus Wirth basó su Algol propia-W en
Algol 60, antes de pasar a desarrollar Pascal. Algol-W iba a ser la próxima generación ALGOL, pero el
ALGOL 68 Comité decidió en un diseño que era más complejo y avanzado en lugar de una limpieza, la
simplificación de ALGOL 60. La versión oficial de ALGOL se nombra después del año de su primera
publicación. ALGOL 58, fue conocida como la IAL (International Language Algorithmic) .

ALGOL fue desarrollado conjuntamente por un comité de científicos de la computación Europea y Estados
Unidos. Se especifican tres sintaxis diferentes: una sintaxis de referencia, una sintaxis de la publicación, y de
una sintaxis de aplicación. La sintaxis diferentes permite utilizar nombres de palabras clave diferentes y
convenciones para los puntos decimales (coma frente a períodos) para diferentes idiomas.

John Backus desarrolló la Backus método de la forma normal de describir los lenguajes de programación
específicamente para ALGOL 58. Ha sido revisado y ampliado por Peter Naur a la Backus-Naur para Algol 60.
Tanto John Backus y Peter Naur sirvió en el comité que creó ALGOL 60, al igual que Wally Feurzeig que más
tarde crearon Pascal.

Aunque ALGOL nunca alcanzó los niveles de popularidad comercial de otros lenguajes, como COBOL y
FORTRAN, es considerado el lenguaje más importante de su era, en términos de su influencia en el desarrollo
posterior de lenguajes. Las estructuras sintácticas y lexicográficas de ALGOL, fueron tan populares que
virtualmente todos los lenguajes que se han diseñado después, se les refiere como 'tipo ALGOL', es decir, que
son jerárquicos en estructura, con ambiente y estructuras de control anidados. El segundo gran lenguaje de
programación de la era informática; FORTRAN fue el primero. ALGOL intentó mejorarlo cuidando
especialmente su sintaxis y proporcionando una estructura modular. El resultado fue un lenguaje demasiado
abstracto y general.
Biografia de Peter Naur y John Backus

John Warner Backus


John Warner Backus (3 de diciembre de 1924 – 17 de marzo de 2007) fue un científico de la computación.
Dirigió el equipo que inventó la primera ampliamente utilizado el lenguaje de programación de alto nivel
(FORTRAN) y fue el inventor de la forma de Backus-Naur (BNF).
El IEEE Premio Backus W.W. McDowell en 1967 para el desarrollo de FORTRAN.
Backus nació en Philadelphia, Pennsylvania y creció en cerca de Wilmington, Delaware. Se graduó de la
Universidad de Columbia con una maestría en matemáticas durante 1949 y se unió a IBM en 1950. Backus
desarrolló la Backus-Naur Form (BNF), en el informe de la UNESCO sobre ALGOL 58.
Backus pasó la última parte de su carrera en el desarrollo de FL (a partir de "nivel de la función"), un sucesor
FL FP. Backus fue nombrado un miembro de IBM en 1963, [7]
Se retiró en 1991 y murió en su casa en Ashland, Oregon, el 17 de marzo de 2007.

Peter Naur
Peter Naur (nacido el 25 de octubre de 1928), es un científico danés pionero en informática y ganador del
Premio Turing en 2005.
La N de la notación BNF, usada en la descripción de la sintaxis de la mayoría de los lenguajes de programación,
se usa en alusión a su apellido. Naur contribuyó en la creación del lenguaje de programación Algol 60 A Naur
no le agrada el concepto Ciencia de la computación ("Computer Science" en inglés) y sugiere llamarlo
Datalogía ("Datalogy" en inglés).
Trabajó en el Regnecentralen en el Instituto Niels Bohr y en la Universidad Técnica de Dinamarca. De 1968 a
1998 trabajó como profesor en la Universidad de Copenhague.
Es conocido por su crítica al uso de los métodos formales en programación. Critica igualmente a psicólogos que
todavía se basan en teorías del conductismo y el constructivismo.
En los últimos años ha estado desarrollando una teoría del pensamiento humano que ha denominado Teoría
Sinapsis-Estado de Vida Mental ("The Synapse-State Theory of Mental Life" en inglés).

Versiones anteriores ALGOL

El segundo gran lenguaje de programación de la era informática; FORTRAN fue el primero. ALGOL intentó
mejorarlo cuidando especialmente su sintaxis y proporcionando una estructura modular. El resultado fue un
lenguaje demasiado abstracto y general.

ALGOL - 58 (IAL) [1958]


Un comité de expertos europeos y americanos lo definieron en sólo tres días en Zurich. Su denominación
original era IAL (International Algebraic Language).
ALGOL 58 incorporó bucles. Hasta entonces los programas eran de estructura plana, secuencial, como los
realizados en ensamblador.
La publicación del informe preliminar de ALGOL 58 en Communications of the ACM despertó mucho interés
en el lenguaje ALGOL. Tras varias reuniones, tanto en Europa como en EEUU, se llegaría a ALGOL 60.

ALGOL - 60 [1960]
Se define en una reunión en París, posterior al Congreso de la I.F.I.P. (Int'l Federation of Information
Processing) en París, del 11 al 16 de enero de 1960. Para esta reunión se seleccionaron a siete representantes
europeos y a otros siete americanos, aunque uno de ellos (William Turanski) murió antes de que la reunión
llegase a celebrarse.
ALGOL 60 es un lenguaje implementable que se convirtió en un estándar para la descripción de algoritmos:
utilizado principalmente sobre papel (mundo académico y de investigación). Se utilizó bastante en Europa.
ALGOL 60 inició varias tradiciones, incluyendo el uso de la notación BNF, propuesta por John Backus, para
especificar la sintaxis y el empleo adicional de BNF para organizar el manual de referencia del lenguaje.
Después se descubrió que Panini había usado una notación similar a la BNF entre el 400 y el 200 a.C. para
describir las complejas reglas de la gramática del sánscrito (P.Z.Ingerman: Panini-Backus form suggested,
Communications of the ACM 10:3, pág.137, 1967). La semántica del lenguaje seguía describiéndose en
lenguaje natural.
ALGOL 60 introdujo la recursión: "Cualquier aparición de un identificador de procedimiento dentro del cuerpo
del procedimiento, exepto una aparición en la parte izquierda de un enunciado de asignación, denota la
activación del procedimiento”.
ALGOL 60 también introdujo la declaración explícita del tipo de las variables, las reglas de ámbito para
variables locales, el paso de parámetros por referencia, la estructura de bloque y las matrices de tamaño
dinámico. ALGOL 60 incluye estructuras de control condicionales del tipo if-then-else y bucles for.
Aunque proporciona constructores de flujo de control estructurados, mantiene (al igual que casi todos sus
derivados) el enunciado goto, cuya naturaleza dañina para la comprensión y modificación de programas es
clara.
ALGOL 60 también tenía algunas características que no siempre se han recogido en lenguajes posteriores, como
las declaraciones own (similares a las variables static de C) o las expresiones switch (muy diferentes a las
estructuras de control switch de C).
Pero ALGOL 60 tenía sus limitaciones. Las matrices eran la única estructura de datos. La estructuración en
bloques de ALGOL se puede utilizar de forma que produzca la pérdida de datos intermedios cuando se produce
la salida de un bloque. Por otra parte, la definición original de ALGOL 60 tenía ambigüedades que se trataron
de resolver en una reunión en Roma (abril de 1962), aunque no en ella no se solucionaron todos los problemas.
ALGOL 60 es un hito importante; basta observar la gran cantidad de lenguajes que de él se derivan: PASCAL,
MODULA-2, C, ADA.

ALGOL - 68 [1968]
Tercera revisión de ALGOL. Van Wijngaarden (EEUU) proponía ampliar ALGOL, crear un "ALGOL
Generalizado". Se basaba en la idea de que la complejidad de los lenguajes era la causa de sus limitaciones. La
premisa de que un lenguaje no debería estar enterrado entre reglas sintácticas, sino apoyado por ellas, condujo a
un lenguaje en el que un fallo en la lógica de un programa era prácticamente indetectable. Por otra parte,
Niklaus Wirth prefería simplificar el lenguaje para que resultase más operativo. Wirth consideraba un error
considerar una característica esencial de un lenguaje de alto nivel la capacidad de expresar un programa de la
forma más breve posible.
ALGOL 68 se ha utilizado muy poco, en parte debido a que su informe original utilizaba una terminología
nueva y era difícil de leer. Por ejemplo, llama modos (modes) a los tipos de datos y unidades (units) a las
expresiones. No obstante, ALGOL 68 fue decisivo para la aparición de Pascal.
El lenguaje incorpora un conjunto relativamente pequeño de conceptos ortogonales. Se minimizan las
restricciones acerca del uso combinado de sus distintas características.
Proporciona recursos para estructurar datos, similares a los que se pueden encontrar en lenguajes derivados de
ALGOL 60 como Pascal, C o Modula-2. Permite sobrecarga de operadores y colocar una declaración en
cualquier lugar donde pueda aparecer un enunciado (como en C++).
ALGOL 68 utilizó la notación VWF (van Wijngaarden Form) para definir su sintaxis e inglés semi-formal para
especificar su semántica. La notación utilizada es más completa y adecuada para la definición de un lenguaje de
programación que la BNF.

ALGOL W (Wirth) [1966]


Versión de ALGOL 60 desarrollada en el E.T.H. de Zurich por Niklaus Wirth. Los recursos para la
estructuración de datos se mejoraron. "Los únicos cambios a los recursos, relacionados con el control de
secuencias, han sido en dirección de su simplificación y clarificación, más que en cuanto su ampliación". Es el
antecesor directo De Pascal
Áreas de aplicación
ALGOL fue utilizado principalmente por científicos del equipo de investigación en los Estados Unidos y en
Europa. Su uso en aplicaciones comerciales se vio obstaculizada por la ausencia de instalaciones de entrada y
salida estándar en su descripción y la falta de interés en el lenguaje por proveedores de equipo grande. sin
embargo se convirtió en el estándar para la publicación de algoritmos de ALGOL 60 y tuvo un profundo efecto
sobre el desarrollo futuro del lenguaje.

Palabras reservadas

Hay 35 palabras reservadas en el sub Burroughs estándar B6700-language: ALPHA, ARRAY, BEGIN, BOOLEAN,
COMMENT, CONTINUE, DIRECT, DO, DOUBLE, ELSE, END, EVENT, FALSE, FILE, FOR, FORMAT, GO,
IF, INTEGER, LABEL, LIST, LONG, OWN, POINTER, PROCEDURE, REAL, STEP, SWITCH, TASK, THEN,
TRUE, UNTIL, VALUE, WHILE, ZIP.

Hay 71 identificadores restringidos en la sub Burroughs estándar B6700-language: ACCEPT, AND, ATTACH,
BY, CALL, CASE, CAUSE, CLOSE, DEALLOCATE, DEFINE, DETACH, DISABLE, DISPLAY, DIV, DUMP,
ENABLE, EQL, EQV, EXCHANGE, EXTERNAL, FILL, FORWARD, GEQ, GTR, IMP, IN, INTERRUPT, IS,
LB, LEQ, LIBERATE, LINE, LOCK, LSS, MERGE, MOD, MONITOR, MUX, NEQ, NO, NOT, ON, OPEN, OR,
OUT, PICTURE, PROCESS, PROCURE, PROGRAMDUMP, RB, READ, RELEASE, REPLACE, RESET, RESIZE,
REWIND, RUN, SCAN, SEEK, SET, SKIP, SORT, SPACE, SWAP, THRU, TIMES, TO, WAIT, WHEN, WITH,
WRITE y también los nombres de todas las funciones intrínsecas.

Ejemplos

Descripción:
Este programa muestra el texto de salida de la función de la ALGOL lenguaje de programación por mostrar el
mensaje "¡ Hola mundo!". Este código se ejecuta en un mainframe de serie Unisys (Burroughs).

Código fuente
// the main program (this is a comment)

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

Descripción
Este programa calcula el promedio (media) del valor absoluto de un vector.

Código fuente
// the main program (this is a comment)

begin
integer N;
Read Int(N);

begin
real array Data[1:N];
real sum, avg;
integer i;
sum:=0;

for i:=1 step 1 until N do


begin real val;
Read Real(val);
Data[i]:=if val<0 then -val else val
end;

for i:=1 step 1 until N do


sum:=sum + Data[i];
avg:=sum/N;
Print Real(avg)
end
end

Descripción
Este programa hace la conversion de grados Celfarenheit a Celsius
Código fuente
fahrenheit
begin
real fahr;
print ("Enter Fahrenheit ");
read (fahr);
print ("Celsius is ", (fahr-32.0) * 5.0/9.0);
end
finish

Campo laboral
No existe campo laboral para algol ya que nunca se comercializo.

Bibliografía
 fransiner.galeon.com/HISTORIA.HTML
 groups.engin.umd.umich.edu/CIS/course.des/cis400/algol/algol.html

También podría gustarte