Quais as vantagens e as desvantagens em converter seu código
fonte em Microsoft Intermediate Language (MSIL)?? É para um trabalho, não consigo achar algo concreto quanto a isso.
Soluções para a tarefa
Respondido por
0
Essa pergunta já está meio datada. O MSIL agora é chamado de CIL "Common Intermediate Language"
A vantagem é que se pode programar numa linguagem só e o programa rodar em várias plataformas.
O CIL é a linguagem e roda no CLI (Common Language Infrastructure). Meio confuso.
O código gerado por CIL pode ser compilado para a plataforma destino ou funcionar como pseudo-código e ser executado pela módulo CLI para cada plataforma, mais ou menos como o Java Runtime Engine faz com o java e o Turbo Pascal fazia antigamente.
A desvantagem é que fica mais dificil de aproveitar as características peculiares da plataforma onde vai rodar. Essa é uma desvantagem de todos os sistemas multiplataformas pois eles tem que se basear no menor denominador comum entre as plataformas. Assim, para um programa rodar em TODAS as plataformas ele vai ter que abrir mão de coisas peculiares a cada uma delas. Ou ... forçar a barra e acabar funcionando de uma forma ligeiramente diferente, a depender da plataforma.
Por exemplo: ponteiro de mouse usado em plataformas de computador (windows, mac os, linux com interface gráfica) e toques de touchscreen. Aparentemente um substitui o outro mas na verdade a coisa não é tão simples. Uma coisa é você clicar precisamente com o mouse num ícone/botão pequeno. Outra é tocar com a ponta do seu dedo (que é muito maior do que um cursor de mouse) na tela de um smartphone de baixo custo com telinha pequena.
A verdade é que as soluções multiplataformas funcionam razoavelmente bem para a parte de lógica e regra do negócio porém quando chega na interface com os humanos tais ferramentas mostram suas limitações.
Isso induz ao desenho das aplicações com separação distinta entre a parte de apresentação/interface e a parte de regras do negócio. Aí sim funciona.
A vantagem é que se pode programar numa linguagem só e o programa rodar em várias plataformas.
O CIL é a linguagem e roda no CLI (Common Language Infrastructure). Meio confuso.
O código gerado por CIL pode ser compilado para a plataforma destino ou funcionar como pseudo-código e ser executado pela módulo CLI para cada plataforma, mais ou menos como o Java Runtime Engine faz com o java e o Turbo Pascal fazia antigamente.
A desvantagem é que fica mais dificil de aproveitar as características peculiares da plataforma onde vai rodar. Essa é uma desvantagem de todos os sistemas multiplataformas pois eles tem que se basear no menor denominador comum entre as plataformas. Assim, para um programa rodar em TODAS as plataformas ele vai ter que abrir mão de coisas peculiares a cada uma delas. Ou ... forçar a barra e acabar funcionando de uma forma ligeiramente diferente, a depender da plataforma.
Por exemplo: ponteiro de mouse usado em plataformas de computador (windows, mac os, linux com interface gráfica) e toques de touchscreen. Aparentemente um substitui o outro mas na verdade a coisa não é tão simples. Uma coisa é você clicar precisamente com o mouse num ícone/botão pequeno. Outra é tocar com a ponta do seu dedo (que é muito maior do que um cursor de mouse) na tela de um smartphone de baixo custo com telinha pequena.
A verdade é que as soluções multiplataformas funcionam razoavelmente bem para a parte de lógica e regra do negócio porém quando chega na interface com os humanos tais ferramentas mostram suas limitações.
Isso induz ao desenho das aplicações com separação distinta entre a parte de apresentação/interface e a parte de regras do negócio. Aí sim funciona.
Perguntas interessantes