Questão de Programação — PHP — Quadrix 2025
- Código
- qg595089
- Banca
- Quadrix
- Órgão
- CFO
- Ano
- 2025
- Nível
- Médio
- Cargo
- Técnico em Tecnologia da Informação
- CCerto
- EErrado
GabaritoE — Errado
Gabarito: E — ERRADO. A afirmação inverte a realidade: o PHP é uma linguagem interpretada (não compilada), portanto não exige compilação a cada alteração — o código é executado diretamente pelo interpretador. Já o Java é uma linguagem compilada (para bytecode da JVM), o que torna o ciclo de desenvolvimento em Java, em regra, mais lento que o do PHP. A banca trocou o comportamento das duas linguagens.
O enunciado mistura dois conceitos fundamentais de linguagens de programação: compilação e interpretação. Entender essa distinção é essencial para responder corretamente e para muitas outras questões de programação.
O que é compilar? Compilar é traduzir todo o código-fonte de uma só vez para uma forma executável (código de máquina ou bytecode), gerando um arquivo que pode ser executado várias vezes sem nova tradução. Linguagens como C, C++ e Java seguem esse modelo. No caso do Java, o compilador (javac) traduz o código .java para bytecode (.class), que é executado pela Máquina Virtual Java (JVM). A JVM, por sua vez, pode interpretar o bytecode ou compilá-lo em tempo de execução (técnica JIT — Just-In-Time).
O que é interpretar? Interpretar é executar o código linha por linha, traduzindo e executando cada instrução na hora, sem gerar um arquivo executável separado. Linguagens como Python, JavaScript e PHP são tipicamente interpretadas. No PHP, o interpretador lê o script e o executa diretamente no servidor, sem etapa de compilação prévia. Isso significa que, a cada alteração no código, basta salvar o arquivo e recarregar a página — não há compilação.
Por que o PHP é considerado mais ágil nesse aspecto? Porque o ciclo "editar → salvar → executar" é imediato. No Java, após alterar o código, é necessário recompilar (gerar novamente o bytecode) e, em muitos casos, reiniciar a aplicação (dependendo do servidor de aplicação). Esse processo adicional torna o ciclo de desenvolvimento em Java, em regra, mais lento que o do PHP.
Mas atenção: a afirmação da questão diz exatamente o contrário — que o PHP é mais lento porque precisa compilar. Isso é duplamente errado: (1) o PHP não compila; (2) o ciclo do PHP é, na prática, mais rápido.
Exemplo prático: imagine que você está desenvolvendo um site simples. Em PHP, você edita o arquivo index.php, salva e atualiza o navegador — a alteração aparece na hora. Em Java (com Servlets, por exemplo), você edita o código, compila com javac, empacota em um .war e reinicia o servidor — um processo bem mais demorado.
Distinção importante: embora o PHP seja interpretado, ele pode ser compilado em cache (opcode cache, como o OPcache) para melhorar o desempenho em produção. Mas isso é uma otimização interna, não uma etapa obrigatória do desenvolvimento. Da mesma forma, o Java, apesar de compilado, pode usar JIT para melhorar a performance em tempo de execução. A classificação "híbrida" (compilada + interpretada) é usada para Java e também para PHP em alguns contextos, mas a essência da questão é: PHP não exige compilação manual a cada alteração.
A pegadinha da banca: ela inverte o processo. O candidato que sabe que Java compila e PHP interpreta percebe na hora que a afirmação está errada. Quem não domina o conceito pode cair na armadilha de achar que "toda linguagem precisa compilar".
A banca troca o comportamento das duas linguagens: afirma que o PHP compila (quando na verdade é interpretado) e que isso o torna mais lento (quando na prática o ciclo é mais rápido). Guarde: PHP = interpretado, ciclo rápido; Java = compilado, ciclo mais lento.
A alternativa C afirma que o ciclo de desenvolvimento em PHP é mais lento que em Java devido à necessidade de compilar o código a cada alteração. Isso é falso por dois motivos:
PHP não é compilado — é uma linguagem interpretada (ou híbrida, com cache de opcode, mas sem compilação manual obrigatória).
O ciclo do PHP é mais rápido — não há etapa de compilação; basta salvar e executar.
O erro específico é a inversão do processo: a banca atribui ao PHP uma característica do Java (compilação) e, a partir dela, conclui que o PHP é mais lento. Na verdade, é o Java que exige compilação (para bytecode) e, por isso, tende a ter um ciclo de desenvolvimento mais demorado.
A alternativa E (Errado) é a correta, pois a afirmação do enunciado é falsa. O PHP é uma linguagem interpretada, executada diretamente pelo interpretador, sem necessidade de compilação a cada alteração. O ciclo de desenvolvimento em PHP é, em regra, mais rápido que em Java, justamente por não exigir essa etapa. A banca pede para julgar o item como Certo ou Errado; como a afirmação está incorreta, o gabarito é E.
Gabarito: letra E
Link permanente: /questoes/qg595089