SlideShare uma empresa Scribd logo
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.

Mais conteúdo relacionado

Mais procurados

Banco de Dados I - Aula 06 - Banco de Dados Relacional (Modelo Lógico)
Banco de Dados I - Aula 06 - Banco de Dados Relacional (Modelo Lógico)Banco de Dados I - Aula 06 - Banco de Dados Relacional (Modelo Lógico)
Banco de Dados I - Aula 06 - Banco de Dados Relacional (Modelo Lógico)
Leinylson Fontinele
 
Introdução ao desenvolvimento da web.pptx
Introdução ao desenvolvimento da web.pptxIntrodução ao desenvolvimento da web.pptx
Introdução ao desenvolvimento da web.pptx
MarceloRosenbrock1
 
Estrutura de Dados - Aula 02
Estrutura de Dados - Aula 02Estrutura de Dados - Aula 02
Estrutura de Dados - Aula 02
thomasdacosta
 
Estrutura de dados - Introdução a linguagem C
Estrutura de dados - Introdução a linguagem CEstrutura de dados - Introdução a linguagem C
Estrutura de dados - Introdução a linguagem C
Adriano Teixeira de Souza
 
Lógica de programação { para iniciantes }
Lógica de programação { para iniciantes }Lógica de programação { para iniciantes }
Lógica de programação { para iniciantes }
Mariana Camargo
 
Orientação a Objetos em Python
Orientação a Objetos em PythonOrientação a Objetos em Python
Orientação a Objetos em Python
Luciano Ramalho
 
Introdução à Análise de Sistemas
Introdução à Análise de SistemasIntrodução à Análise de Sistemas
Introdução à Análise de Sistemas
Nécio de Lima Veras
 
Curso Linguagem de Programação I - PHP Básico
Curso Linguagem de Programação I - PHP BásicoCurso Linguagem de Programação I - PHP Básico
Curso Linguagem de Programação I - PHP Básico
Norton Guimarães
 
Aula01 - Logica de Programação
Aula01 - Logica de ProgramaçãoAula01 - Logica de Programação
Aula01 - Logica de Programação
Jorge Ávila Miranda
 
Introdução ao Web Design: Aula 1 - Imersão ao Web Design
Introdução ao Web Design: Aula 1 - Imersão ao Web DesignIntrodução ao Web Design: Aula 1 - Imersão ao Web Design
Introdução ao Web Design: Aula 1 - Imersão ao Web Design
Gustavo Zimmermann
 
Introdução ao MySQL
Introdução ao MySQLIntrodução ao MySQL
Introdução ao MySQL
Anderson Sanches
 
Curso de HTML5 - Aula 01
Curso de HTML5 - Aula 01   Curso de HTML5 - Aula 01
Curso de HTML5 - Aula 01
Léo Dias
 
Banco de Dados - Tipos de Dados
Banco de Dados - Tipos de DadosBanco de Dados - Tipos de Dados
Banco de Dados - Tipos de Dados
Natanael Simões
 
Funções em C
Funções em CFunções em C
Funções em C
Elaine Cecília Gatto
 
Aula03 - JavaScript
Aula03 - JavaScriptAula03 - JavaScript
Aula03 - JavaScript
Jorge Ávila Miranda
 
Lista de exercicios algoritmos com pseudocodigo
Lista de exercicios   algoritmos com pseudocodigoLista de exercicios   algoritmos com pseudocodigo
Lista de exercicios algoritmos com pseudocodigo
Mauro Pereira
 
Minicurso de App Inventor
Minicurso de App InventorMinicurso de App Inventor
Minicurso de App Inventor
Leinylson Fontinele
 
Aula 2 – Introdução a HTML - conceitos básicos e estrutura
Aula 2 – Introdução a HTML - conceitos básicos e estruturaAula 2 – Introdução a HTML - conceitos básicos e estrutura
Aula 2 – Introdução a HTML - conceitos básicos e estrutura
André Constantino da Silva
 
Lógica de Programação - Estrutura de repetição
Lógica de Programação - Estrutura de repetiçãoLógica de Programação - Estrutura de repetição
Lógica de Programação - Estrutura de repetição
Wesley R. Bezerra
 
Aula01-JavaScript
Aula01-JavaScriptAula01-JavaScript
Aula01-JavaScript
Jorge Ávila Miranda
 

Mais procurados (20)

Banco de Dados I - Aula 06 - Banco de Dados Relacional (Modelo Lógico)
Banco de Dados I - Aula 06 - Banco de Dados Relacional (Modelo Lógico)Banco de Dados I - Aula 06 - Banco de Dados Relacional (Modelo Lógico)
Banco de Dados I - Aula 06 - Banco de Dados Relacional (Modelo Lógico)
 
Introdução ao desenvolvimento da web.pptx
Introdução ao desenvolvimento da web.pptxIntrodução ao desenvolvimento da web.pptx
Introdução ao desenvolvimento da web.pptx
 
Estrutura de Dados - Aula 02
Estrutura de Dados - Aula 02Estrutura de Dados - Aula 02
Estrutura de Dados - Aula 02
 
Estrutura de dados - Introdução a linguagem C
Estrutura de dados - Introdução a linguagem CEstrutura de dados - Introdução a linguagem C
Estrutura de dados - Introdução a linguagem C
 
Lógica de programação { para iniciantes }
Lógica de programação { para iniciantes }Lógica de programação { para iniciantes }
Lógica de programação { para iniciantes }
 
Orientação a Objetos em Python
Orientação a Objetos em PythonOrientação a Objetos em Python
Orientação a Objetos em Python
 
Introdução à Análise de Sistemas
Introdução à Análise de SistemasIntrodução à Análise de Sistemas
Introdução à Análise de Sistemas
 
Curso Linguagem de Programação I - PHP Básico
Curso Linguagem de Programação I - PHP BásicoCurso Linguagem de Programação I - PHP Básico
Curso Linguagem de Programação I - PHP Básico
 
Aula01 - Logica de Programação
Aula01 - Logica de ProgramaçãoAula01 - Logica de Programação
Aula01 - Logica de Programação
 
Introdução ao Web Design: Aula 1 - Imersão ao Web Design
Introdução ao Web Design: Aula 1 - Imersão ao Web DesignIntrodução ao Web Design: Aula 1 - Imersão ao Web Design
Introdução ao Web Design: Aula 1 - Imersão ao Web Design
 
Introdução ao MySQL
Introdução ao MySQLIntrodução ao MySQL
Introdução ao MySQL
 
Curso de HTML5 - Aula 01
Curso de HTML5 - Aula 01   Curso de HTML5 - Aula 01
Curso de HTML5 - Aula 01
 
Banco de Dados - Tipos de Dados
Banco de Dados - Tipos de DadosBanco de Dados - Tipos de Dados
Banco de Dados - Tipos de Dados
 
Funções em C
Funções em CFunções em C
Funções em C
 
Aula03 - JavaScript
Aula03 - JavaScriptAula03 - JavaScript
Aula03 - JavaScript
 
Lista de exercicios algoritmos com pseudocodigo
Lista de exercicios   algoritmos com pseudocodigoLista de exercicios   algoritmos com pseudocodigo
Lista de exercicios algoritmos com pseudocodigo
 
Minicurso de App Inventor
Minicurso de App InventorMinicurso de App Inventor
Minicurso de App Inventor
 
Aula 2 – Introdução a HTML - conceitos básicos e estrutura
Aula 2 – Introdução a HTML - conceitos básicos e estruturaAula 2 – Introdução a HTML - conceitos básicos e estrutura
Aula 2 – Introdução a HTML - conceitos básicos e estrutura
 
Lógica de Programação - Estrutura de repetição
Lógica de Programação - Estrutura de repetiçãoLógica de Programação - Estrutura de repetição
Lógica de Programação - Estrutura de repetição
 
Aula01-JavaScript
Aula01-JavaScriptAula01-JavaScript
Aula01-JavaScript
 

Destaque

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
Adriano 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
 
Paradigmas de programação
Paradigmas de programaçãoParadigmas de programação
Paradigmas de programação
Sérgio Souza Costa
 
Modelo de von neumann
Modelo de von neumannModelo de von neumann
Modelo de von neumann
Elaine Cecília Gatto
 
Estrutura de dados
Estrutura de dadosEstrutura de dados
Estrutura de dados
JoseHenrique Joanoni
 
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
Paulo Muniz
 
Fundamentos do java: estruturas de controle
Fundamentos do java: estruturas de controleFundamentos do java: estruturas de controle
Fundamentos do java: estruturas de controle
Né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ção
José Meirelles
 
Matrizes da linguagem e pensamento
Matrizes da linguagem e pensamentoMatrizes da linguagem e pensamento
Matrizes da linguagem e pensamento
Samtinha
 
Python 03 - Sintaxe
Python 03 - SintaxePython 03 - Sintaxe
Python 03 - Sintaxe
PROF COMPUTAÇÃO Bordoni
 
4 introdução ao paradigma funcional
4 introdução ao paradigma funcional4 introdução ao paradigma funcional
4 introdução ao paradigma funcional
Pé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âmico
Adriano Teixeira de Souza
 
PROGRAMAS QBASIC
PROGRAMAS QBASICPROGRAMAS QBASIC
PROGRAMAS QBASIC
Jaime Zapata
 
Análise assintótica
Análise assintóticaAnálise assintótica
Análise assintótica
Pablo Silva
 
Apostila cobol
Apostila cobolApostila cobol
Apostila cobol
lucioandrade
 
Recursividade
RecursividadeRecursividade
Recursividade
Pablo 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 PHP
Almir Neto
 
Assembly para pc-25paginas
Assembly para pc-25paginasAssembly para pc-25paginas
Assembly para pc-25paginas
MikeNandes
 
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
 

Destaque (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
 

Semelhante a 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.pdf
Gerhard Saboia
 
Int. sistemas de informação iii
Int. sistemas de informação iiiInt. sistemas de informação iii
Int. sistemas de informação iii
Ray Fran Pires
 
Aula 03 - Interpretador [mr_@@@@@].pdf
Aula 03 - Interpretador [mr_@@@@@].pdfAula 03 - Interpretador [mr_@@@@@].pdf
Aula 03 - Interpretador [mr_@@@@@].pdf
mouzinhoconcursos
 
Linguagem da programação
Linguagem da programaçãoLinguagem da programação
Linguagem da programação
Rodrigo Gonçalves
 
Linguagem da programação
Linguagem da programaçãoLinguagem da programação
Linguagem da programação
Rodrigo Gonçalves
 
Linguágens de programação
Linguágens de programaçãoLinguágens de programação
Linguágens de programação
AlbertoVach
 
paradigmasdlsksmmskskkekekekekedmmmdmdmmf.pdf
paradigmasdlsksmmskskkekekekekedmmmdmdmmf.pdfparadigmasdlsksmmskskkekekekekedmmmdmdmmf.pdf
paradigmasdlsksmmskskkekekekekedmmmdmdmmf.pdf
AndreiaCristinaFlore
 
Linguagem de programação
Linguagem de programaçãoLinguagem de programação
Linguagem de programação
Sandro Lopes
 
Apostila c
Apostila cApostila c
Code Masters
Code MastersCode Masters
Code Masters
Eduardo Borges
 
Programação de Microprocessadores
Programação de MicroprocessadoresProgramação de Microprocessadores
Programação de Microprocessadores
Diogo 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
 
Compilador
CompiladorCompilador
Compilador
António Paixão
 
Lp m2(parte1)
Lp m2(parte1)Lp m2(parte1)
Mini Curso de C
Mini Curso de CMini Curso de C
Mini Curso de C
W4Solutions
 
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
essa
 
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
essa
 
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...
Congresso Catarinense de Ciências da Computação
 
Aula 3 compiladores e interpretadores
Aula 3   compiladores e interpretadoresAula 3   compiladores e interpretadores
Aula 3 compiladores e interpretadores
LCCIMETRO
 

Semelhante a 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
 

Último

Logica de Progamacao - Aula (1) (1).pptx
Logica de Progamacao - Aula (1) (1).pptxLogica de Progamacao - Aula (1) (1).pptx
Logica de Progamacao - Aula (1) (1).pptx
Momento da Informática
 
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdfTOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
Momento da Informática
 
Manual-de-Credenciamento ANATER 2023.pdf
Manual-de-Credenciamento ANATER 2023.pdfManual-de-Credenciamento ANATER 2023.pdf
Manual-de-Credenciamento ANATER 2023.pdf
WELITONNOGUEIRA3
 
DESENVOLVIMENTO DE SOFTWARE I_aula1-2.pdf
DESENVOLVIMENTO DE SOFTWARE I_aula1-2.pdfDESENVOLVIMENTO DE SOFTWARE I_aula1-2.pdf
DESENVOLVIMENTO DE SOFTWARE I_aula1-2.pdf
Momento da Informática
 
Certificado Jornada Python Da Hashtag.pdf
Certificado Jornada Python Da Hashtag.pdfCertificado Jornada Python Da Hashtag.pdf
Certificado Jornada Python Da Hashtag.pdf
joaovmp3
 
História da Rádio- 1936-1970 século XIX .2.pptx
História da Rádio- 1936-1970 século XIX   .2.pptxHistória da Rádio- 1936-1970 século XIX   .2.pptx
História da Rádio- 1936-1970 século XIX .2.pptx
TomasSousa7
 

Último (6)

Logica de Progamacao - Aula (1) (1).pptx
Logica de Progamacao - Aula (1) (1).pptxLogica de Progamacao - Aula (1) (1).pptx
Logica de Progamacao - Aula (1) (1).pptx
 
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdfTOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
 
Manual-de-Credenciamento ANATER 2023.pdf
Manual-de-Credenciamento ANATER 2023.pdfManual-de-Credenciamento ANATER 2023.pdf
Manual-de-Credenciamento ANATER 2023.pdf
 
DESENVOLVIMENTO DE SOFTWARE I_aula1-2.pdf
DESENVOLVIMENTO DE SOFTWARE I_aula1-2.pdfDESENVOLVIMENTO DE SOFTWARE I_aula1-2.pdf
DESENVOLVIMENTO DE SOFTWARE I_aula1-2.pdf
 
Certificado Jornada Python Da Hashtag.pdf
Certificado Jornada Python Da Hashtag.pdfCertificado Jornada Python Da Hashtag.pdf
Certificado Jornada Python Da Hashtag.pdf
 
História da Rádio- 1936-1970 século XIX .2.pptx
História da Rádio- 1936-1970 século XIX   .2.pptxHistória da Rádio- 1936-1970 século XIX   .2.pptx
História da Rádio- 1936-1970 século XIX .2.pptx
 

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.