No que toca à MS e ao .NET, mais especificamente a .NET Framework é que se trata de uma Virtual Machine também só que vem resolver uma série de desvantagens da VM da Sun. Quais são essas desvantagens? Existem muitas desvantagens mas vou falar apenas das 3 mais importantes: 1. Todos os programadores do mundo terão que ser programadores da syntax Java. 2. Performance. 3. Integração com a web. 1. Agora na .NET Framework podes, virtualmente, programar as tuas aplicações em qualquer linguagem, basta para isso que esta tenha sido desenvolvida por alguém ou alguma empresa para correr na .NET Framework, mais exactamente na CLR, que é como se chama a VM da MS. Isto significa que agora todos os programadores do mundo vão poder reaproveitar de novo os seus conhecimentos, não vão ter que reaprender outras syntaxs de linguagens, como o Java, para poderem tirar todos os beneficios deste modo de programação. Os programadores de VB poderão continuar a programar em VB, os de C ainda não foi criado o C puro para correr sobre a CLR mas já existe o C# onde a syntax é quase a mesma e tiras partido do OOP. Os programadores de Java têm o J.NET ou J#, os de COBOL o COBOL.NET, etc.. etc.. 2. Performance foi a grande falha do produto da Sun a meu ver, como os programas Java eram muito lentos quer a compilar quer a executar o produto não teve muito sucesso na industria do lazer e do comercio, como jogos, aplicações multimédia etc... Fazer uma aplicação que seja intensa em processamento gráficos é algo que desilude qualquer programador de Java, é verdade que agora com o Java 1.5 as coisas estão bem melhores mas de qualquer forma ainda fica muito longe, a meu ver. a .NET Framework veio resolver isto, chegou-se a fazer benchmarks em que jogos programados em .NET eram quase 3000% mais rápidos que os em Java, de facto a plataforma .NET foi optimizada com os algoritmos mais avançados de tal forma que aplicações .net agora em qq. linguagem podem ser quase tão rápidas como aplicações VC++. 3. A integração foi outro avanço tremendo da plataforma, com o IDE da MS virado para a .NET, agora chamado Visual Studio.NET, podes programar as tuas aplicações em qualquer linguagem e para qualquer ambiente, telemóveis, pocket pcs, pcs, a web, etc... Sim a web! Podes programar para a web em qualquer linguagem da framework no mesmo IDE, e sim é programar, o código já não é mais interpretado, em vez disso é compilado e corre directamente dentro da CLR quando é chamado pela web não deixando de o resultado para o cliente ser puro HTML. Podes criar as tuas páginas web usando o mesmo paradigma de programação, por exemplo, do VB, com Forms, arrastas labels, textboxs e no fim tens a tua página, pois existem essas coisas todas em HTML também, labels = texto puro, textboxs = inputs dos forms web. Poderia falar muito mais mas acho que não teria espaço para escrever lol, espero ter-te esclarecido, simplesmente não é possível eu resumir-te mais que isto. Vou tentar resumir da seguinte forma, hoje em dia a industria pensa que este tipo de tecnologia disponibilizada pela Microsoft vai alimentar o mercado das ITs pelos próximos 10 anos.
Cumprimentos.