Paradigmas de Linguagens de Programação - Classificações
Upcoming SlideShare
Loading in...5
×
 

Paradigmas de Linguagens de Programação - Classificações

on

  • 2,908 views

 

Statistics

Views

Total Views
2,908
Views on SlideShare
2,908
Embed Views
0

Actions

Likes
1
Downloads
101
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Paradigmas de Linguagens de Programação - Classificações Paradigmas de Linguagens de Programação - Classificações Presentation Transcript

  • Prof. Adriano Teixeira de Souza
  •  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 assemblers 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
  • 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
  • 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
  •  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