Questão de Programação — .Net — FUNDATEC 2023
- Código
- qq897067
- Banca
- FUNDATEC
- Órgão
- PROCERGS
- Ano
- 2023
- Nível
- Superior
- Cargo
- ANC - Analista em Computação - Ênfase em Análise de Sistemas/Gerência de Projetos de TI
- ACIL
- BMSIL
- CVB .NET
- DCLR
- ECTS
GabaritoD — CLR
Gabarito: letra D — CLR. O Common Language Runtime (CLR) é o componente da plataforma .NET que opera como uma máquina virtual, sendo responsável pelo gerenciamento e execução do código do programa, independentemente da linguagem de origem (C#, VB.NET, etc.). É o ambiente de execução que oferece serviços como gerenciamento de memória (Garbage Collection), segurança, tratamento de exceções e compilação Just-In-Time (JIT).
A banca testa o conhecimento dos componentes fundamentais do .NET: CLR, CTS, CIL/MSIL, e linguagens como VB.NET. A pegadinha clássica é confundir o CLR (máquina virtual) com o CIL/MSIL (código intermediário) ou com o CTS (sistema de tipos).
Muitos alunos confundem CLR (quem executa) com CIL/MSIL (código que é executado). O CLR é a máquina virtual que gerencia a execução; o CIL/MSIL é o código intermediário gerado pelo compilador. Nas provas, a banca pode trocar essas definições para induzir ao erro.
CIL (Common Intermediate Language) é o código intermediário, não a máquina virtual. Ele é gerado pelo compilador a partir do código-fonte e posteriormente compilado para código nativo pelo CLR através do JIT. Portanto, não é o ambiente de execução.
MSIL (Microsoft Intermediate Language) é outro nome para o CIL, ou seja, o mesmo código intermediário. Também não é a máquina virtual, mas sim o código que será executado pelo CLR.
VB .NET é uma linguagem de programação que compila para CIL, não é um ambiente de execução. A máquina virtual é a mesma para todas as linguagens .NET, mas VB.NET é apenas uma delas.
CLR (Common Language Runtime) é exatamente o componente descrito: atua como máquina virtual, gerenciando a execução do código, fornecendo serviços de memória, segurança, exceções e garantindo a independência de linguagem. É o coração da plataforma .NET.
CTS (Common Type System) define como os tipos de dados são declarados e usados, garantindo a interoperabilidade entre linguagens. Não é um ambiente de execução, mas sim uma especificação de tipos.
Para fixar, lembre-se da sequência: Código Fonte → Compilador → CIL → CLR (executa). O CLR é o "motor"; o CIL é o "combustível intermediário". Nas questões, o comando "máquina virtual", "gerenciamento de execução", "ambiente de execução" sempre apontam para o CLR.
Gabarito: letra D — CLR.
Link permanente: /questoes/qq897067