.NET 3.5 опубликован в 11.07. .NET 3.0 в 11.06.Почему большинство людей до сих пор используют .NET 2.0?[закрыто]

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

Вопрос

Люди разрабатывают собственные решения следующих проблем:

  • Согласованные среды обмена сообщениями для удаленного обмена информацией (веб-сервисы, RPC,...)
  • SDK для управления состоянием таких вещей, как конечные автоматы и рабочие процессы.
  • Платформы аутентификации
  • И многое другое.

Более два года теперь Microsoft предлагает .NET 3.0, которая содержит согласованные и хорошо документированные так называемые основы для рабочих процессов, коммуникации, аутентификации и новый способ создания веб-приложений.

Однако,...люди все еще создавали собственные структуры с последовательным реляционным сопоставлением объектов для обращения к своим базам данных, собственные методы динамического расширения классов и методов во время выполнения (например, чтобы клиент мог настраивать поведение приложения).

Для более одного года теперь Microsoft предлагает .NET 3.5, которая, среди прочего, содержит LINQ и, следовательно, отличный ORM и замечательные средства для расширения вашего кода и, в конце концов, значительно упрощает его написание.

Но посмотрите вокруг...кажется, что большинство все еще использует .NET 2.0.Веб-сайты создаются на простом ASP.NET.Работа с рабочим столом по-прежнему достигается за счет сочетания CSS, JavaScript и HTML.Исполняемые файлы используют старые добрые WinForms, рабочие процессы реализуются с помощью делегатов, событий, выполнения/пока и переключения/регистра.

Без лишних дискуссий, я был бы рад увидеть конкретные причины для следующего вопроса:

По вашему мнению:Почему люди не прыгают на поезд .NET 3.5?

Это было полезно?

Решение

  1. Требует изучения новых вещей, многие LOB-разработчики, работающие по принципу «просто работа», не беспокоятся.
  2. Инвестиции в устаревший код, пользовательские системы могут не понадобиться, но они работают, перекодирование для использования систем на основе Framework — пустая трата времени, если существующая система не сломана.
  3. Стоимость программного обеспечения для разработки.Для эффективного кодирования в .net 3.x действительно требуется VS2008.Обновление целой команды разработчиков до уровня 2005 года может стоить дорого.
  4. Стабильность.2.0 была развитием 1.1 Framework.3.0 и 3.5 включают новые технологии v1 (те, которые вы перечислили).Разработчикам нравится видеть, как технологии оправдают себя, прежде чем они смогут доказать своим менеджерам, что на них стоит пойти.Как и в случае с внедрением Windows, вы, скорее всего, увидите, что больше людей перейдут с VS2005 на VS2010 и с .net 2.0 на .net 4.0, поскольку он будет содержать v2 технологий 3.x.

Другие советы

По той же причине я знаю разработчиков Java, которые до сих пор пишут код на Java 1.4: изменения обходятся дорого, а для людей, выполняющих внутреннюю работу в компаниях, где «довести дело до конца» гораздо важнее, чем использовать новые технологии, часто бессмысленно.

При большом объёме внутренней работы нет смысла обновлять старые приложения для работы в новых средах.

Кроме того, крупные корпорации не любят каких-либо изменений из-за различных проблем со стабильностью. Вы по-прежнему обнаружите, что они принимают решения об использовании старых технологий в новых решениях просто потому, что они считают, что новая технология недостаточно стабильна, о ней недостаточно известно или недостаточно программного обеспечения, на которое они полагаются, для его поддержки.

И я никогда не использовал его, поэтому не могу сказать, но возможно, что .NET 2 достаточно хорош для нужд людей, а .NET 3.5 не предлагает достаточно, чтобы гарантировать обучение/изменение, которое необходимо участие, даже для компаний, которые согласны с более передовыми технологиями.

Потому что это не очень хорошо поддерживается хостинговыми компаниями.

Я разрабатываю новое веб-приложение, но моя хостинговая компания предоставляет поддержку только ASP.NET 2.0.

Если вам нужна поддержка Windows 2000, вам придется использовать .NET 2.0.В любом случае это не так уж и плохо.

Я могу говорить за себя и свою компанию.Мы до сих пор не используем его.Почему?Хорошо

1- У большинства наших пользователей уже установлена ​​платформа NET 2.0.Нет необходимости устанавливать другой фреймворк.
2- Мы не будем меняться только потому, что это что-то новое.Это должно добавить некоторую ценность.
3- Чтобы действительно окупить изменения, потребуется огромный объем работы. Опять же, это должно окупиться.
4- Еще слишком рано говорить о том, стоит ли оно того (одного года недостаточно) с точки зрения ошибок и новых проблем.Хотя, кажется, оно того стоит.

.NET 3.0 содержал вещи, которые отлично подходили для новых проектов, но которые многие существующие проекты не хотели бы использовать ради обновления — для интеграции любого из них потребовалась бы значительная переработка.

Что касается этого:

Уже более года Microsoft предлагает .NET 3.5.

Каким образом ноябрь 2007 года прошел больше года назад?Да, .NET 3.5 великолепен, и я любовь LINQ (особенно LINQ to Objects) и преимущества C# 3.0, но за изменения всегда приходится платить.Начнем с стоимости развертывания Visual Studio 2008.Кроме того, есть стоимость повторного тестирования всего на соответствие .NET 3.5 (а теперь и .NET 3.5SP1).Кроме того, есть стоимость развертывания .NET 3.5 на всех серверах или стоимость требования .NET 3.5 на всех клиентах.О, не говоря уже о стоимости обучения продуктивному использованию всех новых технологий.

Это произойдет, но не стоит этого ожидать. очень быстрый.

Чтобы добавить еще одно примечание к тому, что @SCdF сказал, что любая компания со значительным ИТ-персоналом, не ориентированная на разработчиков (т.Большинство), как правило, сильно сопротивляется новым технологиям.

ИТ-отделы, как правило, отстают с точки зрения разработчиков, потому что они не видят бизнес-ценности в переходе на новые системы/оборудование только для того, чтобы оставаться на шаг впереди.ИТ-отделы слишком заняты вопросами безопасности и обслуживания (реальными или предполагаемыми), чтобы иметь дело с разработчиками, пытающимися заставить их перейти на .Net 3.5.

Разработчики также общеизвестно, что они плохо общаются с другими отделами по поводу ценности бизнеса.Когда разработчик пытается привлечь ИТ-специалистов или бизнес к обновлению до .Net 3.5, они начинают говорить об автоматизированных рабочих процессах, XML и веб-службах вместо того, чтобы говорить о долларах и центах.

Брайан Принс из Microsoft есть действительно хорошая презентация по «Soft Skills», в которой кое-что из этого рассматривается.Если его вежливо попросить, он может прийти к вам в компанию и сделать подарок :)

Я спросил менеджера предыдущего работодателя, почему он до сих пор не перешел, и ответ был: «Я не хочу поддерживать три фреймворка», то есть 1.1, 2.0, 3.5.

Я объяснил, что обновление до 3.5 — это не то же самое, что переход с 1.1 на 2.0 (3.5 — это расширение 2.0 с использованием другой dll (Core.dll), а не обновленной dll, как с 1.1 до 2.0).

Я вижу, что многие менеджеры придерживаются этой точки зрения, так что вам решать, чтобы они знали об этом!

2.0 работает, да?Я считаю, что новые вещи — это здорово и круто, и мне нравится быть в курсе последних событий, но в конце концов, если это работает, часто приходится придерживаться того, что у вас есть.Я поддерживал магазин, в котором использовались программы для DOS 6.2x, в течение многих лет (вплоть до 2004 года) и ломал голову над этим.Но, в конце концов, в этом случае не было убедительных деловых причин тратить что-либо на продвижение вперед.

Я уверен, что есть и другие причины.

Для всех новых проектов я стараюсь использовать 3.5 (или любую другую новейшую платформу).Но зачем клиентам платить за обновление, если оно работает, все старые сайты?

Если вам нужна конкретная технология в 3.5, то обновите, но разве что;не чини то, что не сломано..

Мне было бы интересно узнать, как долго существовала версия 2.0, прежде чем она завоевала «большую долю рынка» — я имею в виду, что 1 или 2 года могут показаться вам и мне долгим сроком, но вы должны запомнить новый язык. должен быть выпущен, затем люди должны обучиться этому, затем они должны знать его достаточно хорошо, чтобы «продать» его руководству.Кроме того, VS2005 был «достаточно хорош» для многих людей, а обновление до VS2008 для поддержки новых языковых версий требует затрат — не только денег, но и времени.

По той же причине, по которой большинство людей до сих пор используют Windows XP!

Несколько работ назад я попал в интересную ситуацию.Меня, как первоначального автора веб-служб ASMX компании, спросили об их версии.Особое беспокойство вызывало то, что я основал свои службы на основе XSD, созданного вручную, и что никто больше не понимал XSD так хорошо.

Я рекомендовал использовать WCF, поскольку им не потребуются специальные форматы XML, а также не придется играть с XSD:просто определите контракт данных в коде.

Даже после того, как я объяснил, что .NET 3.5 SP1 представляет собой пару пакетов обновлений для .NET 2.0 плюс несколько новых сборок, на меня все равно смотрели так, будто я вот-вот прибегну к насилию. Очевидно, что обновление версий .NET — длительный и дорогостоящий процесс..Уроки миграции .NET 1.1 и .NET 2.0.

Один небольшой шаг в правильном направлении в плане перехода на WCF:видеть Веб-службы ASMX являются «устаревшей технологией»..

Для государственной обработки платформа 3.5 еще не одобрена для некоторых сред, поэтому вам придется использовать версии 2.0 или 3.0.

Самая большая проблема — обосновать модернизацию бизнеса, особенно сейчас, когда мы переживаем глобальный спад.

Чтобы добиться этого, в версии 3.5 должно быть определенное преимущество или технология, без которой ваш проект (вероятно, новый) абсолютно не может обойтись.

Я пытаюсь обосновать это в крупной корпорации, поэтому выгоды для бизнеса должны перевешивать статус-кво.В нынешних условиях «поддержание талантов» также не поможет, особенно с учетом растущего числа кандидатов в целом.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top