Existem três classes de linguagens de programação de acordo com o nível de abstração: linguagens de máquina, de baixo nível e de alto nível. Linguagens de máquina usam códigos binários e dependem da arquitetura da CPU, enquanto linguagens de alto nível são mais independentes e se assemelham à linguagem humana, facilitando a programação.
2. Existem três classes de linguagens de
programação, isto, por níveis de abstração:
◦ Linguagens de máquina,
◦ Linguagens de baixo nível e
◦ Linguagens de alto nível.
Prof. Adriano Teixeira de Souza
3. Possuem alfabeto baseado em dígitos
binários (zero e um)
Possui gramática (conjunto de regras
sintáticas) específica para cada tipo de
processador (ou microprocessador);
Exemplo: a instrução “some 1 + 1” deveria
ser representada como: 10100100
Prof. Adriano Teixeira de Souza
4. Muitas desvantagens:
◦ Grande probabilidade de erro em todos os estágios
do processo de programação.
◦ Mesmo sendo com algoritmos simples resulta em
longos programas, o que dificulta o processo de
validação e detecção de erros.
◦ O cálculo de endereços de memória devem ser
feitos manualmente, com um árduo trabalho e uma
grande probabilidade de erros.
Prof. Adriano Teixeira de Souza
5. São compostas por mnemônicos ao invés de
códigos binários (uma palavra para cada
comando)e
Possuem assembler's que interpretam e
convertem os mnemônicos para códigos
binários,
Estas linguagens são específicas para cada
tipo de processador (ou microprocessador).
◦ Exemplo: ADD 1 , 1
Prof. Adriano Teixeira de Souza
7. São linguagens que não requerem cuidados
com a arquitetura física,
Elas são portáveis (são de certa forma
independentes de tipos de processadores),
Para rodar algum programa elas necessitam
ter traduzido o código fonte para uma
linguagem que possa ser lida e entendida
pela máquina (processador ou
microprocessador).
Esta linguagem é a mais próxima à linguagem
humana.
Prof. Adriano Teixeira de Souza
8. Alto nível
◦ Minimiza as dificuldades da programação em Linguagem
de Baixo Nível pois se aproxima da linguagem humana
◦ Problemas podem ser solucionados muito mais
rapidamente e com muito mais facilidade.
◦ A solução do problema não necessita ser obscurecida
pelo nível de detalhes necessários em um programa em
linguagem de baixo nível.
◦ O programa em linguagem de alto nível é normalmente
fácil de seguir e entender cada passo da execução.
◦ Fácil portabilidade em diferentes CPUs.
Prof. Adriano Teixeira de Souza
9. Baixo nível
◦ Indicada para funções que precisam implementar instruções de
máquina específicas que não são suportadas por linguagens de
alto nível.
◦ Impossibilidade de uso de linguagens de alto nível (hardware
simples).
◦ Difícil portabilidade em diferentes CPUs.
◦ Minimiza as dificuldades de programação em notação binária já
que faz uso de códigos mnemônicos ao invés da notação binária.
Prof. Adriano Teixeira de Souza
11. Fracamente tipada:
◦ Permite operações entre de tipos de dados
diferentes. Exemplo: (Smalltalk)
Fortemente tipada:
◦ Não permite operações entre tipos de dados
diferentes. Exemplo : (Java, Ruby)
Dinamicamente tipada:
◦ Checa os tipos de dados em tempo de execução.
Exemplo: (Python, Ruby)
Estaticamente tipada
◦ O tipo da variável é declarada em tempo de
programação. Exemplo: (Java, C)
Prof. Adriano Teixeira de Souza
12. Existem cinco gerações de linguagens de programação:
◦ Primeira geração, as linguagens de máquina (Binário: Zero e Um).
◦ Segunda geração, as linguagens de baixo nível (Assembly).
◦ Terceira geração, linguagens de alto nível. Suportar variáveis, matrizes,
instruções condicionais, instruções repetitivas, funções e procedimentos
(C, Pascal, Cobol, Fortran).
◦ Quarta geração, linguagens que geram código a partir de expressões de
alto-nível; e linguagens de consulta (Java, C++, SQL).
◦ Quinta geração, linguagens lógicas para inteligência artificial (Lisp,
Prolog). São criadas bases de conhecimentos, obtidas a partir de
especialistas, e as linguagens fazem deduções, inferências e tiram
conclusões baseadas nas bases de conhecimento.
Prof. Adriano Teixeira de Souza
13. Computadores são usados em uma infinidade de
diferentes áreas.
Aplicações científicas:
◦ Primeiros computadores foram inventados para
aplicações científicas:
Características: estruturas de dados simples, grande número
de computações aritméticas com números reais e eficientes.
Ex: FORTRAN.
Aplicações comerciais:
◦ Características: facilidade de produzir relatórios,
precisão para armazenar números decimais e textos,
capacidade de especificar operações aritméticas com
decimais.
◦ Ex: COBOL.
Prof. Adriano Teixeira de Souza
14. Inteligência artificial simbólica:
◦ Características: computações simbólicas ao invés de
numéricas, computação por listas encadeadas.
◦ Ex: LISP e PROLOG.
Programação de sistemas:
◦ Software básico: sistema operacional e todas as
ferramentas de suporte à programação.
◦ Características: usados continuamente, requerem
eficiência na execução.
◦ Ex: Sistema operacional UNIX foi escrito em C.
Prof. Adriano Teixeira de Souza
15. Linguagens de scripting:
◦ Script: uma lista de comandos em um arquivo para
serem executados.
◦ Primeira linguagem script foi sh (de shell), pequena
coleção de comandos interpretados como chamadas aos
subprogramas do sistema que executam funções de
utilidade.
◦ A essa base foram adicionadas variáveis, instruções de
fluxo de controle, funções e outras capacidades →
linguagem completa.
◦ Ex: Pearl – popular com advento da www e Java Script –
usada tanto em servidores web como em navegadores.
Linguagens de propósito especiais.
◦ Geração de relatório, troca de informações, etc;
Prof. Adriano Teixeira de Souza