1
resposta

Dúvida em C#: Primeiros Passos Aula 1, parte 1

Olá. Eu não consegui entender bem a diferença entre antigamente e o modelo atual. Antigamente eu tinha um programa escrito em C, com uma biblioteca em C e se comunicando com o sistema operacional. Hoje em dia, um programa escrito em C#, passa por um compilador pra virar aplicação em MSIL, usando bilioteca em MSIL se comunica com máquina virtual em MSIL que se comunica com o SO. No final, a Máquina virtual também não precisa ser escrita e modificada para cada SO (windows, linux, etc)? Eu ainda não consegui enxergar essa diferença entre os dois modelos.

1 resposta

Olá Tadeu, tudo certo?

Já de inicio, o próprio nome: maquina virtual, já nos dá essa tranquilidade de saber que nossa aplicação irá funcionar perfeitamente em qualquer sistema operacional. O código é compilado pelo MSIL (Microsoft Intermediate Language), tornando-o em um novo código que pode ser executado pela maquina virtual CLR (Common Language Runtime).

Irei comentar um pouco sobre a Maquina Virtual: Poderíamos definir como uma maquina que faz uma cópia de um sistema operacional, ela nos permite rodar outros sistemas operacionais dentro de uma única máquina física, tendo acesso a outros software existentes que podem ser instalados dentro da própria máquina virtual.

Então podemos ter como sistema operacional físico o Windows 10, mas utilizar nessa mesma maquina, claro, com a ajuda de uma maquina virtual, o Linux, por exemplo, ou até mesmo o Windows 7. Não precisamos fazer instalação de uma ISO para isso.

Acredito que com esse exemplo fica mais tranquilo de entender o motivo dela não precisar ser modificada para cada sistema operacional.

Qualquer dúvida estamos por aqui.

Abraços!