Como escrevi no último post, estou em Los Angeles, para participar do PDC - Professional Developers Conference, que é um evento voltado para desenvolvedores e arquitetos de software, no qual são mostradas as tecnologias de longo prazo e tendências da plataforma de desenvolvimento da Microsoft.

Apesar do evento só começar oficialmente no dia 17, em 16/11 ocorreu o que foi chamada de “pré-conferência”, na qual foram dados workshops que ocuparam todo o dia, sobre vários assuntos. O workshop que assisti foi o Microsoft Technology Overview, apresentado por Michele Leroux Bustamante. Partiu-se do princípio de que há uma quantidade absurda de tecnologias a serem consideradas no desenvolvimento de software, fazendo com que muitas vezes não saibamos nem mesmo por onde começar. Pegue como exemplo as tecnologias de acesso a dados. No .NET Framework 1.X, devia-se escolher, basicamente, entre DataSets e DataReaders. No .NET Framework 2.0, foram introduzidos os DataSources. Já no .NET Framework 3.5, a grande atração foi o Linq To Sql. E agora, fala-se sobre o Entity Framework e o ADO. NET Data Services.  Esse é só um exemplo, sendo que muitos outros podem ser encontrados. O objetivo do workshop era equalizar o conhecimento de todas as tecnologias de desenvolvimento da Microsoft, apresentando a evolução das mesmas ao longo do tempo e algumas tendências.

Os pontos que achei interessante foram com relação às tendências para linguagens de programação na visão da Microsoft. O C# e o Visual Basic estão cada vez mais parecidos em termos de características, o que vai continuar acontecendo nas próximas versões. Ou seja, a linguagem que você escolhe para desenvolver é uma questão de gosto pessoal e deve ter pouca influência no resultado final. O que realmente importa é a plataforma sobre a qual a aplicação será executada, no caso, o .NET Framework. Outras apostas são programação declarativa, linguagens dinâmicas e programação funcional (C# e Visual Basic estão recebendo elementos de linguagens funcionais gradativamente, e o F#, uma linguagem totalmente funcional, será lançado com o Visual Studio 2010, em março do ano que vem). Outro destaque vai para computação paralela, ou seja, aproveitar da melhor forma os processadores multi-cores disponíveis atualmente no mercado, com a utilização de tecnologias e ferramentas que facilitem essa tarefa. 

Um ponto que foi reforçado durante todo o workshop foi a importância da consistência nos critérios para escolha das tecnologias a serem utilizar nos projetos. Windows Forms ou WPF? WPF ou Silverlight? Silverlight ou ASP.NET? WebForms ou MVC? Linq to Sql ou Entity Framework? Não importa qual tecnologia seja escolhida, desde que o processo de escolha seja consistente, criterioso, consciente, com base em uma sólida arquitetura e de acordo com as reais necessidades da aplicação. Caso contrário, haverá um apanhado de tecnologias e produtos cuja integração não será fácil.

Esse é um breve resumo do que foi falado, com o que eu considerei como principais pontos, mas muitos outros assuntos foram abordados, como por exemplo, acesso a dados, desenvolvimento de aplicações Windows, desenvolvimento Web e, como não poderia deixar de faltar, cloud computing e Windows Azure. Como escrevi no início, todas as tecnologias de desenvolvimento da Microsoft foram apresentadas. Como esse é um assunto extenso, o workshop, em alguns momentos, acabou ficando genérico e superficial. Além disso, para quem já tinha alguma noção dessas tecnologias, ficou um pouco cansativo, mas acredito que foi proveitoso para aqueles que precisavam se atualizar no que hoje é considerado o estado da arte tecnológico do mundo Microsoft.