Aprenda a linguagem MSIL, Microsoft Intermediate Language Caieiras, São Paulo

Saiba como é estruturada a linguagem "C#" . O autor explica qual é o seu conceito e sua sintaxe. Conheça os detalhes da linguagem MSIL.

Triaton Informática
(11) 3464-0702
r Nina Rodrigues, 154, Vl Ayrosa
Osasco, São Paulo

Dados Divulgados por
Dufran Comercial Ltda
(11) 3608-7910
av Autonomistas, 5947, Vl Quitaúna
Osasco, São Paulo

Dados Divulgados por
Cartuchos Recon
(11) 3688-2727
r Estação, 205, Centro
Osasco, São Paulo

Dados Divulgados por
Dra Informática
(11) 3694-2894
av Flora, 826, Bussocaba
Osasco, São Paulo

Dados Divulgados por
Nane Informática Comércio e Assistência Técnica
(11) 3609-7108
av Vicente Melillo,Pe, 1188, Jd Oriental
Osasco, São Paulo

Dados Divulgados por
Áquila Comercial de Informática Ltda
(11) 3683-3203
av Dionysia Alves Barreto, 18, Vl Osasco
Osasco, São Paulo

Dados Divulgados por
Econjet Cartuchos
(11) 3766-3523
av Autonomistas, 99, Vl São José
Osasco, São Paulo

Dados Divulgados por
Stick Comércio e Serviços Ltda
(11) 4063-4969
av Manuel Pedro Pimentel, 365, Bl A An 13 Ap 134, Vl Yara
Osasco, São Paulo

Dados Divulgados por
Partnervision Informática e Tecnologia Ltda
(11) 3683-8414
r Carlos da Costa Ramalho Júnior, 137, Pres Altino
Osasco, São Paulo

Dados Divulgados por
Tya Comércio e Serviços
(11) 3683-2110
r Primitiva Vianco,Da, 244, Pis 3 Lj 45, Centro
Osasco, São Paulo

Dados Divulgados por
Dados Divulgados por

Aprenda a linguagem MSIL, Microsoft Intermediate Language

Minha proposta nesse espaço inicialmente seria de analisarmos a linguagem C#, sua sintaxe, implementações dos conceitos de orientação a objetos, etc. Para tal ,acredito que a implementação de programas console [aqueles que rodam no DOS], seja a melhor alternativa nesse primeiro momento. Sem dúvida o Visual Studio é uma ferramenta poderosíssima, mas tentaremos não fazer uso do mesmo, para uma maior intimidade com a linguagem, o compilador, suas ferramentas e as diversas técnicas de desenvolvimento que o ambiente nos permite. Uma ressalva ao editor de programas, onde o Visual Studio tem uma interface bastante agradável (destaque para identação e visual das linhas de código), no entanto para os mais nostálgicos o uso do Edit é bem vindo.

Pré-requisitos:

Para execução de um programa .Net. o mínimo necessário é a instalação do Framework, disponível paradownloadno site da Microsoft. Uma vez instalado temos disponíveis os compiladores VB e C#, para nosso caso o programa csc [digite csc /? para maiores detalhes de compilação]. Caso tenhamos apenas o framework instalado seria interessante adicionar à variável de ambiente Path, o caminho do programa csc, se tivermos o Visual Studio instalado utilize a opção Visual Studio Command Prompt, dentre as ferramentas do VS.

Finalmente:

Bom pessoal, nada mais batido como primeira lição nos escritos de qualquer linguagem de programação que o conhecido "Hello Word" , pois bem, não faremos diferente, no entanto, utilizaremos desse programa para passarmos algumas informações importantes para o entendimento de qualquer programa C#. Faremos uma viagem pelo universo do MSIL, a mágica da Microsoft para que os programas sejam multiplataformas, independente de linguagem, seguros, versionados, etc. O MSIL, nada mais é que uma linguagem intermediaria gerada no processo de compilação do código fonte, assim ao final desse processo temos um código intermediário e dependente do runtime do Framework ao invés dos executáveis "independentes", até então gerado pelos compiladores [e ainda possível nos compiladores C++, e C# em situações especiais].

Esse código é formado por um conjunto de instruções em linguagem intermediária e por metadados, conhecido como MANISFESTO, onde temos descrito informações essenciais para execução do código, tais como definição de tipos, controle de versão [e ai o fim da terrível DLL HELL, ou incompatibilidade de versões], referencia à assemblies externos, dentre outras funcionalidades.

Esse formato do código, com dados e metadados, permite aos assemblies uma autodescrição o que dispensa a necessidade das antigas Type Libraries ou IDLs. Assim o próprio runtime do framework, localiza e obtém as informações necessárias para executar as instruções conforme preciso, tudo junto num mesmo lugar.

O processo de execução inicia-se com o runtime do Framework [o conhecido CLR], que carrega do código IL e o executa, como já dissemos, o código tem é gerenciado e seguro. No entanto, antes dessa execução o CLR, garante a validade do código para só então compilá-lo, gerando um código de fato executável compatível com o processador, através do just-in-time compiler [JITter] que é cacheado, e caso haja alteração no código fonte / IL o mesmo é atualizado. Durante a execução do código gerenciado, o mesmo recebe serviços como garbage collection [responsável pela uma "limpeza" periódica na memória], interoperabilidade com códigos não gerenciados, serviço de controle de versão, segurança, etc, ou seja nosso processo fica constantemente monitorando para garantir sua qualidade em performance, segurança, gerenciamento otimizado da memória e outras funcionalidades providas pelo Framework.

A seguir, analisaremos nosso programa, o compilaremos e analisaremos seu código intermediário.

Listagem 1 - Hello World

• using System; //Referenciando namespace System
• namespace iMasters //Definindo namespace iMasters
• {
• class hello //Definindo classe hello
• {
• public static void Main() //Função principal
• {
• for(int i=0;iCaio Azevedo

Caio Azevedo é arquiteto de softwares, especialista em soluções corporativas nos ambientes intranet/internet. Graduado em Ciência da Computação, Mestrando da Escola Politécnica da USP. Certificações Microsoft [MCP, MCAD e MCSD .NET]. Gestor da célula Microsoft da Magna Sistemas Consultoria ( www.magnasistemas.com.br).

Clique aqui para ler este artigo na Artigonal.Com