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
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
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
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
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
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
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
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
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
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
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
Prof. Adriano Teixeira de Souza
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;
Top Related