Arquivo de março \30\UTC 2011

Por que não contratar programadores .Net?

Li esse post durante a semana e não consegui concordar nem discordar. Twittei e recebi uma trollada de volta. Normal.  Então vou tentar, aqui, explicar o que pensei/penso.

Em primeiro lugar, o autor do post, com certeza, nunca programou em C# e não faz idéia do quanto a plataforma evoluiu. Passamos de uma arquitetura component-based, com WebForms, para um framework MVC muito bom e extensível, que é o ASP. Net MVC, enquanto o Java, por exemplo, seguiu o caminho inverso. E taí uma plataforma e comunidade que vem se degradando a cada dia. Component-based a essa altura do campeonato é demais pra mim. Se considera um bom programador? Quer evoluir? Então saia dessa!

No início, a “guerra” era Java x .Net e muitos bons frameworks existentes em Java foram portados para .Net, o que fez a plataforma evoluir MUITO. Nada melhor que aprender através da experiência dos outros e não ficar reinventando a roda. Por exemplo, trabalho hoje em um projeto com alguns frameworks que vieram do Java e posso afirmar que você também. Listando alguns: NHibernate, NUnit e log4net.

A “guerra” hoje não é mais .Net x Java, e sim Todos x Ruby on Rails (cuidado com o javascript!).
Quais são os bons frameworks para desenvolvimento de apps web em Java e .Net? Em Java, só escuto falar de VRaptor e em .Net, como já mencionei, ASP. Net MVC. Sabe da onde vieram ambos? Foram inspirados pelo Rails. Em Ruby, é possível instalar gems via linha de comando enquanto em .Net posso usar o NuGet para fazer o mesmo. Ok. Sou noob em RoR. Falei besteira? Pode xingar.

Agora que falei um pouco da tal guerra entre as tecnologias, agora vamos ao post.

Veja que o autor do post fala tudo dentro de um contexto: startups. (Nunca trabalhei em uma startup. Coincidência?)

Quais são as dificuldades de uma startup? Eu imagino que grana seja uma delas. Visual Studio é massa? É, mas só roda no Windows. Licença do Windows é barata? Não. E do Visual Studio? Também não. E não venha me falar de SharpDevelop. Tem que comer muito feijão com arroz ainda.

Acho que o único ponto com o qual realmente discordo do post:

“Programming with .NET is like cooking in a McDonalds kitchen.  It is full of amazing tools that automate absolutely everything.  Just press the right button and follow the beeping lights, and you can churn out flawless 1.6 oz burgers faster than anybody else on the planet.

However, if you need to make a 1.7 oz burger, you simply can’t.  There’s no button for it. The patties are pre-formed in the wrong size.  They start out frozen so they can’t be smushed up and reformed, and the thawing machine is so tightly integrated with the cooking machine that there’s no way to intercept it between the two.  A McDonalds kitchen makes exactly what’s on the McDonalds menu — and does so in an absolutely foolproof fashion.  But it can’t go off the menu, and any attempt to bend the machine to your will just breaks it such that it needs to be sent back to the factory for repairs.

See, Microsoft very intentionally (and very successfully) created .NET to be as different as possible from everything else out there, keeping the programmer far away from the details such that they’re wholly and utterly dependent on Microsoft’s truly amazing suite of programming tools to do all the thinking for them.

Esses trechos destacados em negrito mostram o quanto ele NÃO conhece a plataforma. Concordo que por muito tempo (enquanto WebForms era a única opção), boa parte da comunidade (qual comunidade? onde?) só sabia usar o mouse, arrastar controles numa página, clicar no controle e escrever o código do evento. Um caminho que não sei por que cargas d’água o Java tentou seguir – pior, sem nenhuma ferramenta comparável ao VS  - , com o JSFail (parafraseando o @cmilfont), e que o RoR nem cogitou trilhar.

Mas como ele pode afirmar que .Net é algo completamente diferente de tudo que se faz em outras plataformas? Citei no começo do post alguns frameworks que vieram do Java e conheço muitos outros. Então a pergunta é: hein!?

Por que não é possível criar “1.7 oz burger”? Simples. Por que o autor não conhece a plataforma. Realmente, assim não dá pra fazer nem um pão com ovo.

Sobre a maioria dos programadores .Net, concordo com uma frase de outro post que li semana passada:

“.Net programmers are largely Enterprise programmers who are not constitutionally constructed to create large scalable websites at a startup pace.”

Não tenho como discordar. E, por favor, leia direito a frase e não me xingue.

Pelo custo de um ambiente .Net, fica difícil que startups o adotem, como mencionei antes (Windows Server 2008, VS2010, TFS, etc etc etc).

Bom, era isso. Vou twittar o post. Se quiser xingar ou trocar idéias lá, faça. Mas prefiro aqui. Não tem limite de caracteres.

Abraço.


 

março 2011
S T Q Q S S D
« out    
 123456
78910111213
14151617181920
21222324252627
28293031  

Seguir

Obtenha todo post novo entregue na sua caixa de entrada.