Pular para o conteúdo principal

Questão de Programação — Linguagens de programação — Quadrix 2024

ProgramaçãoLinguagens de programação
Código
qg347470
Banca
Quadrix
Órgão
CFP
Ano
2024
Nível
Médio
Cargo
Técnico Administrativo - Suporte Técnico em Informática
Quanto às linguagens de programação Java e PHP, julgue o item a seguir.O PHP converte o código‑fonte diretamente em código de máquina antes de ser executado pelo servidor.
  1. CCerto
  2. EErrado
Revelar gabarito e comentário

GabaritoE — Errado

Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.

PHP: linguagem interpretada, não compilada

Gabarito: Errado. O PHP é uma linguagem interpretada (ou híbrida, com compilação para bytecode em versões modernas via OPcache), e não converte o código-fonte diretamente em código de máquina antes da execução. O código PHP é processado pelo interpretador Zend Engine no servidor, que o traduz para instruções executáveis em tempo de execução — não há geração de um arquivo binário nativo como ocorre em linguagens compiladas tradicionais (C, C++, Go).

Para entender por que a afirmação está errada, é preciso dominar a diferença entre os modelos de execução das linguagens de programação. Uma linguagem compilada (como C, C++, Go, Rust) passa por um compilador que traduz todo o código-fonte para código de máquina (binário) antes da execução, gerando um arquivo executável. Já uma linguagem interpretada (como PHP, JavaScript, Python) é executada por um interpretador que lê e executa o código-fonte linha por linha (ou instrução por instrução) em tempo de execução, sem gerar um arquivo binário nativo. Existem ainda as linguagens híbridas (como Java e C#), que compilam o código-fonte para um bytecode intermediário, que depois é interpretado/executado por uma máquina virtual (JVM, CLR).

O PHP, especificamente, é uma linguagem interpretada — o código-fonte é processado pelo interpretador Zend Engine, que o converte em opcodes (instruções de máquina virtual) e os executa imediatamente. Em versões mais recentes, o OPcache pode armazenar esses opcodes em cache para acelerar a execução, mas isso não é a mesma coisa que compilar para código de máquina nativo. O PHP nunca gera um executável binário independente; ele depende do interpretador instalado no servidor.

Um exemplo prático: quando você escreve um script PHP (arquivo.php) e o acessa via navegador, o servidor web (Apache, Nginx) aciona o interpretador PHP, que lê o arquivo, interpreta as instruções e gera a saída HTML dinamicamente. Se o código tiver um erro de sintaxe, ele só será detectado na execução — diferente de uma linguagem compilada, onde o erro seria apontado na fase de compilação, antes de gerar o executável.

A pegadinha da banca está em inverter o modelo de execução: ela afirma que o PHP converte o código-fonte diretamente em código de máquina antes da execução, o que é característica de linguagens compiladas. O candidato que confunde os modelos de execução cai facilmente nessa armadilha. Guarde a distinção: compilada = gera binário nativo antes de executar; interpretada = executa o código em tempo real, sem gerar binário; híbrida = compila para bytecode e executa via máquina virtual.

Critério

Linguagem Compilada (C, C++, Go)

Linguagem Interpretada (PHP, Python, JS)

Linguagem Híbrida (Java, C#)

Processo de execução

Compila todo o código-fonte para código de máquina antes de executar

Interpreta e executa o código linha por linha em tempo real

Compila para bytecode intermediário, executado por máquina virtual

Geração de binário

Gera arquivo executável nativo

Não gera binário nativo

Gera bytecode (não binário nativo)

Detecção de erros

Erros apontados na compilação, antes da execução

Erros detectados apenas na execução

Erros de sintaxe na compilação; erros de runtime na execução

Exemplo

C, C++, Go

PHP, JavaScript, Python

Java, C#

1Compilada
C, C++, Go
Gera binário nativo antes
2Interpretada
PHP, JavaScript, Python
Executa em tempo real
3Híbrida
Java, C#
Bytecode + máquina virtual
Modelos de execução
LEVELsoulevel.com.br
Modelos de execução: Compilada (C, C++, Go, Gera binário nativo antes); Interpretada (PHP, JavaScript, Python, Executa em tempo real); Híbrida (Java, C#, Bytecode + máquina virtual)

Alternativa C — ❌ Incorreta

Afirma que o PHP converte o código-fonte diretamente em código de máquina antes de ser executado pelo servidor. Isso é falso: o PHP é uma linguagem interpretada, executada pelo Zend Engine, que traduz o código para opcodes em tempo de execução. Não há geração de código de máquina nativo nem arquivo executável. A alternativa descreve o comportamento de linguagens compiladas (C, C++, Go), não do PHP.

Alternativa E — ✅ Correta ⟵ GABARITO

A afirmação está errada porque o PHP não converte o código-fonte em código de máquina antes da execução. O PHP é interpretado: o interpretador Zend Engine lê o código-fonte, converte em opcodes e executa imediatamente no servidor. Não há etapa de compilação para código de máquina nativo. Portanto, o item é Errado.

NÃO CAIA NESSA!

Para questões sobre modelos de execução, monte uma tabela mental: compilada (C, C++, Go) → gera binário nativo antes de executar; interpretada (PHP, JavaScript, Python) → executa o código em tempo real, sem binário; híbrida (Java, C#) → compila para bytecode e executa via máquina virtual. A banca adora inverter essas características — se a alternativa disser que uma linguagem interpretada "compila para código de máquina", está errada.

Gabarito: letra E (Errado).

Link permanente: /questoes/qg347470