.NET 3.5 publicado en 11/07 .NET 3.0 en 11/06. ¿Por qué la mayoría de la gente sigue usando .NET 2.0? [cerrado]

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

Pregunta

La gente ha estado desarrollando soluciones propias para los siguientes problemas:

  • Marcos de mensajería coherentes para el intercambio de información remota (servicios web, rpc, ...)
  • SDK's para administraciones estatales para cosas tales como máquinas de estados finitos y flujos de trabajo
  • Marcos de autenticación
  • Y mucho más.

Durante más de dos años ahora, Microsoft ofrece .NET 3.0 que contiene los fundamentos para flujos de trabajo, comunicación, autenticación y una nueva forma de crear aplicaciones web.

Sin embargo, ... las personas aún estaban creando sus propios marcos con mapeo relacional de objetos consistente para abordar sus bases de datos, técnicas propias para extender dinámicamente las clases y los métodos en tiempo de ejecución (para que el cliente pueda personalizar el comportamiento de la aplicación, por ejemplo).

Durante más de un año ahora, Microsoft ofrece .NET 3.5 que, entre otros, contiene LINQ y, por lo tanto, un excelente ORM y medios maravillosos para ampliar su código y hacer que sea mucho más fácil escribir código después de todo. .

Pero mire a su alrededor ... parece que la mayoría todavía usa .NET 2.0. Los sitios web se crean en ASP.NET plano. La experiencia de escritorio aún se logra con una combinación de CSS, JavaScript y HTML. Los ejecutables están utilizando WinForms antiguos, los flujos de trabajo se implementan con delegados, eventos, do / while y switch / case.

Sin demasiada discusión, me gustaría ver razones concretas para la siguiente pregunta:

En su opinión: ¿por qué la gente no se sube al tren .NET 3.5?

¿Fue útil?

Solución

  1. Requiere aprender cosas nuevas, muchos desarrolladores LOB 'solo un trabajo' no pueden ser molestados.
  2. Las inversiones en código heredado, los sistemas personalizados pueden no ser necesarios, pero funcionan, recodificar cosas para usar sistemas basados ??en Framework es una pérdida de tiempo si el sistema existente no está roto.
  3. costo de software de desarrollo. La codificación efectiva en .net 3.x realmente requiere VS2008. Actualizar a un equipo completo de desarrolladores a partir de 2005 podría costar.
  4. Estabilidad. 2.0 fue una evolución del marco 1.1. 3.0 y 3.5 incluyen nuevas tecnologías v1, (las que enumeró). A los desarrolladores les gusta ver que las tecnologías se prueban a sí mismas antes de que puedan justificar ante sus gerentes que vale la pena el salto. Al igual que con la adopción de Windows, es probable que veas más personas que van de VS2005 a VS2010 y de .net 2.0 a .net 4.0, ya que contendrán v2 de las tecnologías 3.x.

Otros consejos

Por la misma razón que conozco a los desarrolladores de Java que aún codifican en Java 1.4: el cambio es costoso y, para las personas que realizan trabajos internos en compañías en las que Get It Done es mucho más importante que usar nuevas tecnologías, a menudo sin sentido.

Para una gran cantidad de trabajo interno, hay poca justificación para actualizar aplicaciones antiguas para que funcionen en entornos más nuevos.

Además, a las grandes corporaciones no les gusta ningún tipo de cambio por varios problemas de estabilidad, todavía las encontrará tomando la decisión de usar tecnología antigua en nuevas soluciones simplemente porque creen que la nueva tecnología no es lo suficientemente estable, no se sabe lo suficiente sobre esto o no lo suficiente del software en el que confían lo respalda.

Y, nunca lo usé, así que no podría decirlo, pero puede ser el caso de que .NET 2 sea lo suficientemente bueno para las necesidades de las personas, y que .NET 3.5 no ofrezca lo suficiente para garantizar el aprendizaje / el cambio está involucrado, incluso para las empresas que están de acuerdo con las más avanzadas.

Debido a que no está bien soportado las empresas de alojamiento web.

Estoy desarrollando una nueva aplicación web, pero mi empresa de alojamiento solo brinda soporte para ASP.NET 2.0.

Si desea soporte de Windows 2000, tendrá que quedarse con .NET 2.0. No es tan malo de todos modos.

Puedo hablar por mí y por mi compañía. Todavía no lo usamos. ¿Por qué? Bien

1 : la mayoría de nuestros usuarios ya tienen instalado NET 2.0 Framework. No es necesario instalar otro framework.
2 : no cambiaremos solo porque es lo nuevo. Tiene que añadir algún valor.
3 : realmente pagar el cambio significaría una enorme cantidad de trabajo. Una vez más, tiene que pagar.
4 : es demasiado pronto para saber si vale la pena (un año no es suficiente) en cuanto a errores y nuevos problemas. Aunque parece que vale la pena.

.NET 3.0 contenía cosas que eran geniales para los nuevos proyectos, pero que muchos proyectos existentes no querrían tomar por el simple hecho de actualizarlos, requeriría un retrabajo significativo para integrar cualquiera de ellos.

En cuanto a esto:

  

Desde hace más de un año, Microsoft ofrece .NET 3.5

¿De qué manera es noviembre de 2007 hace más de un año? Sí, .NET 3.5 es excelente y me encantan LINQ (particularmente LINQ to Objects) y los beneficios de C # 3.0, pero siempre hay un costo involucrado con el cambio. Para empezar, está el costo de implementar Visual Studio 2008. Luego está el costo de volver a probar todo contra .NET 3.5 (y ahora .NET 3.5SP1). Luego está el costo de implementar .NET 3.5 en todos los servidores, o el costo de requerir .NET 3.5 en todos los clientes. Ah, sin mencionar el costo de aprender realmente a usar todas las nuevas tecnologías de manera productiva.

Sucederá, pero no debes esperar que sea muy rápido.

Para agregar una nota más a lo que @ SCdF dijo, cualquier compañía con un personal de TI importante, eso no es Centrado en el desarrollador (es decir, la mayoría), suele ser muy resistente a las nuevas tecnologías.

Los departamentos de TI tienden a quedarse atrás desde el punto de vista de los desarrolladores porque no ven el valor empresarial en la actualización a nuevos sistemas / hardware solo para mantenerse a la vanguardia. TI está demasiado ocupado lidiando con la seguridad y el mantenimiento (real o simplemente percibido) para tratar con los desarrolladores que intentan que se actualicen a .Net 3.5.

Los desarrolladores también son notoriamente malos en la comunicación con otros departamentos sobre el valor comercial. Cuando un desarrollador intenta obtener TI, o el Business on board con la actualización a .Net 3.5, comienzan a hablar sobre flujos de trabajo automatizados y XML, y Servicios web en lugar de hablar de dólares y centavos.

Brian Prince de Microsoft tiene una muy buena presentación sobre " Soft Skills " que pasa por algo de esto Si le preguntas amablemente, puede que venga a tu compañía y te presente :)

Le pregunté a un gerente de un empleador anterior por qué no había hecho el cambio todavía, la respuesta fue: "No quiero tener que admitir tres marcos", " significado 1.1, 2.0, 3.5.

Le expliqué que actualizar a 3.5 no era lo mismo que cambiar de 1.1 a 2.0 (3.5 es una extensión de 2.0 que usa un archivo DLL diferente (Core.dll), no un archivo DLL actualizado como 1.1 a 2.0).

Puedo ver a muchos gerentes usando esta línea de pensamiento, ¡así que depende de ti dejarles saber!

2.0 funciona, ¿verdad? Creo que las cosas más nuevas son geniales y geniales y me gusta estar al tanto de lo último, pero al final del día, si funciona, a menudo la decisión es seguir con lo que tienes. Apoyé una tienda que ejecutaba programas de DOS 6.2x durante años (hasta 2004) y lo uso para hacerme caso. Pero al final del día, no había ninguna razón comercial convincente en ese caso para gastar algo para avanzar.

Estoy seguro de que también hay otras razones.

Para todos los proyectos nuevos, trato de usar 3.5 (o cualquiera que sea el marco más nuevo). Pero en todos los sitios antiguos, ¿por qué los clientes pagarían por la actualización cuando funciona?

Si desea tecnología específica en 3.5, entonces actualice, pero a menos que; no arregles lo que no está roto ...

Me interesaría ver cuánto tiempo estuvo fuera 2.0 antes de que obtuviera "la mayoría de la participación de mercado " - Quiero decir, 1 o 2 años pueden parecer mucho tiempo para ti y para mí, pero debes recordar que el nuevo idioma debe publicarse, luego la gente tiene que entrenarlo y luego debe saberlo bien. suficiente para " vender " a la gerencia. Además, VS2005 fue "suficientemente bueno" para un buen número de personas, y hay un costo involucrado en la actualización a VS2008 para admitir las versiones más nuevas del idioma, no solo dinero, sino tiempo.

¡La misma razón por la que la mayoría de las personas siguen usando Windows XP!

Hace algunos trabajos, estaba en una situación interesante. Como autor original de los servicios web de ASMX de la compañía, me preguntaron sobre la versión de ellos. Hubo una preocupación particular por haber basado los servicios en un XSD hecho a mano y que nadie más lo entendió realmente bien.

Recomendé usar WCF, ya que no necesitarán formatos XML personalizados y tampoco tendrán que jugar con XSD: simplemente define un contrato de datos en el código.

Incluso después de que expliqué que .NET 3.5 SP1 equivale a un par de paquetes de servicios para .NET 2.0, más algunos ensamblajes nuevos, aún me miraban como si estuviera a punto de ser violento. Obviamente, actualizar versiones .NET es un proceso largo y caro . Lecciones de .NET 1.1 o migración de .NET 2.0.

Un pequeño paso en la dirección correcta, en cuanto a la migración a WCF: consulte Los servicios web de ASMX son una & # 8220; tecnología heredada & # 8221; .

Para el procesamiento del gobierno, el marco 3.5 aún no está aprobado para algunos entornos, por lo que está obligado a usar 2.0 o 3.0.

El mayor desafío es justificar la actualización del negocio, especialmente ahora que estamos en una recesión global.

Tendría que haber una ventaja específica o tecnología en 3.5 que su proyecto (probablemente greenfield) no puede hacer para presionarlo.

Estoy tratando de armar un caso para ello en una gran corporación, por lo que los beneficios comerciales deben superar el status quo. En el clima actual, 'mantener el talento' tampoco lo reducirá, especialmente con un grupo creciente de candidatos en general.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top