أهم أقسام المدونة

الصفحات

السبت، 14 مارس 2020

فيجوال بيزيك تموت!


خبر صادم: ميكروسوفت تضع فيجوال بيزيك دوت نت في الثلاجة!


 شعرت بالأمس أنني فقدت عزيزا، أو هذا ما حدث بالفعل فهذه اللغة كانت أجمل رفقائي طوال ربع قرن خضنا معا مغامرات مدهشة وأمضينا معا أمتع الأوقات!
فقد أعلنت ميكروسوفت فجأة أن فيجوال بيزيك دوت نت ستعمل على منصة .NET 5 لكن في المجالات التالية فقط: 
- Class Library 
- Console Apps 
- Windows Forms 
- WPF 
- Worker Services 
- ASP .NET Core Web API
وهي المجالات التقليدية التي كانت فيجوال بيزيك تعمل عليها سابقا.. هذا يسمح للتطبيقات الحالية بالانتقال من منصة .NET Framework إلى منصة .NET Core التي ستسمى في الإصدار القادم في شهر نوفمبر .NET 5
كان هذا سيبدو مبشرا، لولا أن ميكروسوفت أعلنت خبرين صادمين:1- أنها ستتوقف عن تطوير لغة فيجوال بيزيك دوت نت بعد هذا.2- أن فيجوال بيزيك ستعمل على منصة .NET Core لكنها لن تدعم أي تطورات مستقبلية في هذه المنصة تحتاج إلى تغييرات في لغة البرمجة!
وهذا يقول لك باختصار: واصل تشغيل برامجك القديمة المكتوبة بفيجوال بيزيك دوت نت، لكن لا تنشئ أي برامج جديدة بهذه اللغة لأنها لن تواكب المستقبل!
طبعا هذا الخبر أثار استياء شديدا وسط أوساط مبرمجي فيجوال بيزيك دوت نت وعشاقها المخلصين وأنا منهم.. لقد تعاملت مع لغات كثرة مثل:Assembly, Pascal, C, C++, C#, JavaScriptلكني لم أر أروع ولا أرقى من لغة فيجوال بيزيك التي تجعل كتابة الكود متعة، لأنك تكتب تقريبا باللغة الإنجليزية العادية، لهذا يتركز تركيزك على الوظيفة البرمجية بدون أن تشغل بالك بالأقواس والنقاط والرموز التي تجعل أكواد باقي اللغات تبدو كالشفرة الملغزة وتضيع الكثير من الوقت والجهد بسبب نسيان قوس هنا أو علامة منقوطة هناك!والأسوأ من هذا أنني أشعر بالاشمئزاز من بعض التطويرات الجديدة في شي شارب التي ضاعفت الرموز في الكود فزاد تعقيدا، وبعض الإضافات الجيدة تم تقديمها بأسوأ صياغة يمكن تصورها مثل switch expression، لدرجة أنني لا أنوي استخدام كثير من هذه الإضافات في أكوادي!طبعا لم يكن خبر تجميد VB .NET مفاجئا بالنسبة لي، فقد كان واضحا منذ 2017 حينما أعلنت ميكروسوفت أنها ستقصر فيجوال بيزيك دوت نت على تطبيقات سطح المكتب على الويندوز فقط، ولهذا قلت حينها إنني لن أسمح لهم بقتل هذه اللغة المذهلة بهذه البساطة وعرضت عليهم التطوع لكتابة مترجم Razor خاص بفيجوال بيزيك وهو أمر كان سيستغرق مني 6 شهور كنت سأتبرع بها لهم مجانا، لكنهم رفضوا بمنتهى البساطة، وهو ما أكد شكوكي أن النية مبيتة لقتل فيجوال بيزيك، لهذا كتبت Vazor و ZML كبديل لحل هذه المشكلة، وقد طور أنتوني جرين (مدير مشروع فيجوال بيزيك) فكرة Vazor ليأخذها إلى مستويات مدهشة بحيث لا تشغل Razor فقط بل WPF و Xamarin وغيرها أيضا.. وكنا ننتظر أن تعتمد ميكروسوفت هذه النقلة الرائعة التي ستضع فيجوال بيزيك في الصدارة مرة أخرى، لكنها فوجئنا بمغادرة أنتوني جرين لمنصبه كمدير لفيجوال بيزيك بل مغادرته لميكروسوفت كلها، بل والأنكى أن بعض أفكاره التي طورها لفيجوال بيزيك دوت نت أخذوها لسي شارب مثل Top Level Code!!
بعد إعلان ميكروسوفت عن تجميد فيجوال بيزيك، كتب أنتوني جرين على تويتر: انتظروا ردا قريبا!.. في نفس الوقت، هناك بالفعل مشروعان حتى الآن لتطوير نسخ أخرى من فيجوال بيزيك دوت نت خارج ميكروسوفت.. وقد اقترحت أن نبحث عن طريقة لجعل مترجم فيجوال بيزيك قابلا للامتداد Extensible بحيث يمكن لكل من يريد أن يضيف إليه صياغات جديدة في صورة ملف Syntax.xml وملف Parser.dll يوضعان في مجلد معين، ويستخدمهما المترجم لتحويل الصياغات الجديدة إلى الصياغات المعروفة لمترجم فيجوال بيزيك (يسمى هذا بتخفيض الكود Lowering) ثم يواصل عمله كالمعتاد.. هذا سيسمح لكل من أراد بإنشاء العديد من الصياغات المستقلة وإضافتها إلى موقع ميعن بحيث نستطيع أن نضيف نحن ما يعجبنا من الصياغات إلى فيجوال بيزيك، وبهذا تتحد الجهود في لغة برمجة واحدة تتطور باستمرار، بدلا من أن نجد أنفسنا أمام عشرات النسخ المختلفة من لغة فيجوال بيزيك دوت نت يتشتت بينها المبرمجون وتعجز عن الاستمرار بدون دعم.سأتابع ما يحدث في هذا الأمر وأخبركم علام سيستقر الاختيار.. وكما قلت سابقا، أنا لن أسمح بموت لغتي المفضلة، والتي تعتبر أعلى لغة برمجية موجودة على الساحة لأنها الأقرب للغات الطبيعية، التي يحلم مطورو الذكاء الصناعي بالوصول إليها يوما، بحيث يستطيع كل منا البرمجة باللغة التي يتكلم بها كأنه يتحدث مع صديقه!.. لقد أنفقت وقتا طويلا في العام الماضي لدراسة مترجمات الكود، وأنا مستعد لتولي مسئولية مترجم فيجوال بيزيك دوت نت إذا تطلب الأمر، لكن لو كان لأنتوني جرين كلمة فهو أكفأ في هذا الأمر، والأفضل أن أنتظر إلى أين سيتجه مجتمع فيجوال بيزيك دوت نت.






ليست هناك تعليقات:

إرسال تعليق

ملحوظة: يمكن لأعضاء المدونة فقط إرسال تعليق.