Você está na página 1de 4

ALGOL

Origem: Wikipédia, a enciclopédia livre.

O ALGOL é uma família de linguagens de programação de


alto nível voltadas principalmente para aplicações científicas.
ALGOL
Seu nome provém das palavras "ALGOrithmic Language"
(Linguagem Algorítmica). Paradigma imperativo
O nome é escrito ALGOL ou Algol, dependendo da fonte de Surgido em 1968 (ALGOL 68)
consulta. Influenciada FORTRAN
por
Várias linguagens razoavelmente diferentes receberam o nome Influenciou Jovial, PL/I, Simula,
de ALGOL ou Algol, adicionando ao nome letras ou Pascal
números, por descenderem diretamente do ALGOL original.

Índice
História
Impacto
Características
ALGOL e Burroughs
Variantes
Padrões
Variantes proprietárias
Outras variantes
Exemplo de código
Procedimento
Hello world
Hello world em Elliot Algol
Ver também
Referências
Bibliografia

História
A ALGOL foi originalmente inventada no final dos anos 50, por um comitê conjunto de cientistas da
computação americanos e europeus, reunidos em Zurique. Seu trabalho foi lançado como a linguagem agora
conhecida como ALGOL 58 Uma segunda versão do grupo, conhecida como ALGOL 60, tornou-se a
versão padrão da linguagem e de uso comum. Esta versão, descrita agora no famoso Relatório ALGOL 60 ,
teve um profundo impacto no campo de design de linguagem de programação. O ALGOL 68, a última
versão “oficial” da linguagem, não foi bem recebida pela comunidade do ALGOL.
A ALGOL nunca pegou realmente em programação para empresas, além de alguns aplicativos de análise
matemática usados pelo setor financeiro. Foi, no entanto, amplamente utilizado em matemática e ciências da
computação acadêmica, e foi a linguagem padrão para a descrição algorítmica até os anos 80 e 90.

John Backus desenvolveu a Forma Normal de Backus, conhecido como BNF, para descrever ALGOL 58. O
método foi revisado e expandido por Peter Naur, recebendo então o nome de Forma de Backus-Naur, e
mantendo a sigla.

C.A.R. Hoare disse de ALGOL 60: "Aqui está uma linguagem tão a frente de seu tempo, que não foi uma
melhoria sobre seus predecessoras, mas também a quase todas suas sucessoras". Essa fala foi também uma
crítica velada a ALGOL 68, uma linguagem considerada inchada demais por muitos de seus críticos (e que
não teve praticamente nenhum sucesso comercial).

Impacto
A definição do ALGOL 60 foi um evento-chave na história das linguagens de programação. Foi a primeira
linguagem de Programação estruturada. Nenhuma outra linguagem teve influência tão importante nos
projetos de novas linguagens.

Além disso, a especificação da linguagem também criou desafios técnicos para a construção de
compiladores, como mais tarde aconteceria com PL/I e Ada

Características
As duas características principais do Algol são: a clareza e a elegância da sua estrutura baseada nos blocos e
o estilo de sua definição, que usa uma linguagem metalingüística para definir de forma concisa e
relativamente completa a sua sintaxe.

A linguagem continuou sendo desenvolvida e enriquecida com novas construções e novos comandos que
aumentaram seu potencial.

Existem outras versões do Algol, como, por exemplo, o Algol 68, o Algol W voltado para máquinas IBM e
o Algol 6000/7000 da Burroughs.

ALGOL e Burroughs
Em particular, a Burroughs, projetou o hardware de seu computador B6700 com base na estrutura da
linguagem Algol. Isso fez com que o nome de ALGOL fosse logo associado a máquinas Burroughs, e vice-
versa.

O Algol B6000/7000 é uma linguagem muito mais poderosa do que o Algol 60. As principais extensões que
foram acrescentadas são: facilidade para o tratamento de entrada e saída (definição de arquivos e seus
atributos, comandos para manipulação de arquivos e variedade de formatos)[1], facilidades para o tratamento
de cadeias de caracteres (tipo string, tipo POINTER (ou Ponteiro), comandos e funções para manipulação de
cadeias), acesso a bits de memória (palavra parcial) e facilidade para definir macros (declaração DEFINE).

Esta linguagem se tornou apropriada para escrever software básico; em particular o sistema operacional do
B6700 (MCP – "Master Control Program" está escrito em ESPOL, uma extensão do Algol, permitindo
manipulações mais perto do hardware. Há uma outra extensão, o DCALGOL, Data Communications
ALGOL, usado para escrever software de comunicação de dados.
Variantes

Padrões
ALGOL 58, primeira proposta da linguagem
ALGOL 60, versão mais conhecida da linguagem
ALGOL 68, versão bem mais poderosa, porém menos conhecida

Variantes proprietárias
Elliot ALGOL, a versão estendida da Burroughs.
DCALGOL, Data Communications ALGOL, uma extensão da Burroughs para acesso aos
protocolos de comunicação (algo muito superior ao eqivalente da IBM na época).
DMALGOL, Data Management ALGOL, outra extensão da Burroughs para interface ao
sistema de Data Base (algo bem superior ao eqivalente da IBM na época).

Outras variantes
Algol-W, proposta por Niklaus Wirth, no comitê de transição de Algol 60 para Algol 68,
antecessora de Pascal
S-algol, Algol com tipos de dados ortogonais, desenvolvido por Ron Morrison
Jovial
Simula

Exemplo de código

Procedimento

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 to y, and the subscripts of this element to i and 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

Hello world

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

Elliot Algol usava símbolos diferentes para abrir e fechar strings, mas isso não pode ser feito com código
ASCII.

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

Ver também
Pascal (linguagem de programação)

Referências
1. NUNES, Daltro José; TELICHEVESKY, Nilton (1975). Introdução à Linguagem ALGOL B-6700.
Porto Alegre: EMMA, UFRGS. 147 páginas

Bibliografia
ORGANICK, E. I.;FORSYTHE, A. I.;PLUMMER, R. P. (1978). Programming Language
Structures. New York: Academic Press. 659 páginas. ISBN 0-12-528260-5
PACITTI, Tércio; ATKINSON, Cyril P. (1983). Programação e Métodos Computacionais. 1 4ª
ed. Rio de Janeiro, RJ, Brasil: Livros Técnicos e Científicos Editora. 435 páginas. ISBN 85-
216-0283-9
WEXELBLAT, Richard L.(Editor) (1981). History of Programming Languages. New York:
Academic Press. 758 páginas. ISBN 0-12-745040-8

Obtida de "https://pt.wikipedia.org/w/index.php?title=ALGOL&oldid=54626956"

Esta página foi editada pela última vez às 17h28min de 28 de março de 2019.

Este texto é disponibilizado nos termos da licença Atribuição-CompartilhaIgual 3.0 Não Adaptada (CC BY-SA 3.0) da
Creative Commons; pode estar sujeito a condições adicionais. Para mais detalhes, consulte as condições de utilização.

Você também pode gostar