Plankalkül

Origem: Wikipédia, a enciclopédia livre.
Plankalkül
Paradigma Procedural
Surgido em 1948 (1948)
Criado por Konrad Zuse
Influenciada por Begriffsschrift
Influenciou Superplan por Heinz Rutishauser,
ALGOL 58[1]

O Plankalkül é uma linguagem de programação criada pelo cientista alemão Konrad Zuse, entre os anos 1942-1946 no desenvolvimento dos primeiros computadores. A linguagem é considerada de alto nível, mas só foi publicada amplamente em 1972, e o compilador em 1998. Uma implementação independente foi lançada em 2000 pela Universidade Livre de Berlim.

Desenvolvimento do projeto[editar | editar código-fonte]

Konrad Zuse construiu vários computadores de relés eletromagnéticos complexos, mas em 1945, a guerra destruiu tudo, exceto um modelo, o Z4. Após a destruição de seus equipamentos, Konrad mudou-se para uma cidade chamada Hintersteiner, onde começou a trabalhar sozinho em seu projeto para desenvolver a sua linguagem de programação, um projeto que começou em 1943 como uma proposta para sua tese de doutorado que desenvolveu sua linguagem de programação Plankalkül.

Zuse em 1948 publicou um artigo no Archiv der Mathematik - um jornal que publica trabalhos de alta qualidade em todas as áreas da matemática - mas sua publicação não produziu interesse académico. Heinz Rutishauser (co-fundador do ALGOL) disse: "A primeira tentativa de desenvolver uma linguagem algorítmica foi realizado em 1948 por K. Zuse Sua notação foi geral, mas a proposta nunca alcançou a consideração que merece.."

A linguagem era muito complementar a sua época de reprodução e teve alguns de seus recursos mais avançados na área de estruturas de dados. O tipo mais simples é o de um único bit, mas também construiu os tipos de números inteiros e reais. A linguagem tem três variáveis ​​específicas para o desenvolvimento de um programa, entre elas podem-se destacar as letras V (passagem de parâmetros), Z (o armazenamento de valores intermediários) e R (ver resultados).

Implementação da linguagem[editar | editar código-fonte]

Um dos maiores obstáculos para a implementação da linguagem Plankalkül ocorria devido ao fato de a mesma utilizar uma sintaxe de difícil compreensão, ou seja, um determinado desenvolvedor demoraria muito tempo para compreender as sequências lógicas utilizadas no programa. Geralmente as variáveis nessa determinada linguagem utilizavam aproximadamente quatro linhas. Na primeira linha era declarada algumas das letras V, Z, ou R, na segunda linha era declarado o índice da variável, na terceira era declarado o componente da variável, e por fim na quarta linha declarava-se o tipo da variável, por exemplo 5.0 (cinco bits), porém podemos também encontrar exemplos de programas escritos de forma linearizada.[2]

Linguagem completa[editar | editar código-fonte]

Além desses tipos mais comuns, o Planklakül incluiu também matrizes e registros. Pode-se resumir dizendo que a ideia incorporou muitas ideias Plankalkül muito importante. Ao concluir seus algoritmos de trabalho Konrad desenvolveu para classificação, testar a conectividade de gráficos para aritmética de inteiros (inclusive raiz quadrada) e até mesmo um jogo de xadrez onde o artigo foi encontrado em uma seção de 60 páginas sobre como desenvolver a aplicação e outros. Infelizmente, a maioria destas coisas não são conhecidas até 1972, e desenvolveu o primeiro compilador em 1998 e uma posterior aplicação em 2000 na Universidade Livre de Berlim. Portanto, pode-se identificar a visão de longo prazo dele em uma declaração em que ele enfatizou a sua linguagem: "Depois de algum tempo, como a bela adormecida, ainda está para vir para a vida".

A linguagem era notavelmente completa para sua época de criação e tinha alguns de seus recursos mais avançados na área das estruturas de dados. O tipo mais simples era o bit único e a partir dele eram construídos tipos para números inteiros e reais. O tipo real usava uma notação de dois e o esquema de "bit oculto", que é atualmente usado para evitar armazenar o bit mais significativo da parte fracionária normalizada de um valor. A linguagem Plankalkül possui três variáveis específicas para o desenvolvimento de um programa, entre elas podemos destacar as letras V (passagem de parâmetros), Z (armazenamento de valores intermediários), e R (exibição de resultado).

  • Ambiente da linguagem: Nunca implementada. Estruturas de dados avançadas: reais, arrays, records.
  • Principais características:
    • Esta linguagem de programação possui entre outras coisas indicações de atribuição, chamadas da função (sub-rotinas);
    • Instruções condicionais;
    • Aritmética de ponto flutuante;
    • Matrizes (arrays);
    • Operações matemáticas ou lógicas só podem ser aplicadas a variáveis do mesmo tipo;
    • Tipos de dados compostos;
    • Tratamento de exceção, dentre outras características.
  • Vantagens de uso:
    • Execução objetiva dirigida;
    • Estruturas record hierárquicas;
    • Aritmética de ponto flutuante;
    • Estrutura de repetição (iteração);
    • Tratamento de exceção;
    • Programas são funções reutilizáveis;
    • Variáveis não precisam ser especificadas em um lugar especial do ambiente de desenvolvimento;
    • Funções não podem se repetir.
  • Desvantagem de uso:
    • Não é possível definir um nome qualquer para uma variável;
    • Linguagem exclusiva para tratamento com números;
    • Falta de uma sintaxe de fácil interpretação;
    • Utilização de um layout bidimensional e unidimensional.

Atributos da linguagem[editar | editar código-fonte]

Esta linguagem de programação possui entre outras coisas indicações de atribuição, chamadas da função (subrotinas), instruções condicionais, estrutura de repetição (iteração), aritmética de ponto flutuante, matrizes (arrays), tipos de dados compostos, tratamento de exceção, dentre outras características.

Seu criador não pretendia usar a linguagem nos sucessores de seu Z3, mas os eventos da Segunda Guerra Mundial forçaram o seu uso por muito tempo. Durante anos esse trabalho permaneceu esquecido. Somente em 1972 foi publicada completamente. No contexto de uma tese, Plankalkül foi descrito e implementado em 1975 por J. Hohmann. No final dos anos 90 foram feitas implementações alternativas independentes (1998 e dois anos mais tarde, na universidade livre de Berlim), incluindo um editor de sintático.

Exemplo[editar | editar código-fonte]

Abaixo temos um exemplo de um programa que calcula o valor máximo de 3 variáveis pela chamada a função max:

P1 max3 (V0[:8.0],V1[:8.0],V2[:8.0]) => R0[:8.0]
max(V0[:8.0],V1[:8.0]) => Z1[:8.0]
max(Z1[:8.0],V2[:8.0]) => R0[:8.0]
END
P2 max (V0[:8.0],V1[:8.0]) => R0[:8.0]
V0[:8.0] => Z1[:8.0]
(Z1[:8.0] <V1[:8.0]) → V1[:8.0] => Z1[:8.0]
Z1[:8.0] => R0[:8.0]
END

Ver também[editar | editar código-fonte]

Referências

  1. Rojas, Raúl; Hashagen, Ulf (2002). The First Computers: History and Architectures. [S.l.]: MIT Press. p. 292. ISBN 978-0262681377. Consultado em 25 de outubro de 2013 
  2. «A História Cronologica das Linguagens de Programação». 12 de maio de 2005. p. pag.38. Consultado em 4 de setembro de 2010. Arquivado do original em 10 de dezembro de 2007 

Bibliografia[editar | editar código-fonte]

  • Zuse, Konrad: Der Plankalkül. Gesellschaft für Mathematik und Datenverarbeitung. Nr. 63, BMBW – GMD – 63, 1972
  • Genese.pdf
  • Konrad Zuse e seu Plancalculus
  • Konrad Zuse
  • Knuth, D. E. & Pardo, L. T. [1980]. The early development of programming languages, apud A history of computing in the twentieth century (a collection of essays). London: Academic Press, 1980.
  • Zuseacedido em 12 de março de 2005
  • L1 seminário.pdf[ligação inativa]
  • Conceitos de linguagem de programação, por Robert W. Sebesta (Capítulo 2)5ª edição pág 47 a 50.

Ligações externas[editar | editar código-fonte]