Tenho acompanhado a migração do Samir do .Net Framework para o Ruby On Rails em seu blog. Respeito sua decisão de partir para uma tecnologia e acredito que existe espaço para o crescimento do Ruby on Rails no mundo do desenvolvimento, embora ainda não se possa dizer o tamanho e posicionamento deste espaço.
Em seu último post ele apresenta alguns argumentos pelos quais ele considera a plataforma .Net (especificamente o ASP.Net) inferior que o RoR para desenvolvimento web. Não concordo com os seus argumentos e gostaria de colocar alguns pontos explicando melhor minha opinião.
Um dos agumentos seria que o .Net estaria se tornando um gigante incompleto. Antes de discutir isto, temos que separar o .Net Framework das ferramentas ao seu redor. Para mim o Framework em si está cada vez mais maduro, sem mudanças radicais nem crescimento desordenado.
Por outro lado o ecossistema ao redor do .Net está crescendo bastante, com ferramentas Open source e proprietárias. O fato de existirem várias alternativas e ferramentas “competindo” entre si para mim é uma qualidade e não um demérito. A diversidade é uma grande impulsora da inovação, além de nos dar opções de escolha.
Com certeza, algumas destas ferramentas estão e ficarão incompletas, isto faz parte do processo de desenvolvimento Open Source. Alguns projetos, que despertam mais interesse ganham adeptos e usuários, outros, sem tanto apelo, são abandonados. Isto ocorre em todas as comunidades, inclusive na comunidade ao redor do Ruby.
A evolução do C# também não pode ser considerada como negativa. Se você olhar a lista das novidades do C# 3 nenhuma delas quebra o atual modelo de programação. Ou seja, você não precisa mudar seu dia-a-dia, se não quiser. Ao mesmo tempo você poderá evoluir à medida que o uso destas novas funcionalidades for interessante.
Um terceiro ponto seria que com o RoR fica mais fácil aplicar práticas ágeis. Existe uma comunidade bem grande desenvolvendo .Net com metodologias ágeis. Não é dificil, pelo contrário, existem todas as ferramentas necessárias, até de refactoring ;)
Em seu comentário, o Aguinelo afirma que o ASP.Net te prende muito a “metodologia Microsoft” (não sei bem o que significa isto). Mas acho que justamente a grande vantagem do .Net é justamente a liberdade e o poder que ele nos dá. Você não fica nem preso ao ASP.Net, é possível utilizar frameworks alternativos como o Monorail, ou até criar o seu próprio. Não gostou do C# 3.0? Prefere desenvolver em linguagem dinâmica? Faça a sua própria, como fizeram com o IronPhyton, Vista Smalltalk, ou o boo.
A coisa não é tão livre assim no Ruby on Rails. A sua facilidade de uso vem justamente de sua arquitetura pré-definida. Se você tentar “inventar” muito vai se dar mal. Por exemplo, o acesso a dados é feito através do design pattern Active Record. Se você quiser uma camada de negócios mais robusta, que não conheça nada da persistência de dados (estilo Domain Driven Design) parte das facilidades do RoR não estarão disponíveis.
É justamente este poder do .Net Framework que vai permitir em pouco tempo o RoR rodar sobre a plataforma .Net. Ou quem permitir florescer uma terceira opção, agregando o que há de melhor nos diversos frameworks web que surgiram recentemente.
Para quem tem interesse no assunto, segue uma thread interessante no blog do Scott Bellware.