Saltar para o conteúdo

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 porHeinz Rutishauser,
ALGOL 58[1]

Plankalkülé umalinguagem de programaçãocriada pelo cientista alemãoKonrad Zuse,entre1942e1946,no desenvolvimento dos primeiroscomputadores.A linguagem é considerada dealto nível,mas só foi publicada amplamente em1972;e ocompiladorem1998.Uma implementação independente foi lançada em2000pelaUniversidade Livre de Berlim.

Desenvolvimento

[editar|editar código-fonte]

Konrad Zuse construiu vários computadores dereléseletromagnéticos complexos, mas em1945,aguerradestruiu tudo, exceto um modelo, oZ4.Após a destruição de seus equipamentos, Konrad mudou-se para uma cidade chamadaHintersteiner,onde começou a trabalhar sozinho em seu projeto para desenvolver a sua linguagem de programação, um projeto que começou em1943como uma proposta para suatesededoutorado,que desenvolveu sua linguagem de programação Plankalkül.

Zuse, em1948,publicou um artigo noArchiv der Mathematik- um jornal que publica trabalhos de alta qualidade em todas as áreas damatemática- mas sua publicação não produziu interesseacadémico.Heinz Rutishauser(co-fundador doALGOL) 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 deestruturas de dados.O tipo mais simples é o de um únicobit,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 umprograma.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

[editar|editar código-fonte]

Um dos maiores obstáculos para a implementação da linguagem Plankalkül ocorria devido ao fato da mesma utilizar uma sintaxe de difícil compreensão, ou seja, um determinadodesenvolvedordemoraria 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, eram declaradas 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 na quarta linha, declarava-se o tipo da variável, por exemplo, 5.0 (cincobits). Todavia, 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émmatrizese registros. Pode-se resumir dizendo que a ideia incorporou muitas ideias importantes ao Plankalkül. Ao concluir seus algoritmos de trabalho, Konrad desenvolveu para classificação, testar a conectividade degráficospara aritmética de inteiros (inclusiveraiz quadrada); e até mesmo um jogo dexadrez,onde oartigofoi encontrado em uma seção de 60 páginas sobre como desenvolver a aplicação e outras. Infelizmente, a maioria destas coisas não foram conhecidas até1972;o primeiro compilador foi desenvolvido 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 dasestruturas de dados.O tipo mais simples era obitú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 "bitoculto ", que é atualmente usado para evitar armazenar obitmais 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 e 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;
    • Estruturasrecordhierá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 umlayoutbidimensional e unidimensional.

Esta linguagem de programação possui, entre outras coisas, indicações de atribuição, chamadas da função (sub-rotinas),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 seuZ3,mas os eventos daSegunda Guerra Mundialforçaram o seu uso por muito tempo. Durante anos, esse trabalho permaneceu esquecido. Somente em 1972 foi publicado completamente. No contexto de uma tese, Plankalkül foi descrito e implementado em1975por J. Hohmann. No final dosanos 90,foram feitas implementações alternativas independentes (em 1998; e dois anos mais tarde, na universidade livre de Berlim), incluindo um editor de sintático.

Abaixo, temos um exemplo de um programa que calcula o valor máximo de três variáveis pela chamada a funçãomax:

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

Referências

  1. Rojas, Raúl; Hashagen, Ulf (2002).The First Computers: History and Architectures.[S.l.]: MIT Press. p. 292.ISBN978-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 dooriginalem 10 de dezembro de 2007
  • 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]