تم نشر .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. استثمارات التعليمات البرمجية القديمة، قد لا تكون هناك حاجة إلى الأنظمة المخصصة، لكنها تعمل، وإعادة ترميز الأشياء لاستخدام الأنظمة القائمة على إطار العمل يعد مضيعة للوقت إذا لم يتم كسر النظام الحالي.
  3. تكلفة برامج التطوير.يتطلب الترميز الفعال في ‎.net 3.x حقًا VS2008.قد تكون ترقية فريق كامل من المطورين إلى ذلك اعتبارًا من عام 2005 أمرًا مكلفًا.
  4. استقرار.2.0 كان تطورًا لإطار 1.1.يتضمن الإصدار 3.0 و3.5 تقنيات الإصدار 1 الجديدة (تلك التي أدرجتها).يحب المطورون رؤية التقنيات تثبت نفسها قبل أن يتمكنوا من التبرير لمديريهم بأن الأمر يستحق هذه القفزة.كما هو الحال مع اعتماد Windows، من المحتمل أن ترى المزيد من الأشخاص ينتقلون من VS2005 إلى VS2010 ومن .net 2.0 إلى .net 4.0 نظرًا لأن ذلك سيحتوي على الإصدار الثاني من تقنيات 3.x.

نصائح أخرى

للسبب نفسه، أعرف مطوري Java الذين ما زالوا يقومون بالبرمجة في Java 1.4 - التغيير مكلف، وبالنسبة للأشخاص الذين يقومون بأعمال داخلية في الشركات التي يكون إنجازها فيها أكثر أهمية بكثير من استخدام التقنيات الجديدة، غالبًا ما يكون عديم الفائدة.

بالنسبة للكثير من العمل الداخلي، لا يوجد مبرر كبير لترقية التطبيقات القديمة للعمل في بيئات أحدث.

أيضًا، الشركات الكبيرة ليست مولعة بأي نوع من التغيير لأسباب مختلفة تتعلق بالاستقرار، وستجدهم يتخذون قرارات لاستخدام التكنولوجيا القديمة في حلول جديدة لمجرد أنهم يعتقدون أن التكنولوجيا الجديدة ليست مستقرة بما فيه الكفاية، ولا يُعرف عنها ما يكفي أو لا يوجد ما يكفي من البرامج التي يعتمدون عليها لدعمها.

وأنا لم أستخدمه مطلقًا لذا لا أستطيع أن أقول ذلك، ولكن قد يكون الأمر أن .NET 2 جيد بما يكفي لتلبية احتياجات الأشخاص، وأن .NET 3.5 لا يقدم ما يكفي لضمان التعلم/التغيير المعنية، حتى بالنسبة للشركات التي توافق على أحدث التقنيات.

لأنها ليست مدعومة بشكل جيد من قبل شركات استضافة الويب.

أقوم بتطوير تطبيق ويب جديد ولكن شركة الاستضافة الخاصة بي توفر فقط دعم ASP.NET 2.0.

إذا كنت تريد دعم Windows 2000، فيجب عليك البقاء مع .NET 2.0.انها ليست بهذا السوء على أي حال.

أستطيع أن أتحدث عن نفسي وعن شركتي.ما زلنا لا نستخدمها.لماذا؟حسنًا

1- معظم مستخدمينا لديهم بالفعل NET 2.0 Framework.لا حاجة لتثبيت إطار آخر.
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 عرضًا تقديميًا جيدًا حقًا حول "المهارات الشخصية" والذي يتناول بعضًا من هذا.إذا سألته بلطف فقد يأتي إلى شركتك ويقدم العرض :)

سألت مديرًا في صاحب عمل سابق عن سبب عدم قيامه بالتبديل بعد، وكان الجواب "لا أريد أن أضطر إلى دعم ثلاثة أطر عمل"، أي 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 قبل أن تحصل على "حصة سوقية كبيرة" - أعني أن سنة أو سنتين قد تبدو فترة طويلة بالنسبة لي ولكم، ولكن عليك أن تتذكر اللغة الجديدة يجب إطلاق سراحه، ثم يجب على الأشخاص التدرب عليه، ثم عليهم أن يعرفوه جيدًا بما يكفي "لبيعه" للإدارة.كما أن 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