3/31/2008

Desenvolvedor, a Microsoft e a Sun querem seus miolos! - Parte 2

Então...


Vou retomar assunto com algumas características que eu não havia entrado no detalhe porque não era a hora ainda. Eu já havia dito que algumas vantagens da plataforma Java era o fato de ser orientada à objetos e ser executada em uma máquina virtual, sendo multiplataforma. Nessa época o Linux não tinha a evidência que tem hoje, por que ser multiplataforma era importante?

Como eu disse, a própria Microsoft sofria com as diferentes versões dos seus sistemas, por exemplo, o Windows 95, o 98 e o ME eram baseados no mesmo kernel e o espaço ocupado em disco foi crescendo a cada uma dessas versões: 55 MiB, 300 MiB e 400 MiB respectivamente. Não foi apenas o suporte a hardware e as melhorias da cada versão que causaram esse crescimento, também era necessário garantir que um software desenvolvido para rodar no Windows 95 fosse compatível as as demais versões. Além do kernel 9x a Microsoft também mantinha o kernel NT que sofreu do mesmo mal: o NT 3.51 ocupava 90 MiB, o NT 4.0 ocupava 110 MiB, o Windows 2000 ocupava 650 MiB, o Windows XP 1.5 GiB e o Windows Vista 15 GiB. Quando ao XP e ao Vista, o problema se repete mas vamos fazer justiça, em comparação com seus predecessores estas versões sofreram mais mudanças que as demais, fazendo que a diferença de tamanho seja mais pelas melhorias do que pela retrocompatibilidade. Mais detalhes sobre as comparações entre as versões do Windows podem ser vistas aqui.

A arquitetura da plataforma Java poderia ser uma resposta a esse problema, mas a plataforma era propriedade da Sun e a Microsoft não iria entregar o futuro do seu sistema nas mãos de um concorrente, nem a Sun iria deixar seu produto ser modificado a pela concorrência, a colisão foi inevitável. Tanto a Microsoft quando a Sun violaram um o espaço uma da outra, mas quando se trata de disputa de mercado, não é algo tão assombroso assim.

.NET Framework


A Sun queria fazer sua plataforma ser totalmente independente do sistema operacional, a Microsoft queria torná-lo mais próximo do Windows, as diferenças entre as empresas fez que a Microsoft abandonar Java. Mas fazia falta no uma boa plataforma orientada à objetos, mais segura e que pudesse disponibilizar aplicações independente de versão do Windows em que estivesse sendo executada, estas e outras características que o Visual Basic e outras linguagens que a Microsoft tinha em seu catálogo não ofereciam, ou pelo menos não completamente.

A resposta foi a criação do .NET Framework, que segundo a própria Microsoft é definido como:

A CLR (Common Language Runtime) está para o .NET Framework como a JVM esta para a plataforma Java. Do ponto de vista do desenvolvedor, para uma aplicação .NET o sistema operacional é o Framework (se a aplicação for construída apenas com bibliotecas .NET). O .NET Framework é independente de linguagem, na verdade funciona assim: ao se compilar um código, o compilador não gera um arquivo binário (que seria executado nativamente pelo S.O. instalado na máquina), o compilador converte o código (VB, C#, J#, Python, etc) em um Assembly na linguagem MSIL (Microsoft Intermediate Language) e este código é o código que é executado pela CLR.

Outra grande novidade que o framework trouxe, foi a linguagem C#. A linguagem foi criada por Anders Hejlsberg, seu objetivo é ser uma linguagem simples, ela trouxe para o universos das linguagens da Microsoft muitas funcionalidades das linguagens Java e Delphi, além de incorporar outras que a diferenciavam dessas linguagens.

Ruptura cultural ou "Miolos"!


Mesmo do ponto de vista do universo Microsoft, a tecnologia .NET é um novo paradigma. E como sempre, uma mudança cultural deste porte era óbvio que encontraria resistência, mesmo entre os desenvolvedores já acostumados com as ferramentas Microsoft. Por isso era preciso uma estratégia arrojada para ganhar as mentes dos desenvolvedores (viu, sempre os desenvolvedores).

A melhor forma e ganhar o mercado é capacitar o maior número possível de desenvolvedores, e torná-los capazes de atender a grande maioria das pequenas soluções que o comércio e as empresas em geral necessitam. Uma vez que este mercado esteja inundado de aplicações .NET tem-se uma fatia de mercado, o problema é que a Microsoft não tinha apenas a Sun como concorrente, aliás, neste mercado a tecnologia da Sun seria seria a menor das suas preocupações, a maior concorrente da Microsoft neste mercado é ela mesma, pois a grande maioria das soluções deste mercado foram desenvolvidas em Visual Basic 6 e até hoje há muitas delas em produção. Para isso a Microsoft tratou de adaptar o Visual Basic para o universo .NET e assim nasceu o Visual Basic .NET.

A pergunta é, quais as ferramentas a Microsoft dispõe para ganhar os desenvolvedores?

Vou me limitar a escrever sobre as ferramentas que eu julguei estarem na base dessa estratégia.

MSDN


O que falar sobre o portal da Microsoft para desenvolvedores? O MSDN (Microsoft Developers Network) é um portal onde profissionais que atuam com as tecnologias da Microsoft podem trocar informações, publicar artigos (desde programação passando por, metodologias, qualidade de software, carreira, segurança, é possível achar artigos sobre qualquer coisa relacionada as tecnologias Microsoft), divulgar eventos e muito mais, tanta coisa que fica difícil resumir isso em um parágrafo.

O importante é destacar que é muita documentação, as vezes até ficamos um pouco perdidos, mas o fato é que é possível encontrar uma dica para quase todos os problemas que no deparamos no dia-a-dia, é impossível para um desenvolvedor que use alguma ferramenta ou linguagem da Microsoft viver sem ter acessado pelo menos uma vez na vida o MSDN.

ASP.net


O portal www.asp.net é outra excelente fonte de informação. Voltado para o desenvolvimento de tecnologias web, este portal é rico em dicas e tutoriais, com destaque especial aos vídeos da série learnvisualstudio.net, é possivel aprender a construir um pequeno site apenas seguindo as 14 vídeo-aulas disponíveis neste portal. Indispensável.

Ferramentas Express Editions


Bom, todos sabem que a Microsoft é uma empresa tradicional que trata o software como um produto a ser vendido, contudo a sua principal ferramenta de desenvolvimento é o Visual Studio, e dada a qualidade deste produto, mais a quantidade de funcionalidades, seu preço não é nada convidativo. Mas como ganhar as mentes dos jovens desenvolvedores? Dos estudantes?

Para atender a este público a gigante de Redmond "mutilou" o Visual Studio (a partir da versão 2005) e criou uma versão grátis para cada linguagem que o produto principal tem suporte, desta forma nasceu a linha Express Edition: Visual Basic Express, Visual C# Express, Visual C++ Express, Visual Web Developer Express. Eu disse "mutilou", porque há funcionalidades presentes no Visual Studio que não estão nas ferramentas Express, mas não faça julgamentos precipitados, mesmo sem todas as funções do "pai" as ferramentas Express formam um poderoso conjunto de ferramentas para os desenvolvedores iniciantes.

Mas uma aplicação de verdade não é nada sem um banco de dados. O Microsoft SQL Server 2000 já possuía uma versão grátis reduzida que se chamava MSDE (Microsoft SQL Server Desktop Engine, e não, eu não esqueci de um S na sigla), contudo esta versão era muito limitada, sendo muito pouco utilizada. Com o lançamento da versão 2005 do seu banco de dados a Microsoft lançou SQL Server 2005 Express, apesar de ter algumas limitações quando comparada com a versão completa, esta versão possibilita o desenvolvimento de uma aplicação comercial, totalmente funcional, sem custo.

Aliás, é importante destacar que a licença de todas as ferramentas Express, pertmitem que os desenvolvedores que as utilizarem vender seus produtos e serviços, desde que não se este não desenvolva plugins, extenções ou qualquer coisa que modifique ou adicione funções as ferramentas Express.

Do que eu não falei?


Neste artigo me limitei a citar apenas as bases da estratégia da Microsoft, e com o foco nas edições 2005 dessas ferramentas. Junto com as edições 2008, a Microsoft inundou o mercado com outras ferramentas para atacar outros segmentos e outros concorrentes: Silverlight, Expression, PopFly, e tantas outras novas tecnologias. A Microsoft atua em tantas áreas que é impossivel fazer justiça em um humilde post de um blog.

E o Java?


Na próxima e última parte desde artigo volto para a Java.


Esta obra está licenciada sob uma Licença Creative Commons.

Creative Commons License


Interessado em aprender mais sobre o Ubuntu em português?