Gerações de linguagem de programação - Programming language generations

As linguagens de programação foram classificadas em várias gerações de linguagens de programação . Historicamente, essa classificação foi usada para indicar o poder crescente dos estilos de programação. Escritores posteriores redefiniram um pouco os significados, pois as distinções antes vistas como importantes tornaram-se menos significativas para a prática atual.

Gerações

Primeira geração (1GL)

Exemplos: linguagens de programação em nível de máquina

Uma linguagem de programação de primeira geração (1GL) é uma linguagem de programação de nível de máquina .

Uma linguagem (de programação) de primeira geração (1GL) é um agrupamento de linguagens de programação que são linguagens de nível de máquina usadas para programar computadores de primeira geração . Originalmente, nenhum tradutor foi usado para compilar ou montar a linguagem de primeira geração. As instruções de programação da primeira geração foram inseridas por meio dos interruptores do painel frontal do sistema de computador.

As instruções em 1GL são feitas de números binários , representados por 1s e 0s. Isso torna a linguagem adequada para o entendimento da máquina, mas muito mais difícil de interpretar e aprender pelo programador humano.

Segunda geração (2GL)

Exemplos: linguagens assembly

A linguagem de programação de segunda geração (2GL) é uma forma geracional de categorizar linguagens assembly .

Terceira geração (3GL)

Exemplos: C , C ++ , Java , Python , PHP , Perl , C # , BASIC , Pascal , Fortran , ALGOL , COBOL

3GLs são muito mais independentes da máquina (portáteis) e mais amigáveis ​​ao programador. Isso inclui recursos como suporte aprimorado para tipos de dados agregados e conceitos de expressão de uma forma que favoreça o programador, não o computador. Uma linguagem de terceira geração é melhorada em relação a uma linguagem de segunda geração, pois o computador cuida de detalhes não essenciais. 3GLs são mais abstratos do que as gerações anteriores de linguagens e, portanto, podem ser consideradas linguagens de nível superior do que suas contrapartes de primeira e segunda geração. Introduzidos pela primeira vez no final dos anos 1950, Fortran , ALGOL e COBOL são exemplos dos primeiros 3GLs.

As linguagens de uso geral mais populares hoje, como C , C ++ , C # , Java , BASIC e Pascal , também são linguagens de terceira geração, embora cada uma dessas linguagens possa ser subdividida em outras categorias com base em outras características contemporâneas. A maioria dos 3GLs oferece suporte à programação estruturada . Muitos oferecem suporte à programação orientada a objetos . Características como essas são usadas com mais frequência para descrever uma linguagem, em vez de apenas ser um 3GL.

Quarta geração (4GL)

Exemplos: ABAP , Unix Shell , SQL , PL / SQL , Oracle Reports , R

As linguagens de quarta geração tendem a ser especializadas em domínios de programação muito específicos . 4GLs podem incluir suporte para gerenciamento de banco de dados , geração de relatório , otimização matemática , desenvolvimento de GUI ou desenvolvimento web .

Quinta geração (5GL)

Exemplos: Prolog , OPS5 , Mercury

Uma linguagem de programação de quinta geração (5GL) é qualquer linguagem de programação baseada na resolução de problemas usando restrições fornecidas ao programa, em vez de usar um algoritmo escrito por um programador. A maioria das linguagens de programação baseadas em restrições e lógicas e algumas outras linguagens declarativas são linguagens de quinta geração.

Enquanto as linguagens de programação de quarta geração são projetadas para construir programas específicos, as linguagens de quinta geração são projetadas para fazer o computador resolver um determinado problema sem o programador. Dessa forma, o usuário só precisa se preocupar com quais problemas precisam ser resolvidos e quais condições precisam ser atendidas, sem se preocupar em como implementar uma rotina ou algoritmo para resolvê-los. As linguagens de quinta geração são usadas principalmente na pesquisa de inteligência artificial . OPS5 e Mercury são exemplos de linguagens de quinta geração, assim como ICAD , que foi construído sobre Lisp . KL-ONE é um exemplo de uma ideia relacionada, uma linguagem de quadro .

História

Os termos linguagem de programação de "primeira geração" e "segunda geração" não eram usados ​​antes da criação do termo "terceira geração"; nenhum desses três termos é mencionado nos primeiros compêndios de linguagens de programação. A introdução de uma terceira geração de tecnologia de computador coincidiu com a criação de uma nova geração de linguagens de programação. O marketing para esta mudança de geração em máquinas correlacionado com várias mudanças importantes no que foram chamadas de linguagens de programação de alto nível , discutidas abaixo, dando conteúdo técnico para a distinção de segunda / terceira geração entre as linguagens de programação de alto nível, bem como renomear retroativamente a máquina. linguagens de código como primeira geração e linguagens assembly como segunda geração .

Inicialmente, todas as linguagens de programação em um nível superior ao assembly foram chamadas de " terceira geração ", mas posteriormente, o termo " quarta geração " foi introduzido para tentar diferenciar as (então) novas linguagens declarativas (como Prolog e domínio- linguagens específicas) que afirmam operar em um nível ainda mais alto e em um domínio ainda mais próximo do usuário (por exemplo, em um nível de linguagem natural) do que as linguagens de alto nível obrigatórias originais, como Pascal , C , ALGOL , Fortran , BASIC , etc.

A classificação "geracional" de linguagens de alto nível (terceira geração e posteriores) nunca foi totalmente precisa e talvez tenha sido abandonada posteriormente, com classificações mais precisas ganhando uso comum, como orientada a objetos , declarativa e funcional. C deu origem a C ++ e, posteriormente, a Java e C # ; Lisp para CLOS ; Ada a Ada 2012 ; e até mesmo COBOL para COBOL 2002 . Novas linguagens surgiram também nessa "geração".

Veja também

Referências