Minha empresa publicou uma lista de empregos para me ajudar. Um recrutador me ligou hoje e tudo o que ele dizia era "MVC this Entity Framework that ..." - Ele ficou chocado quando eu disse que o projeto usa DataSets e Linq2Sql sobre WinForms e ASP.NET WebForms.
Então eu estava procurando opções para testes automatizados de sites e me deparei com isso aqui : e comecei a ficar agitado.
A maioria das pessoas "conhecedoras" está usando camadas de apresentação para tornar o ASP.NET tão fino que uma ferramenta como o NUnitAsp não é útil.
Essa pessoa tem conhecimento e seus amigos aparentemente estão sabendo. Eu também quero saber, porque ficar sem saber me faz sentir insegura e um pouco triste.
Nos meus esforços no ano passado para acompanhar os tempos, percebi grandes benefícios do Linq2Sql e do contêiner Unity. Ambos não eram nada além de bons para mim - preenchendo lacunas que me são aparentes há séculos.
Depois, mudei para o Model-View-Preseneter para GUIs do WinForms e fiquei novamente muito feliz com isso pelo mesmo motivo - já vinha me perguntando há muito tempo como separar as coisas para que eu pudesse ter um cliente espesso e uma Web. O cliente compartilha sua lógica comum em uma base de código comum.
No entanto, estou lutando com o seguinte. E sei que um zilhão de pessoas não pode estar errado e não sou mais esperto que as massas, mas preciso de ajuda para ver:
- MVC como a evolução dos WebForms
- WPF como a evolução do WinForms
- Entity Framework como a evolução do Linq2Sql (e, nesse caso,
a descontinuação de conjuntos de dados)
(Suspeito que tudo decorra da minha falta, até o momento, de obter o Teste Fahrvergnügen)
Assim, eu tenho me perguntado, e não ouvi uma resposta para:
- O que ganho com o MVC em um aplicativo Web? Eu sei que ganho artefatos de código fonte adicionais e um novo DSL para aprender. O quê mais?
- O que aconteceria se eu usasse objetos WPF sem o padrão MVVM? Eu estaria prejudicando minhas chances de conseguir um emprego em outro lugar?
- Por falar nisso, o WinForms está realmente quebrado? Sou eu ou o Visual Studio tem um atraso visual perceptível na minha máquina dual core de 2,8 GHZ com 8 Gigs de RAM? Eu gosto de mal-humorado. Eu quero que os usuários finais experimentem instabilidade o tempo todo, sem falhas.
- Por que os conjuntos de dados são "da maneira antiga"? Eles parecem rápidos, eficientes e sucintos para muitos problemas de tamanho pequeno a médio que eu tenho que resolver (ainda não estão no Silverlight).
Eu sinto que uma grande pilha de complexidade está no prato e espalhá-lo não o fará desaparecer. A quantidade intrínseca de complexidade precisa ser enfrentada de frente, e talvez a engenharia de software deva se tornar mais como engenharia elétrica ou engenharia mecânica ou cirurgia cerebral.