Como posso "conhecer"?

8

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.

Anodeto de Aaron
fonte
7
Os tópicos de perguntas e respostas geralmente funcionam melhor quando você faz uma pergunta por vez. E algumas das perguntas específicas que você faz aqui já foram respondidas.
Aaronaught
1
"E eu sei que um zilhão de pessoas não pode estar errado e eu não sou mais esperto que as massas", eu ri. Um milhão de pessoas estão usando o JSF. Até James Gosling odeia e é péssimo. Mas ainda assim: as pessoas pensam que é um padrão e devem usá-lo.
Falcon
JSF é padrão agora? Uau. Ou devo dizer, Ow.
Michael K
Eu costumava estar com ele, mas depois eles mudaram o que era. Agora, o que estou fazendo não é , e o que me parece estranho e assustador.
AlexC #

Respostas:

9

Bem, eu quero saber também - porque ficar sem saber me faz sentir insegura e um pouco triste.

+1 por poder se expressar sem vergonha.

Eu sugeriria seguir os blogs. Se você quer "saber", siga estas pessoas

  • Coisas legais em geral: Rob Conery; Joel Spolsky, Jeff Atwood
  • MVC: Scott Hanselmann, Rachel Appel, Rob Conery (novamente)
  • .NET em geral: Scott Guthrie, Jeff Atwood, Jon Skeet

Aqueles caras e aquela garota escrevem blogs fáceis de seguir e entender. Você pode encontrá-los na Web (tente pesquisar no Google por eles)

Kristofer Hoch
fonte
5
"tente pesquisar no Google com eles" - por que não "pesquisá-los" no Google? ;)
FrustratedWithFormsDesigner
5
Eu pesquiso todos os meus googles no Bing. 1
Sam DeHaan
7
O Bing é a melhor maneira de pesquisar no Google desde o Yahoo!
Kristofer Hoch
3

Eu acho que você está fazendo boas perguntas. O que tudo se resume, para mim de qualquer maneira, está constantemente perguntando "Existe uma maneira melhor?"

Existem aborrecimentos com o uso de conjuntos de dados? Existem aborrecimentos que eu tenho ao iterar constantemente sobre uma lista de itens? Leve essa consulta ao Google e veja como outras pessoas estão fazendo isso.

Eu comparo isso com eletricistas. Fio de ouro com isolamento de algodão funcionará. Mas tem alguns problemas. Atualmente, existem métodos mais baratos e seguros para conectar uma casa (como resultado, os códigos nas cidades exigem a tecnologia mais nova.) Agora, se você contratar um eletricista, poderá encontrar um que só conheça o antigo e ele possa funciona. Ou você pode contratar um cara que esteja atualizado sobre sua tecnologia e ele fará com que ela funcione e seja mais segura.

O mesmo acontece com o código. Você pode simplesmente iniciar o Ado.Net e executar o código (e às vezes é necessário.) Mas o código será menos legível (e possivelmente menos sustentável) do que usar um ORM. A dificuldade vem em que você precisa conhecer o "caminho antigo" para entender o que está acontecendo no "caminho novo". Portanto, não use o MVC apenas porque é novo, observe seus benefícios e avalie-os contra os benefícios de fazê-lo da maneira antiga.

taylonr
fonte
Concordo com a sua observação - estou jogando catchup - no entanto, ontem tentei usar o Entity Framework e cerca de 10 minutos fui atingido por ele não suportar o tipo de dados XML - fiquei tipo .. "Nossa!" e voltou a L2S (novamente) :)
Aaron Anodide
1
Sobre conjuntos de dados - não tenho certeza se concordo com a analogia com componentes elétricos fora de moda. Digamos que me disseram para desenvolver um aplicativo de relógio de ponto (eu era) para meu empregador - Usando nada além do designer de formas de win e do designer de conjunto de dados que concluí em um dia. Não escrevi nenhum código de acesso a dados - tudo foi gerado. Eu não tenho testes porque não fiz nada que eu poderia ter estragado. Estou tendo problemas para entender por que eu desejaria tornar minha vida mais difícil escrevendo consultas LINQ e classes parciais para criar uma camada de dados que seja um verdadeiro "modelo".
Aaron Anodide 5/08
Você nem sempre quer, e esse é um bom ponto. Você tem que avaliar cada caso e ver quando é apropriado. Estou em vários projetos que, se eu tivesse que fazer um trabalho de conjunto de dados, ficaria louco. Mas também escrevi aplicativos em que o ado.net era a maneira mais rápida e fácil.
taylonr