Programação  
 
Rede de conhecimento computador >> Programação >> Programação De Computador Idiomas >> Content
Diferença entre linguagens de computador traduzidas e interpretadas?
A diferença entre as linguagens de computador traduzidas e interpretadas está em * como * o código -fonte (o programa escrito por um humano) é executado pelo computador. Ambos convertem código legível pelo homem em instruções legíveis por máquina, mas o fazem em momentos diferentes e de maneiras diferentes:

idiomas traduzidos (linguagens compiladas):

* Processo de tradução: A * compilador * pega todo o programa de código -fonte como entrada e o traduz em um programa completo de código da máquina (ou uma representação intermediária que é traduzida para o código da máquina) * antes de * o programa ser executado. Esse processo é frequentemente chamado de *compilação *. O código da máquina resultante é um arquivo separado (como um `.exe` no Windows ou um arquivo executável em outros sistemas).
* Execução : O código da máquina compilado é então executado diretamente pelo processador do computador.
* Velocidade: Execução geralmente mais rápida porque a tradução é feita com antecedência e o processador executa o código da máquina otimizado diretamente.
* Detecção de erro: Os erros do compilador são detectados * antes de * tempo de execução. O compilador identificará erros de sintaxe e alguns erros semânticos durante o processo de compilação.
* Portabilidade: Normalmente menos portátil. Um programa compilado para um sistema ou arquitetura operacional geralmente não é executado em outro sem recompilação.
* Exemplos: C, C ++, Go, Rust, fortran


Idiomas interpretados:

* Processo de tradução: Um *intérprete *pega o código -fonte linha por linha (ou às vezes em pedaços maiores) e traduz e executa cada peça *imediatamente *. Não há etapa de compilação separada produzindo um executável independente.
* Execução : O intérprete lê, traduz e executa o código simultaneamente. Não produz um arquivo de código de máquina separado.
* Velocidade: Execução geralmente mais lenta devido à tradução on-the-fly. Cada linha (ou pedaço) precisa ser interpretada toda vez que for executada.
* Detecção de erro: Os erros geralmente são detectados apenas durante o tempo de execução. O intérprete pode não capturar todos os erros até que o código problemático seja executado.
* Portabilidade: Muitas vezes mais portátil. Enquanto o intérprete estiver disponível para uma plataforma específica, o código -fonte geralmente poderá ser executado.
* Exemplos: Python, JavaScript, Ruby, Perl, Php


Abordagens híbridas:

É importante observar que a distinção nem sempre é clara. Alguns idiomas empregam uma abordagem híbrida:

* Compilação just-in-time (JIT): Idiomas como Java e C# compilam inicialmente o código -fonte em uma representação intermediária (código de byte). Um compilador JIT traduz essa representação intermediária em código da máquina *durante o tempo de execução *. Isso combina as vantagens das linguagens interpretadas e compiladas:portabilidade inicial (como interpretada) e a execução mais rápida de seções de código usadas com frequência (como compilado).


Em resumo:a compilação traduz todo o programa de uma só vez * antes * de execução, levando a uma execução mais rápida, mas menos portabilidade e detecção de erros iniciais. A interpretação traduz e executa o código linha por linha, fornecendo melhor portabilidade, mas a execução mais lenta e a detecção de erros de tempo de execução. Muitas línguas modernas usam abordagens híbridas para obter o melhor dos dois mundos.

Anterior :

Próximo :
  Os artigos relacionados
·Como ler código binário 
·Tutoriais para SQLAlchemy do Python 
·Como usar a validação de dados para preencher uma got…
·Tipos de arquivo SQLite 
·Codificação de cores direta Utp em switch para switch…
·Como fazer Movie Review Software 
·Explicação do uso de uma matriz 
·Classificações de alto nível Idiomas em Programaçã…
·Um atributo de erro Duplicate foi encontrado durante um…
·O que é o Python 2.2.3 
  Artigos em destaque
·Descrição da função C Sistema 
·O que é a coesão em Engenharia de Software 
·Como chamar Webform Com Declaração de Caso 
·O que é Finalize em Java 
·Como usar gráficos em Java Blender 3D 
·Como passar uma coleção para uma função em VBA 
·Como alterar a ordem das colunas em Alter Table 
·Como instalar uma biblioteca de tempo de execução C 
·Como ativar Cufon Carta Espaçamento 
·Como você faz com que o MySQL funcione com o PHP 5.3.2…
Cop e direita © Rede de conhecimento computador https://ptcomputador.com Todos os Direitos Reservados