sábado, 30 de abril de 2016

Gerações das Linguagens de Programação

Baixo Nível

  • Primeira Geração

A chamada linguagem de maquina ou binária. É a única linguagem que um microprocessador pode entender nativamente. O código de máquina não pode ser escrito ou lido por um editor de texto, e portanto é raramente usado por uma pessoa diretamente. Esta linguagem ordena à máquina as operações fundamentais para seu funcionamento. Consiste na combinação de 0's e 1's para formar as ordens compreensíveis ao hardware da máquina, os chamados bits.

Esta linguagem é muito mais rápida que as linguagens de alto nível, mas a desvantagem é que são bastante difíceis de manejar e usar, além de ter códigos-fonte enormes onde encontrar uma falha é quase impossível e a portabilidade é significativamente reduzida – ao transferir código para um computador diferente o código tem que ser completamente reescrito visto que a linguagem de máquina de um computador para outro poderia ser significativamente diferente. Ou seja, seria como se cada modelo de computador tivesse sua própria linguagem, por esta estar estritamente relacionada com o hardware.

Exemplo dum programa em linguagem máquina SCRAM:

00010001

01010010

00110011

  • Segunda Geração (Assembly)

É um derivado da linguagem máquina, também chamado de linguagem de montagem e é formada por abreviaturas de letras e números chamados mnemotécnicos. Embora não seja uma linguagem nativa do microprocessador, um programador que use a linguagem Assembly ainda deve compreender as características da arquitetura do processador. Com o aparecimento desta linguagem se criaram os programas tradutores para poder passar os programas escritos em linguagem Assembly para linguagem de máquina. Como vantagem com respeito ao código máquina é que os códigos-fontes eram mais curtos e os programas criados ocupavam menos memória. As desvantagens desta linguagem são, além de também ser única para cada tipo de CPU, de forma que um programa escrito em linguagem assembly para uma CPU poderá não ser executado em outra CPU de uma família diferente, a dificuldade em aprender uma linguagem distinta da natural humana. A seguir, um exemplo de programa na linguagem Assembly:


Alto Nível

  • Terceira Geração
Linguagem de programação na qual o elemento básico de programação é a procedure (uma sequência de instruções – rotina, sub-rotina ou função – associadas a um nome próprio). As linguagens de alto nível mais utilizadas (C, Pascal, BASIC, FORTAN, COBOL, Ada) são todas linguagens procedurais. Para ser considerada procedural, uma linguagem de programação deve suportar o conceito de procedimentos, e possuir uma sintaxe para defini-los. Idealmente, ela deve suportar a especificação de tipos de argumentos, variáveis locais, chamadas recursivas e o uso de procedimentos em módulos distintos de um programa. Ela também pode suportar a distinção entre argumentos de entrada e de saída.

O exemplo canônico de uma linguagem de programação procedural é ALGOL. Uma linguagem em que a única forma de procedimento é um método é geralmente considerada orientada a objetos ao invés de procedural, e não será incluída nesta lista. Isto se aplica a C# e Java, mas não a C++.
  • Quarta Geração
O termo linguagens de programação de quarta geração (4GL, linguagens aplicativas ou de aplicação) foi usado primeiramente por James Martin em seu livro publicado em 1982 "Applications Development Without Programmers" para se referir a estas linguagens não-procedurais e de alto-nível. Alguns acreditam que a primeira 4GL foi uma linguagem chamada RAMIS, desenvolvida por Gerald C. Cohen na empresa Mathematica (uma companhia de softwares matemáticos).

A principal diferença entre as linguagens de terceira e quarta geração, é que estas primeiras são linguagens procedurais que descrevem como fazer algo, enquanto a 4GL descreve o que você quer que seja feito.

Uma 4GL que se popularizou foi a linguagem SQL (Structured Query Language), que se tornou um padrão para manipulação e consulta de bancos de dados, sendo hoje em dia muito usada em conjunto com as linguagens de terceira geração.

  • Quinta Geração
Linguagens voltadas a Inteligência artificial (Prolog) e as linguagens funcionais (Lisp). Prolog é uma linguagem de programação que se enquadra no paradigma de Programação em Lógica Matemática. É uma linguagem de uso geral que é especialmente associada com a inteligência artificial e linguística computacional. Consiste numa linguagem puramente lógica, que pode ser chamada de Prolog puro, e numa linguagem concreta, a qual acrescenta o Prolog puro com componentes extra-lógicos.

O uso Prolog puro foi originalmente restrito em provas do teorema da resolução com Cláusulas de Horn do formato:

H :- B1, …, Bn..

Lisp é uma família de linguagens de programação concebida por John McCarthy em 1958. Num célebre artigo, ele mostra que é possível usar exclusivamente funções matemáticas como estruturas de dados elementares (o que é possível a partir do momento em que há um mecanismo formal para manipular funções: o Cálculo Lambda de Alonzo Church). A linguagem Lisp foi projetada primariamente para o processamento de dados simbólicos. Ela é uma linguagem formal matemática [4]. Durante os anos de 1970 e 1980, Lisp se tornou a principal linguagem da comunidade de inteligência artificial, tendo sido pioneiro em aplicações como administração automática de armazenamento, linguagens interpretadas e programação funcional. O seu nome vem de LISt Processing (a lista é a estrutura de dados fundamental desta linguagem). Tanto os dados como o programa são representados como listas, o que permite que a linguagem manipule o código fonte como qualquer outro tipo de dados.

Referências

http://www.criarweb.com/artigos/685.php

http://www.dcc.fc.up.pt/~nam/aulas/0001/ic/slides/sliic0017/node3.html

http://diariodaprogramacao.blogspot.com.br/2012/07/linguagem-de-

programacao.html

http://www.laifi.com/laifi.php?id_laifi=608&idC=5762

http://pt.slideshare.net/RodrigoGonalves8/linguagem-da- programao

http://camilahamdan.wikidot.com/wiki:lp-aula- ii-geracoes- da-lp

Nenhum comentário:

Postar um comentário