SlideShare una empresa de Scribd logo
1 de 10
Descargar para leer sin conexión
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.

Más contenido relacionado

La actualidad más candente

Banco de Dados Não Relacionais vs Banco de Dados Relacionais
Banco de Dados Não Relacionais vs Banco de Dados RelacionaisBanco de Dados Não Relacionais vs Banco de Dados Relacionais
Banco de Dados Não Relacionais vs Banco de Dados Relacionaisalexculpado
 
Modelagem relacional e normalização de dados
Modelagem relacional e normalização de dadosModelagem relacional e normalização de dados
Modelagem relacional e normalização de dadosjulianaveregue
 
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
 
Algoritmos e Estrutura de Dados - Aula 01
Algoritmos e Estrutura de Dados - Aula 01Algoritmos e Estrutura de Dados - Aula 01
Algoritmos e Estrutura de Dados - Aula 01thomasdacosta
 
Aula 5 - Modelo de Entidade e Relacionamento - MER
Aula 5 - Modelo de Entidade e Relacionamento - MER Aula 5 - Modelo de Entidade e Relacionamento - MER
Aula 5 - Modelo de Entidade e Relacionamento - MER Vitor Hugo Melo Araújo
 
Introdução à Linguagem de Programação C
Introdução à Linguagem de Programação CIntrodução à Linguagem de Programação C
Introdução à Linguagem de Programação CJose Augusto Cintra
 
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
 
As vantagens e desvantagens da aplicação de padrões de projeto
As vantagens e desvantagens da aplicação de padrões de projetoAs vantagens e desvantagens da aplicação de padrões de projeto
As vantagens e desvantagens da aplicação de padrões de projetoGabriel Galdino
 
Javascript (parte 1)
Javascript (parte 1)Javascript (parte 1)
Javascript (parte 1)Alex Camargo
 
Livro Gestão da Qualidade- Carlos Henrique Pereira Mello.pdf
Livro Gestão da Qualidade- Carlos Henrique Pereira Mello.pdfLivro Gestão da Qualidade- Carlos Henrique Pereira Mello.pdf
Livro Gestão da Qualidade- Carlos Henrique Pereira Mello.pdfLuizFelipe925640
 
Parafusos aula02-150403143538-conversion-gate01
Parafusos aula02-150403143538-conversion-gate01Parafusos aula02-150403143538-conversion-gate01
Parafusos aula02-150403143538-conversion-gate01Vagner Soares da Costa
 
Livro - código limpo caps (3,4) (clean code)
Livro - código limpo caps (3,4) (clean code)Livro - código limpo caps (3,4) (clean code)
Livro - código limpo caps (3,4) (clean code)André Justi
 

La actualidad más candente (20)

Banco de Dados Não Relacionais vs Banco de Dados Relacionais
Banco de Dados Não Relacionais vs Banco de Dados RelacionaisBanco de Dados Não Relacionais vs Banco de Dados Relacionais
Banco de Dados Não Relacionais vs Banco de Dados Relacionais
 
Modelagem relacional e normalização de dados
Modelagem relacional e normalização de dadosModelagem relacional e normalização de dados
Modelagem relacional e normalização de dados
 
Manual Funções
Manual FunçõesManual Funções
Manual Funções
 
Paradigmas De Linguagem De Programação.
Paradigmas De Linguagem De Programação.Paradigmas De Linguagem De Programação.
Paradigmas De Linguagem De Programação.
 
Algoritmos e Estrutura de Dados - Aula 01
Algoritmos e Estrutura de Dados - Aula 01Algoritmos e Estrutura de Dados - Aula 01
Algoritmos e Estrutura de Dados - Aula 01
 
Aula 5 - Modelo de Entidade e Relacionamento - MER
Aula 5 - Modelo de Entidade e Relacionamento - MER Aula 5 - Modelo de Entidade e Relacionamento - MER
Aula 5 - Modelo de Entidade e Relacionamento - MER
 
Introdução à Linguagem de Programação C
Introdução à Linguagem de Programação CIntrodução à Linguagem de Programação C
Introdução à Linguagem de Programação C
 
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)
 
Ai na medicina
Ai na medicinaAi na medicina
Ai na medicina
 
Modelação de Dados
Modelação de DadosModelação de Dados
Modelação de Dados
 
As vantagens e desvantagens da aplicação de padrões de projeto
As vantagens e desvantagens da aplicação de padrões de projetoAs vantagens e desvantagens da aplicação de padrões de projeto
As vantagens e desvantagens da aplicação de padrões de projeto
 
Apostila de Alocação Dinâmica em C
Apostila de Alocação Dinâmica em CApostila de Alocação Dinâmica em C
Apostila de Alocação Dinâmica em C
 
Modelagem de Dados
Modelagem de DadosModelagem de Dados
Modelagem de Dados
 
Javascript (parte 1)
Javascript (parte 1)Javascript (parte 1)
Javascript (parte 1)
 
Livro Gestão da Qualidade- Carlos Henrique Pereira Mello.pdf
Livro Gestão da Qualidade- Carlos Henrique Pereira Mello.pdfLivro Gestão da Qualidade- Carlos Henrique Pereira Mello.pdf
Livro Gestão da Qualidade- Carlos Henrique Pereira Mello.pdf
 
Parafusos aula02-150403143538-conversion-gate01
Parafusos aula02-150403143538-conversion-gate01Parafusos aula02-150403143538-conversion-gate01
Parafusos aula02-150403143538-conversion-gate01
 
12 SQL - Junções / Join
12 SQL - Junções / Join12 SQL - Junções / Join
12 SQL - Junções / Join
 
Analise de Requisitos Software
Analise de Requisitos SoftwareAnalise de Requisitos Software
Analise de Requisitos Software
 
Livro - código limpo caps (3,4) (clean code)
Livro - código limpo caps (3,4) (clean code)Livro - código limpo caps (3,4) (clean code)
Livro - código limpo caps (3,4) (clean code)
 
6 estruturas de dados heterogêneas
6  estruturas de dados heterogêneas6  estruturas de dados heterogêneas
6 estruturas de dados heterogêneas
 

Destacado

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
 
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
 
Conceitos básicos de AEDS
Conceitos básicos de AEDSConceitos básicos de AEDS
Conceitos básicos de AEDSPablo Silva
 

Destacado (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 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
 
Conceitos básicos de AEDS
Conceitos básicos de AEDSConceitos básicos de AEDS
Conceitos básicos de AEDS
 

Similar 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.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
 

Similar 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
 

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.