SlideShare une entreprise Scribd logo
1  sur  15
Télécharger pour lire hors ligne
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 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
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

Contenu connexe

Tendances

Linguagens de Programação
Linguagens de ProgramaçãoLinguagens de Programação
Linguagens de ProgramaçãoBeDMK
 
Linguagem de programação
Linguagem de programação Linguagem de programação
Linguagem de programação Marcos Gregorio
 
Linguagens de programação
Linguagens de programaçãoLinguagens de programação
Linguagens de programaçãoessa
 
Linguágens de programação
Linguágens de programaçãoLinguágens de programação
Linguágens de programaçãoAlbertoVach
 
Linguagens de programação 03-12-09
Linguagens de programação   03-12-09Linguagens de programação   03-12-09
Linguagens de programação 03-12-09essa
 
Plp aula-02-critérios de avaliação
Plp aula-02-critérios de avaliaçãoPlp aula-02-critérios de avaliação
Plp aula-02-critérios de avaliaçãoJosé Meirelles
 
Introdução a Linguagem de Programação
Introdução a Linguagem de ProgramaçãoIntrodução a Linguagem de Programação
Introdução a Linguagem de ProgramaçãoJessica Ribeiro
 
Plp aula-01-apresentação
Plp aula-01-apresentaçãoPlp aula-01-apresentação
Plp aula-01-apresentaçãoJosé Meirelles
 
Paradigmas de Linguagens de Programação
Paradigmas de Linguagens de ProgramaçãoParadigmas de Linguagens de Programação
Paradigmas de Linguagens de ProgramaçãoFabio Spanhol
 
Paradigmas de Linguagens de Programacao - Aula #1
Paradigmas de Linguagens de Programacao - Aula #1Paradigmas de Linguagens de Programacao - Aula #1
Paradigmas de Linguagens de Programacao - Aula #1Ismar Silveira
 
Paradigmas de Programação - Imperativo, Orientado a Objetos e Funcional
Paradigmas de Programação - Imperativo, Orientado a Objetos e FuncionalParadigmas de Programação - Imperativo, Orientado a Objetos e Funcional
Paradigmas de Programação - Imperativo, Orientado a Objetos e FuncionalGustavo Coutinho
 
Linguagen..
Linguagen..Linguagen..
Linguagen..essa
 
Linguagens de Programação
Linguagens de ProgramaçãoLinguagens de Programação
Linguagens de Programação12anogolega
 

Tendances (20)

Linguagens de Programação
Linguagens de ProgramaçãoLinguagens de Programação
Linguagens de Programação
 
1.1.paradigmas
1.1.paradigmas1.1.paradigmas
1.1.paradigmas
 
Linguagem da programação
Linguagem da programaçãoLinguagem da programação
Linguagem da programação
 
Linguagens de programação
Linguagens de programaçãoLinguagens de programação
Linguagens de programação
 
Linguagem de programação
Linguagem de programação Linguagem de programação
Linguagem de programação
 
Linguagens de programação
Linguagens de programaçãoLinguagens de programação
Linguagens de programação
 
Linguágens de programação
Linguágens de programaçãoLinguágens de programação
Linguágens de programação
 
Linguagens de programação 03-12-09
Linguagens de programação   03-12-09Linguagens de programação   03-12-09
Linguagens de programação 03-12-09
 
Plp aula-02-critérios de avaliação
Plp aula-02-critérios de avaliaçãoPlp aula-02-critérios de avaliação
Plp aula-02-critérios de avaliação
 
Linguagens de programação
Linguagens de programaçãoLinguagens de programação
Linguagens de programação
 
Introdução a Linguagem de Programação
Introdução a Linguagem de ProgramaçãoIntrodução a Linguagem de Programação
Introdução a Linguagem de Programação
 
Paradigmas de programação
Paradigmas de programaçãoParadigmas de programação
Paradigmas de programação
 
Plp aula-01-apresentação
Plp aula-01-apresentaçãoPlp aula-01-apresentação
Plp aula-01-apresentação
 
01 aula1 habib
01 aula1 habib01 aula1 habib
01 aula1 habib
 
Paradigmas de Linguagens de Programação
Paradigmas de Linguagens de ProgramaçãoParadigmas de Linguagens de Programação
Paradigmas de Linguagens de Programação
 
Paradigmas de Linguagens de Programacao - Aula #1
Paradigmas de Linguagens de Programacao - Aula #1Paradigmas de Linguagens de Programacao - Aula #1
Paradigmas de Linguagens de Programacao - Aula #1
 
Paradigmas de Programação - Imperativo, Orientado a Objetos e Funcional
Paradigmas de Programação - Imperativo, Orientado a Objetos e FuncionalParadigmas de Programação - Imperativo, Orientado a Objetos e Funcional
Paradigmas de Programação - Imperativo, Orientado a Objetos e Funcional
 
Software
SoftwareSoftware
Software
 
Linguagen..
Linguagen..Linguagen..
Linguagen..
 
Linguagens de Programação
Linguagens de ProgramaçãoLinguagens de Programação
Linguagens de Programação
 

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

paradigmasdlsksmmskskkekekekekedmmmdmdmmf.pdf
paradigmasdlsksmmskskkekekekekedmmmdmdmmf.pdfparadigmasdlsksmmskskkekekekekedmmmdmdmmf.pdf
paradigmasdlsksmmskskkekekekekedmmmdmdmmf.pdfAndreiaCristinaFlore
 
Linguagens de programação 03-12-09
Linguagens de programação   03-12-09Linguagens de programação   03-12-09
Linguagens de programação 03-12-09essa
 
software tipos.ppt
software tipos.pptsoftware tipos.ppt
software tipos.pptLinaKelly3
 
Técnicas_Implementação
Técnicas_ImplementaçãoTécnicas_Implementação
Técnicas_ImplementaçãoWagner Zaparoli
 
linguagens_de_programacao.ppt
linguagens_de_programacao.pptlinguagens_de_programacao.ppt
linguagens_de_programacao.pptJadna Almeida
 
Aula 02 informática aplicada - sistemas operacionais
Aula 02  informática aplicada - sistemas operacionaisAula 02  informática aplicada - sistemas operacionais
Aula 02 informática aplicada - sistemas operacionaisRobson Ferreira
 
Trabalho linguagem python
Trabalho linguagem  pythonTrabalho linguagem  python
Trabalho linguagem pythonBruno Maspoli
 
Noções Básicas do Software dos Computadores Digitais
Noções Básicas do Software dos Computadores DigitaisNoções Básicas do Software dos Computadores Digitais
Noções Básicas do Software dos Computadores DigitaisHenry Raúl González Brito
 
Aula 3 - Lógica de Programação
Aula 3 - Lógica de ProgramaçãoAula 3 - Lógica de Programação
Aula 3 - Lógica de ProgramaçãoInstituto CENTEC
 
silo.tips_paradigmas-e-linguagens-de-programaao-prof-josino-rodrigues-neto.pdf
silo.tips_paradigmas-e-linguagens-de-programaao-prof-josino-rodrigues-neto.pdfsilo.tips_paradigmas-e-linguagens-de-programaao-prof-josino-rodrigues-neto.pdf
silo.tips_paradigmas-e-linguagens-de-programaao-prof-josino-rodrigues-neto.pdfAmlieOGalaxias
 
Sistema Computacao Revisao 2
Sistema Computacao Revisao 2Sistema Computacao Revisao 2
Sistema Computacao Revisao 2Duílio Andrade
 
Introdução a Lógica e Conceitos de Programação.ppt
Introdução a Lógica e Conceitos de Programação.pptIntrodução a Lógica e Conceitos de Programação.ppt
Introdução a Lógica e Conceitos de Programação.pptBrennoPimenta
 
Conceitos Iniciais LP I
Conceitos Iniciais LP IConceitos Iniciais LP I
Conceitos Iniciais LP IPatrícia Melo
 
Introdução à Programacao em Processing
Introdução à Programacao em Processing Introdução à Programacao em Processing
Introdução à Programacao em Processing Jorge Cardoso
 

Similaire à Paradigmas de Linguagens de Programação - Classificações (20)

paradigmasdlsksmmskskkekekekekedmmmdmdmmf.pdf
paradigmasdlsksmmskskkekekekekedmmmdmdmmf.pdfparadigmasdlsksmmskskkekekekekedmmmdmdmmf.pdf
paradigmasdlsksmmskskkekekekekedmmmdmdmmf.pdf
 
Linguagens de programação 03-12-09
Linguagens de programação   03-12-09Linguagens de programação   03-12-09
Linguagens de programação 03-12-09
 
software tipos.ppt
software tipos.pptsoftware tipos.ppt
software tipos.ppt
 
Técnicas_Implementação
Técnicas_ImplementaçãoTécnicas_Implementação
Técnicas_Implementação
 
linguagens_de_programacao.ppt
linguagens_de_programacao.pptlinguagens_de_programacao.ppt
linguagens_de_programacao.ppt
 
Aula 02 informática aplicada - sistemas operacionais
Aula 02  informática aplicada - sistemas operacionaisAula 02  informática aplicada - sistemas operacionais
Aula 02 informática aplicada - sistemas operacionais
 
Trabalho linguagem python
Trabalho linguagem  pythonTrabalho linguagem  python
Trabalho linguagem python
 
Mini Curso de C
Mini Curso de CMini Curso de C
Mini Curso de C
 
Noções Básicas do Software dos Computadores Digitais
Noções Básicas do Software dos Computadores DigitaisNoções Básicas do Software dos Computadores Digitais
Noções Básicas do Software dos Computadores Digitais
 
Aula 3 - Lógica de Programação
Aula 3 - Lógica de ProgramaçãoAula 3 - Lógica de Programação
Aula 3 - Lógica de Programação
 
silo.tips_paradigmas-e-linguagens-de-programaao-prof-josino-rodrigues-neto.pdf
silo.tips_paradigmas-e-linguagens-de-programaao-prof-josino-rodrigues-neto.pdfsilo.tips_paradigmas-e-linguagens-de-programaao-prof-josino-rodrigues-neto.pdf
silo.tips_paradigmas-e-linguagens-de-programaao-prof-josino-rodrigues-neto.pdf
 
Hierarquia de níveis
Hierarquia de níveisHierarquia de níveis
Hierarquia de níveis
 
Sistema Computacao Revisao 2
Sistema Computacao Revisao 2Sistema Computacao Revisao 2
Sistema Computacao Revisao 2
 
Code Masters
Code MastersCode Masters
Code Masters
 
Aula01 - Analise e Programação
Aula01 - Analise e ProgramaçãoAula01 - Analise e Programação
Aula01 - Analise e Programação
 
Introdução a Lógica e Conceitos de Programação.ppt
Introdução a Lógica e Conceitos de Programação.pptIntrodução a Lógica e Conceitos de Programação.ppt
Introdução a Lógica e Conceitos de Programação.ppt
 
Aula 3 - Software
Aula 3 - SoftwareAula 3 - Software
Aula 3 - Software
 
Linguagem da programação
Linguagem da programaçãoLinguagem da programação
Linguagem da programação
 
Conceitos Iniciais LP I
Conceitos Iniciais LP IConceitos Iniciais LP I
Conceitos Iniciais LP I
 
Introdução à Programacao em Processing
Introdução à Programacao em Processing Introdução à Programacao em Processing
Introdução à Programacao em Processing
 

Plus de Adriano Teixeira de Souza

Aplicação de Integração Contínua para viabilizar a rastreabilidade de artefat...
Aplicação de Integração Contínua para viabilizar a rastreabilidade de artefat...Aplicação de Integração Contínua para viabilizar a rastreabilidade de artefat...
Aplicação de Integração Contínua para viabilizar a rastreabilidade de artefat...Adriano Teixeira de Souza
 
Estrutura de dados em Java - Árvores Binárias
Estrutura de dados em Java - Árvores BináriasEstrutura de dados em Java - Árvores Binárias
Estrutura de dados em Java - Árvores BináriasAdriano Teixeira de Souza
 
Estrutura de dados em Java - Filas com lista encadeada
Estrutura de dados em Java - Filas com lista encadeada Estrutura de dados em Java - Filas com lista encadeada
Estrutura de dados em Java - Filas com lista encadeada Adriano Teixeira de Souza
 
Estrutura de dados em Java - Ponteiros e Alocação de Memória
Estrutura de dados em Java - Ponteiros e Alocação de Memória Estrutura de dados em Java - Ponteiros e Alocação de Memória
Estrutura de dados em Java - Ponteiros e Alocação de Memória Adriano Teixeira de Souza
 
Estrutura de Dados em Java (Funções e Procedimentos)
Estrutura de Dados em Java (Funções e Procedimentos)Estrutura de Dados em Java (Funções e Procedimentos)
Estrutura de Dados em Java (Funções e Procedimentos)Adriano Teixeira de Souza
 
Estrutura de Dados em Java (Introdução à Programação Orientada a Objetos)
Estrutura de Dados em Java (Introdução à Programação Orientada a Objetos)Estrutura de Dados em Java (Introdução à Programação Orientada a Objetos)
Estrutura de Dados em Java (Introdução à Programação Orientada a Objetos)Adriano Teixeira de Souza
 
Estrutura de Dados em Java (Variáveis Compostas - Vetores e Matrizes)
Estrutura de Dados em Java (Variáveis Compostas - Vetores e Matrizes)Estrutura de Dados em Java (Variáveis Compostas - Vetores e Matrizes)
Estrutura de Dados em Java (Variáveis Compostas - Vetores e Matrizes)Adriano Teixeira de Souza
 
Estrutura de Dados em Java (Revisão de Algoritimos em Java)
Estrutura de Dados em Java (Revisão de Algoritimos em Java)Estrutura de Dados em Java (Revisão de Algoritimos em Java)
Estrutura de Dados em Java (Revisão de Algoritimos em Java)Adriano Teixeira de Souza
 
Sistemas Distribuídos - Comunicacao Distribuida - Middleware - JMS
Sistemas Distribuídos - Comunicacao Distribuida - Middleware - JMSSistemas Distribuídos - Comunicacao Distribuida - Middleware - JMS
Sistemas Distribuídos - Comunicacao Distribuida - Middleware - JMSAdriano Teixeira de Souza
 
Sistemas Distribuídos - Comunicação Distribuída - EJB (JBoss 7)
Sistemas Distribuídos - Comunicação Distribuída - EJB (JBoss 7)Sistemas Distribuídos - Comunicação Distribuída - EJB (JBoss 7)
Sistemas Distribuídos - Comunicação Distribuída - EJB (JBoss 7)Adriano Teixeira de Souza
 
Paradigmas de Linguagens de Programação - Gerenciamento de Memória em Java
Paradigmas de Linguagens de Programação - Gerenciamento de Memória em JavaParadigmas de Linguagens de Programação - Gerenciamento de Memória em Java
Paradigmas de Linguagens de Programação - Gerenciamento de Memória em JavaAdriano Teixeira de Souza
 
Ferramentas para desenvolvimento web com produtividade - Artigo Final - Pos-G...
Ferramentas para desenvolvimento web com produtividade - Artigo Final - Pos-G...Ferramentas para desenvolvimento web com produtividade - Artigo Final - Pos-G...
Ferramentas para desenvolvimento web com produtividade - Artigo Final - Pos-G...Adriano Teixeira de Souza
 
Ferramentas para desenvolvimento web com produtividade - Slide Artigo (2009)
Ferramentas para desenvolvimento web com produtividade -  Slide Artigo (2009)Ferramentas para desenvolvimento web com produtividade -  Slide Artigo (2009)
Ferramentas para desenvolvimento web com produtividade - Slide Artigo (2009)Adriano Teixeira de Souza
 

Plus de Adriano Teixeira de Souza (20)

Aplicação de Integração Contínua para viabilizar a rastreabilidade de artefat...
Aplicação de Integração Contínua para viabilizar a rastreabilidade de artefat...Aplicação de Integração Contínua para viabilizar a rastreabilidade de artefat...
Aplicação de Integração Contínua para viabilizar a rastreabilidade de artefat...
 
Estrutura de dados em Java - Árvores Binárias
Estrutura de dados em Java - Árvores BináriasEstrutura de dados em Java - Árvores Binárias
Estrutura de dados em Java - Árvores Binárias
 
Estrutura de dados em Java - Pilhas
Estrutura de dados em Java - PilhasEstrutura de dados em Java - Pilhas
Estrutura de dados em Java - Pilhas
 
Estrutura de dados em Java - Filas com lista encadeada
Estrutura de dados em Java - Filas com lista encadeada Estrutura de dados em Java - Filas com lista encadeada
Estrutura de dados em Java - Filas com lista encadeada
 
Estrutura de dados em Java - Filas
Estrutura de dados em Java - FilasEstrutura de dados em Java - Filas
Estrutura de dados em Java - Filas
 
Estrutura de dados em Java - Ponteiros e Alocação de Memória
Estrutura de dados em Java - Ponteiros e Alocação de Memória Estrutura de dados em Java - Ponteiros e Alocação de Memória
Estrutura de dados em Java - Ponteiros e Alocação de Memória
 
Estrutura de dados em Java - Recursividade
Estrutura de dados em Java - RecursividadeEstrutura de dados em Java - Recursividade
Estrutura de dados em Java - Recursividade
 
Estrutura de dados em Java - Filas
Estrutura de dados em Java - Filas Estrutura de dados em Java - Filas
Estrutura de dados em Java - Filas
 
Estrutura de Dados em Java (Funções e Procedimentos)
Estrutura de Dados em Java (Funções e Procedimentos)Estrutura de Dados em Java (Funções e Procedimentos)
Estrutura de Dados em Java (Funções e Procedimentos)
 
Estrutura de Dados em Java (Introdução à Programação Orientada a Objetos)
Estrutura de Dados em Java (Introdução à Programação Orientada a Objetos)Estrutura de Dados em Java (Introdução à Programação Orientada a Objetos)
Estrutura de Dados em Java (Introdução à Programação Orientada a Objetos)
 
Estrutura de Dados em Java (Variáveis Compostas - Vetores e Matrizes)
Estrutura de Dados em Java (Variáveis Compostas - Vetores e Matrizes)Estrutura de Dados em Java (Variáveis Compostas - Vetores e Matrizes)
Estrutura de Dados em Java (Variáveis Compostas - Vetores e Matrizes)
 
Estrutura de Dados em Java (Revisão de Algoritimos em Java)
Estrutura de Dados em Java (Revisão de Algoritimos em Java)Estrutura de Dados em Java (Revisão de Algoritimos em Java)
Estrutura de Dados em Java (Revisão de Algoritimos em Java)
 
Estrutura de Dados em Java (Introdução)
Estrutura de Dados em Java (Introdução)Estrutura de Dados em Java (Introdução)
Estrutura de Dados em Java (Introdução)
 
Responsive web design
Responsive web designResponsive web design
Responsive web design
 
Sistemas Distribuídos - Comunicacao Distribuida - Middleware - JMS
Sistemas Distribuídos - Comunicacao Distribuida - Middleware - JMSSistemas Distribuídos - Comunicacao Distribuida - Middleware - JMS
Sistemas Distribuídos - Comunicacao Distribuida - Middleware - JMS
 
Sistemas Distribuídos - Comunicação Distribuída - EJB (JBoss 7)
Sistemas Distribuídos - Comunicação Distribuída - EJB (JBoss 7)Sistemas Distribuídos - Comunicação Distribuída - EJB (JBoss 7)
Sistemas Distribuídos - Comunicação Distribuída - EJB (JBoss 7)
 
Paradigmas de Linguagens de Programação - Gerenciamento de Memória em Java
Paradigmas de Linguagens de Programação - Gerenciamento de Memória em JavaParadigmas de Linguagens de Programação - Gerenciamento de Memória em Java
Paradigmas de Linguagens de Programação - Gerenciamento de Memória em Java
 
Estrutura de dados - Árvores Binárias
Estrutura de dados - Árvores BináriasEstrutura de dados - Árvores Binárias
Estrutura de dados - Árvores Binárias
 
Ferramentas para desenvolvimento web com produtividade - Artigo Final - Pos-G...
Ferramentas para desenvolvimento web com produtividade - Artigo Final - Pos-G...Ferramentas para desenvolvimento web com produtividade - Artigo Final - Pos-G...
Ferramentas para desenvolvimento web com produtividade - Artigo Final - Pos-G...
 
Ferramentas para desenvolvimento web com produtividade - Slide Artigo (2009)
Ferramentas para desenvolvimento web com produtividade -  Slide Artigo (2009)Ferramentas para desenvolvimento web com produtividade -  Slide Artigo (2009)
Ferramentas para desenvolvimento web com produtividade - Slide Artigo (2009)
 

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

  • 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