# Introdução às Linguagens de Programação/Plankalkül

Introdução às Linguagens de Programação PHP | Python
Plankalkül foi a primeira linguagem de programação, a mesma foi criada pelo cientista alemão Konrad Zuse nos anos de 1943 a 1946 sendo considerada uma Linguagem de Alto Nível, porém só foi publicada em 1972.Zuse queria desenvolver um meio sofisticado para o desenvolvimento das tarefas que o computador deveria fazer.
Konrad Zuse construiu diversos computadores complexos a partir de reles eletromagnéticos, porém em 1945, a guerra destruiu todos, a não ser um único modelo, o Z4. Após a destruição de seus computadores, Konrad se mudou para uma aldeia chamada Hinterstein, onde, começou a trabalhar sozinho em seu projeto para desenvolver sua linguagem de programação, um projeto que iniciou em 1943 como proposta para a sua dissertação de Ph.D. Ele chamou a sua linguagem de programação de Plankalkül, que significa cálculo de programa.
Zuse publicou um artigo em 1948 no Archiv der Mathematik - uma revista que publica trabalhos de alta qualidade em todas as áreas da matemática - porém a sua publicação não produziu muito feedback, ou seja, não adquiriu relevancia no meio acadêmico/profissional naquela época. Heinz Rutishauser (co-fundador do ALGOL) afirmou: "A primeira tentativa de elaborar 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 merecia".
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 Plankalkul 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). Um dos maiores obstáculos para a implementação da linguagem Plankalkul ocorria devido ao fato da mesma utilizar uma sintaxe de difícil compreensão, ou seja, um determinado Desenvolvedor demoraria muito tempo para compreender as seqüências lógicas utilizadas no programa. Geralmente as variáveis nessa determinada linguagem utilizavam aproximadamente quatro linhas. Na primeira linha era declarada alguma 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.
Além desses tipos comuns, o Planklakül também incluía matrizes e registros. Pode-se resumir sua idéia dizendo que o Plankalkül incorporou muitas idéias extremamente importantes. Como complementação de seu trabalho Zuse desenvolveu algoritmos para ordenação, teste de conectividade de grafos, para aritmética de inteiros (inclusive raiz quadrada) e até um jogo de xadrez onde estava presente em seu artigo uma seção de 60 páginas de como desenvolver a aplicação, entre outros. Infelizmente a maior parte destas coisas permaneceu desconhecida até 1972, sendo o primeiro compilador desenvolvido em 1998 e uma posterior implementação em 2000 na Universidade Livre de Berlim. Sendo assim, nós podemos identificar a visão de longo prazo que o Konrad Zuse possuia através de uma declaração sobre a sua linguagem onde ressaltava: "Depois de algum tempo como a bela adormecida, ainda vai vir a vida".

## Ambiente da Linguagem

Ocorreram implementações independentes após 1998 quando foi criado o primeiro compilador da linguagem, porém a mais significativa ocorreu na Universidade Livre de Berlim, através de um editor de sintaxe. Deviado ao fato da dificuldade de criar um compilador que utilize a forma bidimensional no desenvolvimento de um algorítmo, compiladores utilizam a forma linearizada em seu ambiente de desenvolvimento. Geralmente o editor de sintaxe é composto por um analisador que transforma o modelo linearizado em uma espécie de "Código Intermediário" que por sua vez é interpretado por uma sistema run-time que permite a execução do programa, ou seja, permite a inserção de valores para as variáveis declaradas.

## Principais Vantagens

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;
* Estrutura de dados hierárquica;
* Aritmética de ponto flutuante;
* Funções não podem se repetir.

## Desvantagens 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.
* Falta de uma sintaxe de fácil interpretação;
* Não é possível definir um nome qualquer para uma variável;
* Konrad Zuse não definiu nenhum comando especifico para entrada e saída de dados;
* Linguagem exclusiva para tratamento com números;
* Utilização de um layout bidimensional e unidimensional.

## Principais Características

Esta linguagem de programação possui entre outras coisas indicações de atribuição, chamadas da função (subrotinas); 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.
* As operações matemáticas ou lógicas só podem ser aplicadas a variáveis do mesmo tipo;
* Estruturas condicionais;
* Estruturas de interação;
* Variáveis são declaradas no momento de sua utilização;
* Utilização de três variáveis especificas ---> V (Passagem de parâmetros) ,Z (Armazenamento de valores intermediários), R (Exibição de resultado).