SlideShare une entreprise Scribd logo
1  sur  10
Télécharger pour lire hors ligne
FCG/Ciência da Computação


Conceitos de Linguagens de
       Programação
Interpretação Pura

Os programas podem ser interpretados por “outro programa” sem

precisar passar por nenhuma conversão, neste caso o programa passa
por um interpretador.

Este interpretador por sua vez age como uma simulação do software

que busca executar o programa numa linguagem de alto nível sem trazê-
la para linguagem de máquina.

Neste caso, não existe uma “tradução” do código-fonte do programa, o

interpretador faz uso de uma espécie de “máquina virtual” para executar
as instruções passadas pela linguagem de programação.
Interpretação Pura

Uma vantagem da Interpretação Pura está nas muitas opções de

depuração (usualmente conhecido como debug) do código-fonte,

permitindo ao programador uma melhor abordagem à erros.
Essa técnica permite que na saída, seja mostrado o erro em questão e até

mesmo a linha em que este se encontra.

Por outro lado, um das desvantagens é que a execução de algumas
linguagens pelo método da interpretação pura é de 10 a 100 vezes mais

lenta que em sistemas compilados.

A causa? O que acontece é que é muito mais complexo decodificar
instruções de linguagens de alto nível, bem mais que as de máquina.
Interpretação Pura


                    O código-fonte (podendo ou não receber
                    dados de entrada), passa pelo interpretador
 Código             que é encarregado de exibir a saída sem a
  Fonte             necessidade de compilarmos o código.




              Interpretador                      Saída




Entrada
Interpretação Pura

Existem   algumas   linguagens   de   programação   que   podem      ser

interpretadas como também compiladas, um exemplo é o Visual Basic.


✔C#
✔Javascript

✔Lua

✔PHP
✔Phyton

✔Ruby on Rails

✔Smalltalk
Sist. Implementação Híbridos

Entendidos também como meio-termo entre os compiladores e os
interpretadores, são responsáveis por levar linguagens de alto nível para

linguagens intermediárias.

Devido ao fato de as instruções da linguagem de programação serem
decodificadas uma única vez, este método se torna mais rápido.

Neste caso não existe de fato uma tradução do código para código de

máquina (bytecode) e sim, uma simples interpretação do código
intermediário.

Às vezes o implementador oferece tanto implementações compiladas
como interpretadas para uma certa linguagem de programação.
Sist. Implementação Híbridos

Uma vantagem da interpretação híbrida é a portabilidade, pois o código
intermediário pode ser executados em diferentes arquiteturas/ SOs,

desde que haja o interpretador.



Linguagens híbridas:


✔C#

✔Java
Sist. Implementação Híbridos


Código
                                  Código
Fonte              Tradutor       Intermediário




Código
Intermediário
                Máquina Virtual      Saída
Entrada
Ambientes de Programação

É um conjunto de ferramentas usadas no desenvolvimetno de software
que podem conter itens como: sistema de arquivos, editor de texto, um

compilador e um depurador (debugging).

Um dos mais antigos ambientes de programação conhecidos é o UNIX,

surgido na década de 70. Na época de seu lançamento o UNIX era
considerado difícil de usar devido não possuir uma interface uniforme,

porém hoje é largamente utilizado no meio da programação.

O Borland C++ é um ambiente de programação que contém um
compilador integrado, um editor, um depurador e um sistema de
arquivos.
Ambientes de Programação

O Smalltalk é uma linguagem e um ambiente de programação

integrados, bem mais elaborada que o Borland C++. Foi o primeiro a
fazer uso de um sistema de janelas e um dispositivo de indicação pelo

mouse.

É visível que a maior parte do desenvolvimento de software no futuro,
fará uso de ambientes de programação poderosos, o que aumentará a

produtividade do software e elevará sua qualidade.

Em resumo, um programa não roda isoladamente. Estão presente

elementos tanto no desenvolvimento quanto na execução que
caracterizam o ambiente onde este programa roda.

Contenu connexe

Tendances

Curso de HTML5 - Aula 01
Curso de HTML5 - Aula 01   Curso de HTML5 - Aula 01
Curso de HTML5 - Aula 01 Léo Dias
 
Introdução a Linguagem de Programação C
Introdução a Linguagem de Programação CIntrodução a Linguagem de Programação C
Introdução a Linguagem de Programação CGercélia Ramos
 
Clean Code (Robert C. Martin)
Clean Code (Robert C. Martin)Clean Code (Robert C. Martin)
Clean Code (Robert C. Martin)Yasser Veleda
 
Teste de software - Processo de Verificação e Validação
Teste de software - Processo de Verificação e ValidaçãoTeste de software - Processo de Verificação e Validação
Teste de software - Processo de Verificação e ValidaçãoJoeldson Costa Damasceno
 
Aula 02 - Principios da Orientação a Objetos (POO)
Aula 02 - Principios da Orientação a Objetos (POO)Aula 02 - Principios da Orientação a Objetos (POO)
Aula 02 - Principios da Orientação a Objetos (POO)Daniel Brandão
 
DOMinando JavaScript
DOMinando JavaScriptDOMinando JavaScript
DOMinando JavaScriptThiago Poiani
 
Aula 01 - JavaScript: Introdução
Aula 01 - JavaScript: IntroduçãoAula 01 - JavaScript: Introdução
Aula 01 - JavaScript: IntroduçãoJessyka Lage
 
Boas práticas técnica para um código limpo (Clean Code)
Boas práticas técnica para um código limpo (Clean Code)Boas práticas técnica para um código limpo (Clean Code)
Boas práticas técnica para um código limpo (Clean Code)Rodrigo Kono
 
Desenhando Componentes de Software com UML
Desenhando Componentes de Software com UMLDesenhando Componentes de Software com UML
Desenhando Componentes de Software com UMLRildo (@rildosan) Santos
 
Introdução a JavaScript
Introdução a JavaScriptIntrodução a JavaScript
Introdução a JavaScriptBruno Catão
 
Introdução ao desenvolvimento Web
Introdução ao desenvolvimento WebIntrodução ao desenvolvimento Web
Introdução ao desenvolvimento WebSérgio Souza Costa
 
Aula 2 - POO: Fundamentos da linguagem Java
Aula 2 - POO: Fundamentos da linguagem JavaAula 2 - POO: Fundamentos da linguagem Java
Aula 2 - POO: Fundamentos da linguagem JavaDaniel Brandão
 
Programação orientada a objetos
Programação orientada a objetosProgramação orientada a objetos
Programação orientada a objetosCleyton Ferrari
 
Introdução a programação para a Internet
Introdução a programação para a InternetIntrodução a programação para a Internet
Introdução a programação para a InternetLeonardo Soares
 
Aula 02 - Introdução ao PHP
Aula 02 - Introdução ao PHPAula 02 - Introdução ao PHP
Aula 02 - Introdução ao PHPDaniel Brandão
 
Orientação a Objetos para Desenvolvedores Android
Orientação a Objetos para Desenvolvedores AndroidOrientação a Objetos para Desenvolvedores Android
Orientação a Objetos para Desenvolvedores AndroidIury Teixeira
 

Tendances (20)

Curso de HTML5 - Aula 01
Curso de HTML5 - Aula 01   Curso de HTML5 - Aula 01
Curso de HTML5 - Aula 01
 
Introdução a Linguagem de Programação C
Introdução a Linguagem de Programação CIntrodução a Linguagem de Programação C
Introdução a Linguagem de Programação C
 
JAVA - Orientação a Objetos
JAVA - Orientação a ObjetosJAVA - Orientação a Objetos
JAVA - Orientação a Objetos
 
Clean Code (Robert C. Martin)
Clean Code (Robert C. Martin)Clean Code (Robert C. Martin)
Clean Code (Robert C. Martin)
 
Teste de software - Processo de Verificação e Validação
Teste de software - Processo de Verificação e ValidaçãoTeste de software - Processo de Verificação e Validação
Teste de software - Processo de Verificação e Validação
 
Aula 02 - Principios da Orientação a Objetos (POO)
Aula 02 - Principios da Orientação a Objetos (POO)Aula 02 - Principios da Orientação a Objetos (POO)
Aula 02 - Principios da Orientação a Objetos (POO)
 
DOMinando JavaScript
DOMinando JavaScriptDOMinando JavaScript
DOMinando JavaScript
 
Aula 01 - JavaScript: Introdução
Aula 01 - JavaScript: IntroduçãoAula 01 - JavaScript: Introdução
Aula 01 - JavaScript: Introdução
 
Boas práticas técnica para um código limpo (Clean Code)
Boas práticas técnica para um código limpo (Clean Code)Boas práticas técnica para um código limpo (Clean Code)
Boas práticas técnica para um código limpo (Clean Code)
 
Desenhando Componentes de Software com UML
Desenhando Componentes de Software com UMLDesenhando Componentes de Software com UML
Desenhando Componentes de Software com UML
 
Introdução a JavaScript
Introdução a JavaScriptIntrodução a JavaScript
Introdução a JavaScript
 
Visualg
VisualgVisualg
Visualg
 
Introdução ao desenvolvimento Web
Introdução ao desenvolvimento WebIntrodução ao desenvolvimento Web
Introdução ao desenvolvimento Web
 
Linguagem C 10 Arquivos
Linguagem C 10 ArquivosLinguagem C 10 Arquivos
Linguagem C 10 Arquivos
 
Aula 2 - POO: Fundamentos da linguagem Java
Aula 2 - POO: Fundamentos da linguagem JavaAula 2 - POO: Fundamentos da linguagem Java
Aula 2 - POO: Fundamentos da linguagem Java
 
Programação orientada a objetos
Programação orientada a objetosProgramação orientada a objetos
Programação orientada a objetos
 
Linguagem C - Estruturas
Linguagem C - EstruturasLinguagem C - Estruturas
Linguagem C - Estruturas
 
Introdução a programação para a Internet
Introdução a programação para a InternetIntrodução a programação para a Internet
Introdução a programação para a Internet
 
Aula 02 - Introdução ao PHP
Aula 02 - Introdução ao PHPAula 02 - Introdução ao PHP
Aula 02 - Introdução ao PHP
 
Orientação a Objetos para Desenvolvedores Android
Orientação a Objetos para Desenvolvedores AndroidOrientação a Objetos para Desenvolvedores Android
Orientação a Objetos para Desenvolvedores Android
 

En vedette

Paradigmas de Linguagens de Programação - Introdução
Paradigmas de Linguagens de Programação - IntroduçãoParadigmas de Linguagens de Programação - Introdução
Paradigmas de Linguagens de Programação - IntroduçãoAdriano Teixeira de Souza
 
Paradigmas De Linguagem De Programação.
Paradigmas De Linguagem De Programação.Paradigmas De Linguagem De Programação.
Paradigmas De Linguagem De Programação.Valmon Gaudencio
 
Critérios de avaliação de linguagens
Critérios de avaliação de linguagensCritérios de avaliação de linguagens
Critérios de avaliação de linguagensPaulo Muniz
 
Fundamentos do java: estruturas de controle
Fundamentos do java: estruturas de controleFundamentos do java: estruturas de controle
Fundamentos do java: estruturas de controleNécio de Lima Veras
 
Linguagens Híbridas em Práticas Esportivas
Linguagens Híbridas em Práticas Esportivas Linguagens Híbridas em Práticas Esportivas
Linguagens Híbridas em Práticas Esportivas Tharley Cortes Freitas
 
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
 
Matrizes da linguagem e pensamento
Matrizes da linguagem e pensamentoMatrizes da linguagem e pensamento
Matrizes da linguagem e pensamentoSamtinha
 
4 introdução ao paradigma funcional
4 introdução ao paradigma funcional4 introdução ao paradigma funcional
4 introdução ao paradigma funcionalPéricles Miranda
 
Paradigmas de Linguagens de Programação - Escopo estático/dinâmico
Paradigmas de Linguagens de Programação - Escopo estático/dinâmicoParadigmas de Linguagens de Programação - Escopo estático/dinâmico
Paradigmas de Linguagens de Programação - Escopo estático/dinâmicoAdriano Teixeira de Souza
 
Análise assintótica
Análise assintóticaAnálise assintótica
Análise assintóticaPablo Silva
 
Dicas para aumentar a performance de um software PHP
Dicas para aumentar a performance de um software PHPDicas para aumentar a performance de um software PHP
Dicas para aumentar a performance de um software PHPAlmir Neto
 
Assembly para pc-25paginas
Assembly para pc-25paginasAssembly para pc-25paginas
Assembly para pc-25paginasMikeNandes
 
C# .NET - Um overview da linguagem
C# .NET - Um overview da linguagem C# .NET - Um overview da linguagem
C# .NET - Um overview da linguagem Claudson Oliveira
 

En vedette (20)

Paradigmas de Linguagens de Programação - Introdução
Paradigmas de Linguagens de Programação - IntroduçãoParadigmas de Linguagens de Programação - Introdução
Paradigmas de Linguagens de Programação - Introdução
 
Paradigmas De Linguagem De Programação.
Paradigmas De Linguagem De Programação.Paradigmas De Linguagem De Programação.
Paradigmas De Linguagem De Programação.
 
Paradigmas de programação
Paradigmas de programaçãoParadigmas de programação
Paradigmas de programação
 
Modelo de von neumann
Modelo de von neumannModelo de von neumann
Modelo de von neumann
 
Estrutura de dados
Estrutura de dadosEstrutura de dados
Estrutura de dados
 
Critérios de avaliação de linguagens
Critérios de avaliação de linguagensCritérios de avaliação de linguagens
Critérios de avaliação de linguagens
 
Fundamentos do java: estruturas de controle
Fundamentos do java: estruturas de controleFundamentos do java: estruturas de controle
Fundamentos do java: estruturas de controle
 
Linguagens Híbridas em Práticas Esportivas
Linguagens Híbridas em Práticas Esportivas Linguagens Híbridas em Práticas Esportivas
Linguagens Híbridas em Práticas Esportivas
 
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
 
Matrizes da linguagem e pensamento
Matrizes da linguagem e pensamentoMatrizes da linguagem e pensamento
Matrizes da linguagem e pensamento
 
Python 03 - Sintaxe
Python 03 - SintaxePython 03 - Sintaxe
Python 03 - Sintaxe
 
4 introdução ao paradigma funcional
4 introdução ao paradigma funcional4 introdução ao paradigma funcional
4 introdução ao paradigma funcional
 
Paradigmas de Linguagens de Programação - Escopo estático/dinâmico
Paradigmas de Linguagens de Programação - Escopo estático/dinâmicoParadigmas de Linguagens de Programação - Escopo estático/dinâmico
Paradigmas de Linguagens de Programação - Escopo estático/dinâmico
 
PROGRAMAS QBASIC
PROGRAMAS QBASICPROGRAMAS QBASIC
PROGRAMAS QBASIC
 
Análise assintótica
Análise assintóticaAnálise assintótica
Análise assintótica
 
Apostila cobol
Apostila cobolApostila cobol
Apostila cobol
 
Recursividade
RecursividadeRecursividade
Recursividade
 
Dicas para aumentar a performance de um software PHP
Dicas para aumentar a performance de um software PHPDicas para aumentar a performance de um software PHP
Dicas para aumentar a performance de um software PHP
 
Assembly para pc-25paginas
Assembly para pc-25paginasAssembly para pc-25paginas
Assembly para pc-25paginas
 
C# .NET - Um overview da linguagem
C# .NET - Um overview da linguagem C# .NET - Um overview da linguagem
C# .NET - Um overview da linguagem
 

Similaire à Paradigmas de Linguagem

Linguagem de programação
Linguagem de programação Linguagem de programação
Linguagem de programação Marcos Gregorio
 
Construção de compiladores - introducao Compilador.pdf
Construção de compiladores - introducao Compilador.pdfConstrução de compiladores - introducao Compilador.pdf
Construção de compiladores - introducao Compilador.pdfGerhard Saboia
 
Int. sistemas de informação iii
Int. sistemas de informação iiiInt. sistemas de informação iii
Int. sistemas de informação iiiRay Fran Pires
 
Aula 03 - Interpretador [mr_@@@@@].pdf
Aula 03 - Interpretador [mr_@@@@@].pdfAula 03 - Interpretador [mr_@@@@@].pdf
Aula 03 - Interpretador [mr_@@@@@].pdfmouzinhoconcursos
 
Linguágens de programação
Linguágens de programaçãoLinguágens de programação
Linguágens de programaçãoAlbertoVach
 
paradigmasdlsksmmskskkekekekekedmmmdmdmmf.pdf
paradigmasdlsksmmskskkekekekekedmmmdmdmmf.pdfparadigmasdlsksmmskskkekekekekedmmmdmdmmf.pdf
paradigmasdlsksmmskskkekekekekedmmmdmdmmf.pdfAndreiaCristinaFlore
 
Linguagem de programação
Linguagem de programaçãoLinguagem de programação
Linguagem de programaçãoSandro Lopes
 
Programação de Microprocessadores
Programação de MicroprocessadoresProgramação de Microprocessadores
Programação de MicroprocessadoresDiogo Silva
 
Introdução à Computação Aula 09 - Algoritmos (Linguagens de Programação)
Introdução à Computação Aula 09 - Algoritmos (Linguagens de Programação)Introdução à Computação Aula 09 - Algoritmos (Linguagens de Programação)
Introdução à Computação Aula 09 - Algoritmos (Linguagens de Programação)Leinylson Fontinele
 
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
 
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
 
Aula 3 compiladores e interpretadores
Aula 3   compiladores e interpretadoresAula 3   compiladores e interpretadores
Aula 3 compiladores e interpretadoresLCCIMETRO
 

Similaire à Paradigmas de Linguagem (20)

Linguagem de programação
Linguagem de programação Linguagem de programação
Linguagem de programação
 
Construção de compiladores - introducao Compilador.pdf
Construção de compiladores - introducao Compilador.pdfConstrução de compiladores - introducao Compilador.pdf
Construção de compiladores - introducao Compilador.pdf
 
Int. sistemas de informação iii
Int. sistemas de informação iiiInt. sistemas de informação iii
Int. sistemas de informação iii
 
Aula 03 - Interpretador [mr_@@@@@].pdf
Aula 03 - Interpretador [mr_@@@@@].pdfAula 03 - Interpretador [mr_@@@@@].pdf
Aula 03 - Interpretador [mr_@@@@@].pdf
 
Linguagem da programação
Linguagem da programaçãoLinguagem da programação
Linguagem da programação
 
Linguagem da programação
Linguagem da programaçãoLinguagem da programação
Linguagem da programação
 
Linguágens de programação
Linguágens de programaçãoLinguágens de programação
Linguágens de programação
 
paradigmasdlsksmmskskkekekekekedmmmdmdmmf.pdf
paradigmasdlsksmmskskkekekekekedmmmdmdmmf.pdfparadigmasdlsksmmskskkekekekekedmmmdmdmmf.pdf
paradigmasdlsksmmskskkekekekekedmmmdmdmmf.pdf
 
Linguagem de programação
Linguagem de programaçãoLinguagem de programação
Linguagem de programação
 
Apostila c
Apostila cApostila c
Apostila c
 
Code Masters
Code MastersCode Masters
Code Masters
 
Programação de Microprocessadores
Programação de MicroprocessadoresProgramação de Microprocessadores
Programação de Microprocessadores
 
Introdução à Computação Aula 09 - Algoritmos (Linguagens de Programação)
Introdução à Computação Aula 09 - Algoritmos (Linguagens de Programação)Introdução à Computação Aula 09 - Algoritmos (Linguagens de Programação)
Introdução à Computação Aula 09 - Algoritmos (Linguagens de Programação)
 
Compilador
CompiladorCompilador
Compilador
 
Lp m2(parte1)
Lp m2(parte1)Lp m2(parte1)
Lp m2(parte1)
 
Mini Curso de C
Mini Curso de CMini Curso de C
Mini Curso de C
 
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
 
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
 
Comparativo do uso de linguagens de programação e geradores de código no dese...
Comparativo do uso de linguagens de programação e geradores de código no dese...Comparativo do uso de linguagens de programação e geradores de código no dese...
Comparativo do uso de linguagens de programação e geradores de código no dese...
 
Aula 3 compiladores e interpretadores
Aula 3   compiladores e interpretadoresAula 3   compiladores e interpretadores
Aula 3 compiladores e interpretadores
 

Paradigmas de Linguagem

  • 1. FCG/Ciência da Computação Conceitos de Linguagens de Programação
  • 2. Interpretação Pura Os programas podem ser interpretados por “outro programa” sem precisar passar por nenhuma conversão, neste caso o programa passa por um interpretador. Este interpretador por sua vez age como uma simulação do software que busca executar o programa numa linguagem de alto nível sem trazê- la para linguagem de máquina. Neste caso, não existe uma “tradução” do código-fonte do programa, o interpretador faz uso de uma espécie de “máquina virtual” para executar as instruções passadas pela linguagem de programação.
  • 3. Interpretação Pura Uma vantagem da Interpretação Pura está nas muitas opções de depuração (usualmente conhecido como debug) do código-fonte, permitindo ao programador uma melhor abordagem à erros. Essa técnica permite que na saída, seja mostrado o erro em questão e até mesmo a linha em que este se encontra. Por outro lado, um das desvantagens é que a execução de algumas linguagens pelo método da interpretação pura é de 10 a 100 vezes mais lenta que em sistemas compilados. A causa? O que acontece é que é muito mais complexo decodificar instruções de linguagens de alto nível, bem mais que as de máquina.
  • 4. Interpretação Pura O código-fonte (podendo ou não receber dados de entrada), passa pelo interpretador Código que é encarregado de exibir a saída sem a Fonte necessidade de compilarmos o código. Interpretador Saída Entrada
  • 5. Interpretação Pura Existem algumas linguagens de programação que podem ser interpretadas como também compiladas, um exemplo é o Visual Basic. ✔C# ✔Javascript ✔Lua ✔PHP ✔Phyton ✔Ruby on Rails ✔Smalltalk
  • 6. Sist. Implementação Híbridos Entendidos também como meio-termo entre os compiladores e os interpretadores, são responsáveis por levar linguagens de alto nível para linguagens intermediárias. Devido ao fato de as instruções da linguagem de programação serem decodificadas uma única vez, este método se torna mais rápido. Neste caso não existe de fato uma tradução do código para código de máquina (bytecode) e sim, uma simples interpretação do código intermediário. Às vezes o implementador oferece tanto implementações compiladas como interpretadas para uma certa linguagem de programação.
  • 7. Sist. Implementação Híbridos Uma vantagem da interpretação híbrida é a portabilidade, pois o código intermediário pode ser executados em diferentes arquiteturas/ SOs, desde que haja o interpretador. Linguagens híbridas: ✔C# ✔Java
  • 8. Sist. Implementação Híbridos Código Código Fonte Tradutor Intermediário Código Intermediário Máquina Virtual Saída Entrada
  • 9. Ambientes de Programação É um conjunto de ferramentas usadas no desenvolvimetno de software que podem conter itens como: sistema de arquivos, editor de texto, um compilador e um depurador (debugging). Um dos mais antigos ambientes de programação conhecidos é o UNIX, surgido na década de 70. Na época de seu lançamento o UNIX era considerado difícil de usar devido não possuir uma interface uniforme, porém hoje é largamente utilizado no meio da programação. O Borland C++ é um ambiente de programação que contém um compilador integrado, um editor, um depurador e um sistema de arquivos.
  • 10. Ambientes de Programação O Smalltalk é uma linguagem e um ambiente de programação integrados, bem mais elaborada que o Borland C++. Foi o primeiro a fazer uso de um sistema de janelas e um dispositivo de indicação pelo mouse. É visível que a maior parte do desenvolvimento de software no futuro, fará uso de ambientes de programação poderosos, o que aumentará a produtividade do software e elevará sua qualidade. Em resumo, um programa não roda isoladamente. Estão presente elementos tanto no desenvolvimento quanto na execução que caracterizam o ambiente onde este programa roda.