Histórico das Linguagens de Programação - Década de 1950

Histórico das Linguagens de Programação - Década de 1950

Esta página tem o resultado da pesquisa feita pelo aluno Matheus Amorim sobre o histórico das linguagens de programação da década de 1950.


Incluir ao final parágrafo relacionando o conteúdo da pesquisa com a disciplina de compiladores.
Em 30/04: ajuste não realizados.

Essa pesquisa tem com o objetivo mostrar um pouco sobre os primeiros compiladores e as primeiras linguagens que surgiram entre os anos de 1950 a 1959 sendo eles o autocode, assembly, Fortran, Cobol e o LISP.

Autocode e os primeiros compiladores
Em meados da década de 50 surge o autocode um compilador que, a partir de informações definidas anteriormente, gera códigos em assembly automaticamente. Foi criado por Alick E. Glennie das forças armadas da inglaterra com o objetivo de diminuir a dificuldade de programar em uma máquina. Esse compilador traduzia expressão algébrica em linguagem de máquina. Após o autocode, veio a surgir o A-0 criado por Grace Hopper sendo aprimorado com o passar do tempo e ao aprimorar para o A-3, paralelamente, foi construído o tradutor Math-Matic, que foi desenvolvida para o computador UNIVAC 1.

Assembly

O assembly é uma linguagem de programação de baixo nível para um computador, sendo que cada computador tem a sua linguagem de assembly específica. Ela é convertida em código de máquina executável por um programa chamado de montador, ou assembler. A primeira linguagem assembly surgiu em 1947 por Kathleen Booth para arc 2, dois anos depois, em 1949, um montador chamado initial orders(ordens iniciais) foi usado no EDSAC por Maurice Wilkes. A linguagem assembly era usada para eliminar os erros que as linguagens de programação deixavam. Ela é utilizada mais para manipulação no hardware e solucionar problemas de desempenho. Aplicações comerciais usaram o assembly, mas parte foi substituída por linguagens de programação de alto nível como o Fortran e o Cobol.

Fortran

O Fortran foi a primeira linguagem de alto nível a surgir por um equipe de desenvolvedores liderados por John Backus nos anos de 1954-1957 e foi a primeira a ser uma linguagem imperativa, ou seja, linguagem no qual há passos que um programa deve seguir para alcançar um estado desejado.Ele, inicialmente, era uma linguagem procedural, mas após suportar orientação a objetos passou a ser usada em ciência da computação e análise numérica. Foi Feito como alternativa para a linguagem assembly. Entre os compiladores que compilam o fortran temos o gcc, o g77 e o gFortran.
No Fortran há duas formas de escrever um programa sendo elas o formulário fixo e para os compiladores que suportam o fortran 90 o formulário livre. A formatação dos códigos em formato fixo tem deve seguir alguns critérios. São eles:
Colunas 1 a 5: são usadas para escrever os rótulos ‘label’ ou números de comando;
Colunas 7 a 72: comandos ou comentários;
Colunas 73 a 80: campos de identificação, são usados pelo compilador, portanto não se deve escrever nestas colunas.
F90 – O programa pode ser escrito em qualquer posição, desde que o modo formulário livre esteja ativado;
As linhas de continuação são indicadas pelo símbolo ‘&’ no fim da sentença, e a próxima linha abaixo que não seja um comentário será tomada como continuação.
Os rótulos devem ser os primeiros caracteres da linha, e podem estar em qualquer coluna.

COBOL

O COBOL é uma linguagem de alto nível que surgiu em 1959 durante o CODASYL, que era um dos comitês proposto pelo pentágono. As suas especificações foram inspiradas na linguagem de programação Flow-Matic inventada pela Grace Hopper. O COBOL tem como objetivo servir como uma linguagem de programação para negócios para criação de sistemas comerciais, financeiros e administrativos. Em sua Estrutura há quatro divisões:
IDENTIFICATION DIVISION: Possui informações documentais, como nome do programa, quem o codificou e quando essa codificação foi realizada.
ENVIRONMENT DIVISION : Descreve o computador e os periféricos que serão utilizados pelo programa.
DATA DIVISION: Descreve os arquivos de entrada e saída que serão usadas pelo programa. Também define as áreas de trabalho e constantes necessárias para o processamento dos dados.
PROCEDURE DIVISION: Contém o código que irá manipular os dados descritos na DATA DIVISION. É nesta divisão que o desenvolvedor descreve o algoritmo do programa.
Algumas das características do cobol é o acesso rápido a arquivos e bases de dados, a atualização rápida de arquivos e bases de dados, a geração de uma grande quantidade de informações e saída com um formato compreensível ao usuário. Por ser capaz de lidar tanto com números grandes quanto com números pequenos é usado muitas vezes em cálculos financeiros.

LISP

LISP (List Processing) é uma linguagem de alto nível que surgiu em 1958 criada por John McCarthy é uma linguagem formal matemática e é voltada para a inteligência artificial por usar o processamento simbólico. Foi pioneiro em aplicações como linguagens interpretadas e linguagem funcional. No LISP, assim como o nome sugere, os dados e o programa em si são representados em listas.
O LISP é uma linguagem interpretada no qual recebe expressões digitadas pelo usuário e devolve a avaliação das mesmas. Essas expressões são construídas pelos tipos de dados átomo e listas.Ela é uma linguagem de tipagem fraca, oferece oportunidades para o uso de concorrência, não depende de de operação de atribuição e tem um alto nível de abstração. Uma desvantagem que esta linguagem tem é a baixa eficiência em resolver problemas que tem muitas variáveis.
Algumas de suas características são aplicações grandes, complexas e críticas, prototipação rápida e Rapid Application Development (RAD), aplicações de alta disponibilidade, principalmente aquelas que necessitam de mudanças após a etapa inicial.

Referência:

https://pt.wikipedia.org/wiki/Hist%C3%B3ria_das_linguagens_de_programa%C3%A7%C3%A3o#Os_anos_1950%C2%B4s_e_1960%C2%B4s
https://www.inf.ufes.br/~thomas/fortran/tutorials/helder/fortran.pdf
https://pt.wikiversity.org/wiki/Introdu%C3%A7%C3%A3o_%C3%A0s_Linguagens_de_Programa%C3%A7%C3%A3o/Fortran
https://pt.wikipedia.org/wiki/Fortran
https://pt.wikiversity.org/wiki/Introdução_às_Linguagens_de_Programação/COBOL
https://pt.wikipedia.org/wiki/COBOL
http://www.din.uem.br/~ia/ferramen/lisp/
https://pt.wikipedia.org/wiki/Lisp
https://en.wikipedia.org/wiki/Assembly_language
http://pesquompile.wikidot.com/historico-linguagens-programacao
https://dcc.catalao.ufg.br/up/498/o/NelioJunior2011.pdf

Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License