ALGOL
English: ALGOL

ALGOL
Desarrollador(es)
Backus, Bauer, Bottenbruch, Green, Katz, McCarthy, Naur, Perlis, Rutishauser, Samelson, Vauquois, Wegstein, van Wijngaarden y Woodger
Información general
ParadigmaImperativo (Procedural), Estructurado
Apareció en1958
Diseñado porFriedrich L. Bauer, Hermann Bottenbruch, Heinz Rutishauser, Klaus Samelson, John Backus, Charles Katz, Alan Perlis, Joseph Henry Wegstein, Peter Naur, Bernard Vauquois, Adriaan van Wijngaarden, Julien Green y John McCarthy
DialectosALGOL 58, ALGOL 60, ALGOL 68
Influido porFortran
Ha influido aSimula, C, CPL, Pascal, Ada

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 de programa en ALGOL 60

procedure Absmax(a) Dimensiones:(n, m) Resultado:(y) Subíndices:(i, k);
value n, m; array a; integer n, m, i, k; real y;
comment De la matriz a se toma el elemento con el valor absoluto mayor y se coloca en y.
Los subíndices del elemento se colocan en i y k;
begin integer p, q;
y:= 0; i:= k:= 1;
for p:= 1 step 1 until n do
for q:= 1 step 1 until m do
if abs(a[p, q]) > y then
begin y:= abs(a[p, q]);
i:= p; k:= q
end
end Absmax

Algol W

Lenguaje elaborado diseñado por Niklaus Wirth y Tony Hoare a partir de los trabajos del grupo ALGOL de la IFIP. Se trata de un lenguaje conciso, simple de implementar, que evita todos los defectos conocidos del lenguaje Algol e incluye sus propias características adicionales. Sin embargo, el grupo Algol no lo adoptó como sucesor de Algol prefiriendo en su lugar al que terminó siendo Algol 68. Algol W fue utilizado por gran cantidad de usuarios y sembró el camino para el nacimiento del lenguaje Pascal.

Entre las características del lenguaje se destacan: Aritmética de doble precisión, números complejos, Strings y estructuras de datos dinámicas, evaluación por valor, pasaje de parámetros por valor, valor resultado o resultado.

Algol 68

La definición del lenguaje fue presentada en la reunión del comité ALGOL de la IFIP en 1965. Luego de varios años de revisión del diseño se llegó a una versión definitiva en 1968. El principal autor es Adriaan van Wijngaarden.

Los objetivos principales de ALGOL 68 son permitir comunicar algoritmos, permitir una eficiente ejecución de los mismos en diferentes arquitecturas y servir como herramienta para la enseñanza.

Una característica interesante de ALGOL 68 es que su semántica fue definida formalmente antes de ser implementado en base al formalismo llamado gramáticas de dos niveles.

Ejemplo de programa en Algol 68

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;peme 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;  yend
Algol68 Edición de libros
int sum sq:=0;for iwhile  sum sq≤1000do  sum sq+:=i↑2od 
Código por el compilador de 7-bit/ascii
INT sum sq:=0;FOR iWHILE  sum sq<=1000DO  sum sq+:=i**2OD 
Código por el compilador de 6-bits/byte
.INT SUM SQ:=0;.FOR I.WHILE  SUM SQ.LE 1000.DO  SUM SQ.PLUSAB I.UP 2.OD

Véase también

Enlaces externos y bibliografía

  • A contribution to the development of ALGOL, Niklaus Wirth and C. A. R. Hoare, Comm ACM 9(6), 413-432 (1966), 0001-0782
  • The Emperor's Old Clothes - the ACM Turing Award lecture by Tony Hoare, 1980, Comm ACM 24(2), 75-83 (1981)
  • ALGOL W Implementation, H. Bauer et al, TR CS98, Stanford U, 1968
Other Languages
aragonés: ALGOL
azərbaycanca: Algol dili
беларуская: Алгол
български: ALGOL
bosanski: ALGOL
català: ALGOL
čeština: ALGOL
dansk: ALGOL
Deutsch: ALGOL
Ελληνικά: ALGOL
English: ALGOL
euskara: ALGOL
فارسی: الگول
suomi: ALGOL
français: Algol (langage)
Gaeilge: Algol
galego: Algol
עברית: ALGOL
magyar: ALGOL
italiano: ALGOL
日本語: ALGOL
қазақша: Алгол
Кыргызча: Algol
Bahasa Melayu: ALGOL
Mirandés: ALGOL
norsk nynorsk: ALGOL
polski: ALGOL
português: ALGOL
română: ALGOL
русский: Алгол
srpskohrvatski / српскохрватски: Algol
slovenčina: ALGOL
slovenščina: ALGOL
српски / srpski: Алгол
тоҷикӣ: Алгол
Türkçe: ALGOL
українська: ALGOL
oʻzbekcha/ўзбекча: Algol
Tiếng Việt: ALGOL
中文: ALGOL