A Brief History of Early Programming Languages

This included different automations and assemblers. Um tempo “marcado por muitas primeiras”.,

Friedman nos pede para considerar a programação ou ‘codificação’ cultura no tempo, à luz das inovações que veio:

“temos que ter em mente, em primeiro lugar, que a mentalidade da codificação estabelecimento foi tal que qualquer outro de mão-de codificação foi considerado inferior e, em segundo lugar, que aqueles manualmente o código de linguagem de máquina programas foram realmente muito complexo e intrincado e fez tudo com menos de armazenamento como os nossos programas sofisticados de hoje.,”

Ela diz também que o ceticismo foi garantido, uma vez que estes sistemas voltados programas que foram menos eficientes e mais caros do que o equivalente a mão-codificado versões produzidas por inteligente, inventivo humanos codificadores.

assim, neste momento os programadores nem sempre programaram “do zero”. Muitos copiariam manualmente seções de código.

copiar foi repleto de’erros de transcrição’.

em 1949 John Mauchly propôs “código de ordem curta” ou “código curto” para o BINAC (computador automático binário). O computador foi construído por John Mauchly e J., Presper Eckert, mais tarde foi comprada pela Remington-Rand.

Short Code: was a set of interpretative subroutines stored in memory. Código curto executado cerca de 50 vezes mais lento do que o programa de código manual equivalente.

os anos 1950-1951 assistiu à emergência de uma série de linguagens de máquina artificiais ou “pseudo-códigos”.

“no início da década de 1950 Betty Holbertson’ S S Sort-Merge Generator foi uma primeira tentativa de usar um computador para escrever programas e inspirou toda uma família de outros geradores de programas.,”

In 1951 the first textbook for programming came over from England. Foi chamado de “a preparação de programas para um computador Digital”, de autoria de Wilkes, Wheeler e Gill.

discutiu “rotina de montagem”, referindo-se a: “…um pedaço de código que combinaria um conjunto de sub-rotinas e alocaria o armazenamento como blocos de endereços deslocalizáveis chamados “endereços flutuantes”.,”

In 1951, Grace Murray Hopper working on Remington-Rand’s UNIVAC I came up with what she called a ‘compiling routine’, as the act of translating ‘pseudo-code’ into a complete set of machine language instructions.

em 1952, Millie Coss saiu com o “gerador de edição” tomando operações aritméticas e imprimindo uma saída legível por gerentes e outros seres humanos.

Friedman descreveu o desenvolvimento de 1952 de um sistema de AUTOCODE por Alick E. Glennie como um link para a “terceira geração” de software., Foi um compilador algébrico primitivo e altamente dependente da máquina que traduziu afirmações algébricas para a linguagem de máquina do Manchester Mark I.

terceira geração de software — linguagens processuais

em 1945, uma linguagem de programação teórica foi desenvolvida na Fed. Rep. Alemanha por Konrad Zuse, chamado Plankalkul (programcalculus), embora isso passou despercebido até cerca de 1972.,

na Itália, a dissertação de doutoramento de Corrado Bohm a partir de 1951 descreve um sistema que define cada declaração como um caso especial da declaração atribuída, por exemplo S seria equivalente a “definir o programa contra o valor da variável S”.

o primeiro compilador algébrico é considerado para o computador WHIRLWIND do MIT projetado por Jay Forrester e Ken Olsen. Foi o primeiro minicomputador de 16 bits capaz de processamento paralelo e computação em tempo real. Foi demonstrado na primavera de 1953 e em janeiro de 1954.,

em 1955, a equipe de programação de Grace Murray Hoppe começou a desenvolver uma linguagem de programação algébrica que utiliza algumas palavras-chave em inglês.

In 1957, it was released as MATH-MATIC, and it executed inefficiently. Em 1957 a IBM finalmente entregou o compilador para FORTRAN. Foi cada vez mais aceito na comunidade de computação.

em 1958, FLOW-MATIC foi lançado e tornou-se um fator importante no projeto subsequente da COBOL.,FORTRAN (FORmula TRANslating System)

In 1954, John Backus led an IBM team of researcher (later named the Programming Research Group) to design and develop automatic translators of mathematical formulas into IBM 704 machine code. Eles aceitariam nada menos do que algo tão eficiente como os seus homólogos em código manual. A sua principal preocupação era a eficiência, uma vez que, de acordo com Friedman, pode ser mais provável que seja aceite pela comunidade de codificação. Aspecto de design de linguagem foi tratado rapidamente., Descrito por Friedman: “…na maneira de uma tarefa que tinha que ser concluída antes do trabalho ‘real’ (o design do compilador) poderia ser feito.”

FORmula TRANslating System,or FORTRAN was released in 1954 with a large part of the document devoted to the justification of the system, including an optimistic expectation that FORTRAN would eliminate coding and debugging.

em 1958, Compiladores FORTRAN foram lançados para IBM 709 e 650; em 1960 para 1620 e 7070., As versões não eram necessariamente idênticas e um programa escrito em um computador não produz necessariamente o mesmo resultado em outro.

em 1961, Compiladores FORTRAN foram disponibilizados para outros computadores (UNIVAC, Remington-Rand LARC e ALTAC).

em 1964 havia mais de 40 Compiladores FORTRAN diferentes no mercado. Deve-se dizer que não era linguagem independente da máquina, e computador diferente em computadores diferentes.em 1958 FORTRAN II foi lançado, seguido por FORTRAN III e FORTRAN IV em 1962., FORTRAN IV foi o padrão para a língua até FORTRAN 77 ser lançado em 1978.

LISP (LISt Processor)

durante os anos 1956-1958 uma linguagem interativa e aplicativa foi projetada em Darthmouth por John McCarthy.

em 1959, isto foi posteriormente implementado no MIT com um manual de referência publicado em 1960.

LISP é baseado no cálculo lambda, e ao contrário de outras linguagens, foi projetado para a manipulação de fórmulas simbólicas. Friedman argumenta que se tornou a “língua franca” (meio de comunicação) para a comunidade de inteligência artificial.,

ela lista algumas características inovadoras como o seguinte:

  • a função como a unidade básica do programa.
  • a lista como a estrutura básica de dados.estruturas dinâmicas de dados.Instalações para “colecções de lixo”.
  • Use of symbolic expressions as opposed to numbers.recursão.expressão condicional como estruturas de controlo.
  • a função “eval” para a avaliação interactiva das declarações LISP.,

ALGOL (ALGOrithmic-Language)

em 1958, um comitê realizou reuniões em Zurique para projetar uma linguagem de programação universal de alto nível. Ele contou com representantes europeus da GAMM (associação alemã para Matemática Aplicada e mecânica), e da Associação para Máquinas de computação. Um dos membros do comitê foi John Backus, que liderou o grupo de desenvolvimento FORTRAN.um dos objetivos era facilitar a comunicação e o intercâmbio na comunidade internacional de computação, juntamente com o objetivo prático de trazer um compilador para a Europa (eles ainda eram codificação manual)., Uma das razões pelas quais uma nova linguagem era desejada era que FORTRAN era um produto proprietário da IBM. Adoptar FORTRAN significaria, portanto, de certa forma, comprar apenas máquinas IBM, e havia um desejo de IBM não dominar na Europa.

a língua foi primeiramente nomeada IAL, para a linguagem algébrica internacional ,e eventualmente renomeada ALGOL (linguagem algorítmica). A primeira versão era conhecida como ALGOL 58.o Comité reuniu-se novamente em Paris em 1960 para melhorar a linguagem e eliminar as fraquezas.,

“The influence of ALGOL60 on programming language design, and on the development of computer science in general, has been nothing less than deep.”

Friedman lista algumas características inovadoras:

  • BNF (Backus Normal Form), metalanguage for programming language definition.
  • a linguagem de programação como um objeto de estudo ao invés de apenas um meio para um fim.
  • usado como uma linguagem de publicação para algoritmos.
  • bloqueia a estrutura e os ambientes de dados localizados.nidificação de unidades do programa.,
  • Código do programa em formato Livre.declerações de tipo explícito.alocação dinâmica de memória.
  • parâmetro que passa pelo valor e pelo nome.
  • If /then/else and begin/end to delimit compound statements.regras de escopo.Declaração das variáveis locais.
  • parâmetros passados pelo nome, valor ou referência.

COBOL (COmmonBusiness-Oriented-Language

In 1959, another group met under the oversight of the Department of the Defense in the United States to discuss developing a ‘common’ programming language.,

“Este grupo, composto por cerca de 40 membros, representados fabricantes de computadores e usuários da indústria, universidades e governo, e que ficou conhecido como o Comitê CODASYL(COOnferenceon Dados SYstemsLanguages).”

era do interesse dos fabricantes de computadores e do governo projetar uma linguagem que pudesse trabalhar em diferentes máquinas.

em abril de 1960 uma língua chamada COBOL foi feita.ao contrário de FORTRAN, a linguagem começou relativamente ‘independente da máquina’.,

para muitos programas de primeira e segunda geração foi mal compreendido pela maioria e considerado como Friedman diz: uma ‘arte negra’.

inovações importantes em COBOL de acordo com Friedman são as seguintes:

  • A estrutura de dados de registro.descrições de ficheiros e facilidades de manipulação.Independência da máquina dos dados e descrições do programa.
  • igual ênfase nas descrições dos dados nas divisões de dados e nas operações na Divisão de procedimentos.influência do inglês no uso de verbos, cláusulas, sentenças, parágrafos, seções e divisões.,
  • um estilo de linguagem relativamente natural, incluindo palavras ruidosas para legibilidade.
  • o esforço global para uma linguagem que produziria o código do programa auto-documentado.

eles começaram uma tendência importante para linguagens orientadas a dados. Friedman argumenta que isso culminou na proliferação de sistemas de gerenciamento de banco de dados, linguagens de consulta e Ferramentas e ambientes de programação de alta produtividade centrados em banco de dados.,

houve uma ampla disponibilidade de compiladores COBOL, em parte, devido ao envolvimento do governo:

“…o Departamento de Defesa dos eua enviou uma sólida formulação de letra para todos os fabricantes de computador, avisando que se eles quisessem continuar a vender computadores para o Departamento de Defesa dos eua(o maior computador contracter e endower de bolsas de investigação) que tinham melhor colocar um compilador COBOL sobre ele.”

Friedman comenta que FORTRAN, COBOL e LISP estavam entre as linguagens de programação mais usadas na época da escrita (aprox. 1990).,

Babel → 1960’s and 1970’s

“The decades of the 1960s and the 1970s saw a truly amazing proliferation of programming languages.It foi este hub de atividade que Jean Sammetin 1969 comparou com a Torre Bíblica de Babel.”

APL (uma linguagem de programação). Defined and introduced to the public in 1962 through a book by Kenneth Iverson at Harvard, who took part in designing this. Ele necessitava de um teclado especial e não se tornou amplamente utilizado.

SNOBOL (StriNg Oriented symbol Language)., Implementado pela primeira vez em 1963, foi projetado por pesquisadores do Bell Laboratories como uma linguagem de manipulação de cordas. A implementação foi chamada de SEXI (Interpretador de expressões de cordas), mas aparentemente foi considerada inaceitável. O nome da língua era um jab humorístico em acrônimos: SNOBOL (StriNg OrientedsymBOlicLanguag). SNOBOL4 foi lançado em 1968, projetado para hardware de computador de terceira geração, que trata padrões como objetos de dados. O recurso único foi a sua facilidade para correspondência de string e padrão.

BASIC (Beginner’s All-purpose Symbolic Instructional Code)., Code ran in 1964, and the language design was intended to introduce students in non-scientific disciplines to computing. A simplicidade foi escolhida sobre a eficiência do compilador, e mensagens de erro claras foram fornecidas.

PL / 1 (linguagem de Programação / um). Lançado em 1966, pretendia ser o “idioma para acabar com todas as línguas”, mas não tão popular quanto IBM esperava. Compiladores eram ineficientes e não confiáveis. Tem sido criticado como uma linguagem para o grande, como ele tentou incluir todos os elementos concebíveis do design de linguagem.Logo. Desenvolvido ao longo dos anos 1966-1968., Projetado especificamente para a educação matemática, usado experimentalmente em salas de aula. Logo é muito semelhante ao LISP. Ele inclui “gráficos tartaruga”, para ensinar as crianças princípios geométricos.

FORTH (língua da quarta geração). Charles H. Moore queria uma linguagem eficiente o suficiente para aplicações científicas e de engenharia, mas permite uma programação mais rápida usando menos linhas de código. Dois (aparentemente) objetivos de projeto conflitantes parece. De acordo com Friedman não pode ser considerada uma língua de quarta geração hoje.SIMULA., Projetado em 1962 por Kristen Nygaard e Ole-Johan Dahl no centro de computação Norueguês sob contrato com a Univac. Motivado por um desejo de simular aplicações — uma técnica de pesquisa de operações usada com sucesso em uma série de áreas diversas. Esta linguagem introduziu o “conceito de classe”, uma importante abstração para a programação orientada a objetos.

Pascal (nomeado em homenagem ao filósofo e matemático francês do século XVII, Blaise Pascal). A revisão de ALGOL68 (de ALGOL60) não era popular, pois era desnecessariamente grande e desajeitado., Um dos “dissenters” Niklaus Wirth projetou Pascal, que foi implementado pela primeira vez em 1970. Friedman argumenta que Pascal projetado para uso na educação se destacou: “…em oposição a uma tendência”. Uma tendência de complicar uma linguagem com características para que nenhum usuário poderia esperar conhecer todos eles.

C. Kenneth Thompson e Dennis Ritchie desenvolveram C para codificar as rotinas em um sistema operacional UNIX. C foi uma extensão de B (também projetado por Thompson) que se baseou em uma linguagem anterior BCPL. C criou a noção de um sistema operativo portátil., Friedman argumenta que uma sintaxe concisa torna os programas C difíceis de ler, entender, depurar e manter.

Modula-2 (Linguagem MODUlar / dois). Descendente de Pascal, destinado a grandes sistemas. O módulo facilita o compartilhamento de informações, Encapsulando o código em peças claramente delimitadas.

Ada. Proposto em 1980 e padronizado em 1983 tinha intenções semelhantes como PL / 1 (linguagem para acabar com todas as línguas) e sucesso similar.,

Após O anúncio do FORTRAN com o relatório em 1954 houve uma grande quantidade de línguas que tentaram: “…domar o computador eletrônico para uso de alto nível por humanos em todas as áreas de Aplicação.,entre os diferentes idiomas:

Modelo de Friedman

Quarta software geração — declarativa idiomas

“A von Neumann-typeof de arquitetura de computadores, além de servir como catalisador para uma geração de linguagens de programação também pode, ao que parece, ser culpado, em grande parte, do grau de estagnação vimos, o desenvolvimento conceitual da linguagem de programação tecnologia.,”

Friedman refere-se ao programa armazenado em locais de memória com um único contador em um fluxo de instruções de sequência. Linguagens de programação baseadas neste paradigma anterior (processual) arquitetura tendem a ser:

  1. orientado à Declaração (assumindo a execução sequencial de um número limitado de operações).
  2. composto por um grande número de linhas de código. A depuração é árdua e demorada.a manutenção é demorada e dispendiosa.,

Friedman argumenta que este próximo paradigma é declerative:

“A quarta geração de linguagem é declarativa, isto é, suas instruções para o computador se concentrar mais no que está a ser feito, em vez de descrever em detalhes de como fazê-lo.”

quarta geração procura optimizar o trabalho humano ao longo do tempo de computador.

frequentemente dirigido a um utilizador não técnico num determinado domínio de Aplicação.algumas das tendências de acordo com Friedman são:

  • linguagem declarativa.software embalado.,pacotes integrados.ambientes interactivos de fácil utilização.
  • linguagens de consulta.ferramentas de programação de alta produtividade.a integração das línguas.ferramentas de programação (editor, linker, tradutores, tratamento de ficheiros e interface de Utilizador dentro de um único sistema interactivo).

ela menciona que nem todos os sistemas são não-processuais e a classificação é arbitrária.

em 1961, o pacote estatístico BMD (BioMeDicalpackage) é desenvolvido na Universidade da Califórnia Berkeley e implementado em FORTRAN no IBM 7090.,em 1967, Arthur S. Couch desenvolveu o texto DATATEXT na Universidade de Harvard destinado a cientistas sociais.

PROLOG (programação em Lógica). Implementado em 1972 em ALGOL-W com o propósito de processamento em linguagem natural. Desde 1981 tornou-se associado ao Projeto da quinta geração do Japão.po (sistema oficial de produção). Um sistema de produção ou linguagem baseada em regras usada no campo da inteligência artificial. OPS5 lançado em 1977.Smalltalk., Projetado e implementado no Xerox Palo Alto Research Center (PARC) como o componente de software de: “Alan Kay’s legendary Dynabook, um computador pessoal do tamanho de um notebook para o Usuário não-técnico.”O ambiente era importante: mouse para selecionar e apontar; menus de usuário gráfico e assim por diante. Steve Jobs usou esta abordagem com os computadores Apple Lisa e Macintosh Sistema Operacional.

linguagens de consulta. Feito para tornar as bases de dados acessíveis a pessoas com treinamento mínimo, as linguagens de consulta foram desenvolvidas para ser user-friendly. SQL foi desenvolvido para SystemsR e várias outras formas de consulta., SQL foi projetado na IBM e comercializado em 1979 pela Oracle.

Friedman argumenta:

” uma ferramenta de alta produtividade de quarta geração é em grande parte não-processual, fácil de usar e orientada a problemas.”

além disso, ela diz que esses sistemas foram centrados em torno de uma base de dados e incluem componentes de um sistema de gerenciamento de banco de dados.

O Software começou com os seres humanos forçados a’ pensar ‘ em código para uma máquina específica.

no momento da escrita Friedman já argumenta que os computadores podem ‘pensar’ ou agir em certa medida como seres humanos.,o artigo de Linda Weiser Friedman é uma leitura fascinante e eu recomendo que você o Leia na íntegra, em vez de meu resumo limitado.espero que tenha gostado deste artigo!

Deixe uma resposta

O seu endereço de email não será publicado. Campos obrigatórios marcados com *