NET 3,5 publicada em 11/07 .NET 3.0 em 11/06. Por que a maioria das pessoas ainda usando NET 2.0? [fechadas]

StackOverflow https://stackoverflow.com/questions/157055

Pergunta

As pessoas têm vindo a desenvolver soluções próprias para os seguintes problemas:

  • quadros de mensagens consistentes para troca de informação remota (webservices, rpc, ...)
  • SDK é para administrações estaduais para coisas como Finite State Machines e Fluxos de Trabalho
  • Autenticação Frameworks
  • E muito mais.

Por mais de dois anos agora, a Microsoft oferece o .NET 3.0 que contém Fundações consistentes e bem documentado chamados para fluxos de trabalho, Comunicação, Autenticação e uma nova forma de aplicativos de construção da web.

No entanto, ... as pessoas ainda estavam construindo próprias estruturas com mapeamento relacional consistente objeto para resolver as suas bases de dados, próprias técnicas para estender dinamicamente classes e métodos em tempo de execução (para o cliente para ser capaz de personalizar o comportamento da aplicação, por exemplo).

Para mais de um ano agora, a Microsoft oferece NET 3.5 que - entre outros - contêm LINQ e por isso um grande ORM e meio maravilhoso para estender seu código e torná-lo muito mais fácil de escrever código depois de tudo .

Mas olhe em volta ... parece que a maioria ainda usa .NET 2.0. Sites são criados em ASP.NET simples. experiência de desktop ainda é conseguido com uma combinação de CSS, JavaScript e HTML. Executáveis ??estão usando WinForms antigos simples, os fluxos de trabalho são implementados com delegados, eventos, do / while e switch / case.

Sem muito discussão, eu ficaria feliz em ver razões concretas para a seguinte pergunta:

Na sua opinião:? Por que é que as pessoas não saltar para o trem NET 3.5

Foi útil?

Solução

  1. Requer aprender coisas novas, muitos 'apenas um trabalho dos desenvolvedores LOB não pode ser incomodado.
  2. investimentos código legado, podem não ser necessários os sistemas personalizados, mas eles trabalham, recodificação coisas para usar sistemas baseados Framework é um desperdício de tempo se o sistema existente não está quebrado.
  3. custo software
  4. Dev. Codificação de forma eficaz em .net 3.x realmente requer VS2008. Atualizando toda uma equipe de desenvolvedores para que a partir de 2005 o custo poder.
  5. Estabilidade. 2.0 era uma evolução do Quadro 1.1. 3.0 e 3.5 incluem novas tecnologias v1, (aqueles que você listou). Desenvolvedores gostam de ver as tecnologias provar-se antes que possam justificar a seus gerentes que o que vale o salto. Tal como acontece com a adoção do Windows, você provavelmente vai ver mais pessoas indo de VS2005 para VS2010 e .net 2.0 para .NET 4.0, uma vez que irá conter v2 das tecnologias 3.x.

Outras dicas

Pela mesma razão que eu sei desenvolvedores Java que ainda código em Java 1.4-- mudança é caro e, para as pessoas que fazem o trabalho interno para empresas onde conseguir o feito é muito mais importante do que a utilização de novas tecnologias, muitas vezes sem sentido.

Para um monte de trabalho interno há pouca justificativa para atualizar aplicativos mais antigos para trabalhar em ambientes mais recentes.

Além disso, grandes corperations não gostam de qualquer tipo de mudança para várias questões de estabilidade, você ainda vai encontrá-los a tomar decisões de usar tecnologia mais antiga em novas soluções simplesmente porque eles acreditam que a nova tecnologia não é suficiente estável, não se sabe o suficiente sobre isso ou não o suficiente do software que contar com o apoio dela.

E, eu nunca usei isso para que eu não poderia dizer, mas pode ser o caso que o .NET 2 é bom o suficiente para as necessidades das pessoas, e que o .NET 3.5 não oferecer o suficiente para warrent a aprendizagem / mudança que está envolvido, mesmo para empresas que são OK com a ponta mais.

Porque não é bem suportado empresas de hospedagem web.

Estou desenvolvendo uma nova aplicação web, mas minha empresa de hospedagem só fornece suporte ASP.NET 2.0.

Se você quiser suporte Windows 2000, você vai ter que ficar com .NET 2.0. Não é tão ruim assim mesmo.

Eu posso falar por mim e minha empresa. Nós ainda não usá-lo. Por quê? Bem
1 - A maioria dos nossos usuários já têm NET 2.0 instalado. Não há necessidade de instalar outro quadro.
2 - Nós não vai mudar só porque é a coisa nova. Tem de adicionar algum valor.
3 - Para realmente valham a pena a mudança significaria uma enorme quantidade de work.Again, tem que pagar.
4 - Ainda é cedo para dizer se vale a pena (um ano não é suficiente) em termos de bugs e novos problemas. Parece vale a pena, no entanto.

.NET 3.0 continha coisas que foram excelentes para novos projetos, mas que muitos projetos existentes não gostaria de tomar por causa da atualização -. Isso exigiria retrabalho significativo para integrar qualquer um deles

Quanto a isto:

Por mais de um ano agora, a Microsoft oferece NET 3.5

De que forma é novembro 2007 mais de um ano atrás? Sim, NET 3.5 é grande e eu amor LINQ (particularmente LINQ to Objects) e os benefícios do C # 3.0 - mas há sempre um custo envolvido com a mudança. Para começar, há o custo de lançamento de Visual Studio 2008. Depois, há o custo de testar novamente tudo contra .NET 3.5 (e agora .NET 3.5SP1). Depois, há o custo de implantação de .NET 3.5 para todos os servidores, ou o custo de exigir NET 3.5 em todos os clientes. Oh, para não mencionar o custo de realmente aprender a usar todas as novas tecnologias de forma produtiva.

Isso vai acontecer, mas você não deve esperar que ele seja muito rápida.

Para adicionar mais uma nota para o que @ SCDF disse, qualquer empresa com uma equipe de TI significativa, que não é desenvolvedor centric (ou seja, a maioria), normalmente é fortemente resistente a novas tecnologias.

Os departamentos de TI tendem a ficar para trás do ponto de vista desenvolvedores porque eles não vêem o valor de negócio na atualização para o novo sistema / hardware apenas para ficar à frente da curva. Está lidando muito ocupado com segurança e manutenção (real ou apenas percebida) para lidar com os desenvolvedores tentando levá-los para atualizar para o .Net 3.5.

Os desenvolvedores também são notoriamente ruim em se comunicar com outros departamentos sobre o valor do negócio. Quando um desenvolvedor tenta obtê-lo, ou o negócio a bordo com a atualização para o .Net 3.5 que eles começam a falar sobre os fluxos de trabalho automatizados e XML e Web Services em vez de falar dólares e centavos.

Brian Príncipe da Microsoft tem uma boa apresentação em "Soft Skills" que vai sobre algumas dessas . Se você perguntar-lhe bem, ele só poderia vir a sua empresa e presente:)

Eu pedi um gerente em uma empresa anterior porque ele não tinha feito a troca, no entanto, a resposta foi "Eu não quero ter que suportar três enquadramentos", ou seja 1.1, 2.0, 3.5.

I explicado que a actualização de 3,5 não foi a mesma que a mudança de 1,1 a 2,0 (3,5 é uma extensão de 2,0 usando uma dll diferente (Core.dll), não uma dll actualizado como 1,1 a 2,0).

Eu posso ver um monte de gestores que utilizam esta linha de pensamento, então cabe a você para que eles saibam!

2.0 funciona, certo? Eu acho que a coisa mais recente é grande e esfriar e eu gostaria de ficar-se na mais recente, mas no final do dia, se ele funciona, muitas vezes a decisão é para ficar com o que você tem. Apoiei uma loja que correu 6,2x programas DOS durante anos (até 2004) e eu uso para coçar a cabeça sobre ele. Mas no final do dia, não havia nenhuma razão de negócio atraente nesse caso que gastar nada para avançar.

Estou certo de que há outras razões também.

Para todos os novos projectos I tentar usar 3.5 (ou qualquer que seja o mais novo quadro é). Mas todos os sites antigos, por que os clientes pagam para uppgrading quando ele funciona?

Se você quiser tecnologia específica em 3,5, então uppgrade, mas a menos; não consertar o que não está quebrado ..

Eu estaria interessado em ver quanto tempo 2.0 estava fora antes que ficasse "quota de mercado maioria" - quer dizer, 1 ou 2 anos pode parecer muito tempo para você e para mim, mas você tem que lembrar a nova linguagem tem de ser lançado, em seguida, as pessoas têm de trem sobre ele, então eles têm de saber bem o suficiente para "vender" para a gestão. Além disso, VS2005 era "bom o suficiente" para algumas pessoas, e não há custo envolvido na atualização para o VS2008 para apoiar as versões linguísticas mais recentes -. Não apenas dinheiro, mas o tempo

A mesma razão a maioria das pessoas ainda estão usando o Windows XP!

A poucos empregos atrás, eu estava em uma situação interessante. Como o autor original de serviços web ASMX da empresa, fui questionado sobre versionamento eles. Houve preocupação particular que eu tinha baseado os serviços em um XSD feitos à mão e que ninguém realmente entendeu XSD que bem.

I recomendado o uso de WCF, como eles não terão formatos XML personalizados, e não terá que jogar com XSD, ou:. Apenas definir um contrato de dados em código

Mesmo depois que eu expliquei que o .NET 3.5 SP1 quantidades a um par de pacotes de serviços para .NET 2.0, além de algumas novas assembléias, eles ainda me olhou como se eu estava prestes a se tornar violento. Obviamente, atualizar versões .NET é um processo demorado e caro . Lições do .NET 1.1 .NET ot 2.0 migração.

Um pequeno passo na direção certa, tanto quanto migração para WCF: veja ASMX web Services são uma‘Tecnologia legacy’.

Para o processamento de governo, o quadro 3.5 ainda não está aprovado para alguns ambientes para que você é forçado a usar 2.0 ou 3.0.

O maior desafio é justificar o upgrade para o negócio, especialmente agora que estamos em uma recessão global.

Não teria que ser uma vantagem específica ou tecnologia em 3,5 que seu projeto (provavelmente greenfield) absolutamente não pode prescindir, para empurrar para ele.

Eu estou tentando montar um caso para ele em uma grande empresa, então os benefícios do negócio devem fora pesar o status quo. No clima atual, 'mantendo talento só não vai cortá-lo também, especialmente com um pool crescente de candidatos em geral.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top