أحتاج إلى الاعتراف. قبل أن أصبح مطورًا محترمًا يعمل مع لغات حديثة مثل C # و Java (وفوضى الغضب التي نعرفها باسم JavaScript) ، كنت من محبي المتحمسين
للفيجوال بيسك المرئي والشعبية بشكل لا يصدق.
كان حبي الصادق. عندما كنت طفلاً ، تعلمت البرمجة في اللغة الأساسية. ولكن ليس فقط الأساسية. لقد بدأت مع بيئة Microsoft مذهلة تسمى QuickBASIC على نظام تشغيل DOS قديم. ما زلت أتذكر كتابة نص أبيض على خلفية زرقاء مفعم بالحيوية.
للبرمجة في عام 1988 ، كان QuickBASIC شيء سحري. كان من الممكن كتابة التعليمات البرمجية دون أرقام الأسطر المرهقة ، والتقاط أخطاء بناء الجملة أثناء الكتابة ، وتشغيل البرامج مباشرة من بيئة التطوير دون الحاجة إلى عناء سطر الأوامر. بعد الانتهاء من البرنامج ، يمكنك مشاركته مع أصدقائك بمساعدة هؤلاء الأشخاص:
في الوقت الحاضر ، QuickBASIC مجرد وسيلة للتحايل من الماضي البعيد. على الرغم من أنها كذلك؟ أنشأ مشروع مبتكر يسمى
QB64 النسخة المتماثلة QuickBASIC الحديثة. إنه يعمل على أنظمة تشغيل Windows و MacOS و Linux ، ولا يتطلب محاكيًا. عندما يبدأ البرنامج في QB64 ، فإن البيئة تؤدي خدعة صعبة - أولاً تقوم بترجمة الكود الأساسي إلى C ++ ،
ثم تقوم بتجميعه.
VB الكلاسيكية والعصر البصري
كان QuickBASIC وسيلة مثيرة للإعجاب في الأيام البعيدة لأنظمة الكمبيوتر القائمة على النصوص. لكن كل هذا تغير عندما أطلقت Microsoft Windows وغرقت مستخدمي الكمبيوتر الشخصي في عالم الرسوم والنقرات. بالتزامن مع إصدار Microsoft Windows 3.0 (الإصدار الأول الذي حقق نجاحًا حقيقيًا) ، تم إصدار Visual Basic 1.0.
كان شيئا جديدا تماما. يمكن للمستخدم إنشاء أزرار للبرامج ،
ورسمها على سطح النافذة ، كما في لوحة الفنان. لفرض الزر على القيام ببعض الإجراءات ، كان يكفي النقر فوقه نقرًا مزدوجًا في بيئة التطوير وكتابة التعليمات البرمجية. ولم تتم كتابة التعليمات البرمجية في C ++ خفي مع أكوام من الطبقات ، وإدارة معقدة للذاكرة ومكالمات Windows API الغامضة. أنت ، كشخص متحضر ، كتبت رمزًا على VB ذي مظهر ودي.
كانت كل هذه الأدوات الرسومية مثيرة للإعجاب ، ولكن السر الحقيقي لنجاح VB كان التطبيق العملي لها. لم يكن هناك ببساطة أي أداة أخرى يمكن للمطور من خلالها رسم واجهة كاملة وبدء الترميز بأسرع ما في VB. وعلى الرغم من أن المؤرخين يحبون التكهن بالجزء
المرئي من Visual Basic ، فإن مهارته الفذة لا علاقة لها بالحاجيات الرسومية. أصبح VB مشهورًا بفضل وظيفة التحرير والمتابعة الأسطورية ، التي سمحت للمطورين بتشغيل البرامج ، والعثور على الأخطاء ، وإصلاحها ،
ومواصلة العمل مع التعليمات البرمجية الجديدة. كان هذا مختلفًا تمامًا عن جميع بيئات البرمجة الأخرى المعروفة للبشرية ، والتي أجبرت المطورين على تجميع العمل من جديد والبدء من جديد بعد كل تغيير.
ازدهرت Visual Basic الأصلي لنحو عشرة أعوام. بعد أن برزت كبيئة صديقة للمبتدئين ، فقد تحولت إلى أداة بها ميزات كافية للمبرمجين الجادين. بحلول الوقت الذي تم فيه إصدار VB 6 ، الإصدار الأحدث من Visual Basic الكلاسيكي ، كان هناك ما يقرب من عشرة أضعاف ترميزات VB في العالم أكثر من C ++ القاسية في العالم. ولم يخلقوا فقط نماذج من تطبيقات الألعاب. لقد شق Visual Basic طريقه إلى مكاتب الشركة وحتى على الإنترنت باستخدام ASP (صفحات الخادم النشطة) ، وهي تقنية أخرى شائعة للغاية. بفضله ، يمكنك إنشاء صفحات ويب يمكنها التواصل مع مكونات VB والتواصل مع قواعد البيانات وكتابة HTML على الطاير.
كل هذا حدث بدون هيكل تقريبًا ، إلا إذا قررت إنشاءه بنفسك. لقد كانت قاعدة غير مكتوبة في Visual Basic - لقد أعطيتك الحرية ، والتي ستندم عليها لاحقًا.
مشكلة الكلاسيكية VB
في العديد من الدوائر ، حظيت VB الكلاسيكية بسمعة سيئة. غالبًا ما اشتكى متعصبو OOP من أن VB يفتقر إلى دعم الميراث. (كانت شكوى غريبة ، لأن الميراث غالبًا ما يكون طريقة رائعة للمطورين عديمي الخبرة لإطلاق النار على أنفسهم - وهذا
ليس ما تحتاجه VB.) في الواقع ، لم يكن VB الكلاسيكي يميل إلى اتجاه الكائن. قرب نهاية حياته ، كان يدعم بالفعل واجهات وتعدد الأشكال والمكتبات الصفية. تم استعارة كل هذا من COM - الجزء الأساسي من تكنولوجيا المكونات ، "تومض" في كل إصدار من Windows.
كانت المشكلة الحقيقية مع VB الكلاسيكية هي أنها كانت ناجحة
للغاية . لقد قام بفعالية بتقليل الحواجز أمام المبرمجين الجدد بحيث يمكن لأي شخص تقريبًا العمل بها. مبتدئين الهم ، وموظفي الشركة المتعبة والطلاب حل المشاكل التي كان من الممكن أن تكون أكثر تعقيدا على أي منصة أخرى ، ورمز السباغيتي معلقة في كل مكان.
بمعنى آخر ، نظرًا لأن VB كان سهل الاستخدام ، حتى لو لم تدرس كمبرمج ، فقد استخدمه كثير من الأشخاص الذين
لم يتعلموا أن يكونوا مبرمجين. ولم يفعل VB شيئًا لمنع تأصيل عاداتهم السيئة.
VB.Fred والنظام الأساسي .NET
سريعًا للأمام ، في عام 2002: تلتزم Microsoft بما تفعله Microsoft بشكل أفضل - فهي تدمر نظامها الإيكولوجي الخاص بالمطورين من خلال تقديم طريقة جديدة تمامًا للعمل.
هذه المرة ، كان المشروع تغييرًا كبيرًا في بنية COM ، وهي تقنية مكونة تدعم Windows (و ، بشكل غير مباشر ، VB الكلاسيكية). لقد كان سعرًا شاملاً لشركة megalith التي أجرت بالفعل مثل هذه التغييرات المحفوفة بالمخاطر عدة مرات.
أطلقت Microsoft اسم "إعادة التشغيل" على نظام .NET الأساسي لعدة أسباب مشكوك فيها ، بما في ذلك أن تقنية الإنترنت في ذلك الوقت ظلت جديدة ومثيرة ، وكذلك لأن .NET تضمن ميزة خدمات الويب التي تقدمها Microsoft قررت بحزم لتعزيز. تم إنشاء المنتج تحت تأثير قوي من Java ولديه مجموعة كاملة من الأدوات للتواصل مع قواعد البيانات ، وإنشاء مواقع الويب ، وكتابة برامج متعددة الخيوط ، وإنشاء اتصالات من خلال مآخذ - لجميع التطبيقات تقريبًا التي يمكن أن يتصورها مطورو الأعمال.
كانت المشكلة الوحيدة هي أنه من أجل تنفيذ جميع هذه الوظائف ، كان على Microsoft التخلص من جميع أجهزة VB الكلاسيكية تقريبًا.
إذا كنت تحرّك بشدة ، فإن الإصدار الجديد المسمى VB.NET بدا كما هو. ولكن ظهرت العديد من التغييرات الثورية الكبيرة والصغيرة فيها. كبير: بقيت برامج VB القديمة عالقة في عالم البرامج القديمة ، ولا يمكن لمعالج الترحيل الضعيف بشكل مدهش إصلاحها. صغير: كان على مبرمجي VB الكلاسيكي أن يعتادوا على طريقة جديدة لحساب عناصر الصفيف. لم يعد بإمكانهم البدء في الساعة 1 ، مثل الأشخاص العاديين. الآن عليهم أن يبدأوا عند 0 ، مثل المبرمجين الرسميين.
تغيير مهم آخر: لا مزيد من التحرير والمتابعة وظيفة.
يحب المطورون الشكوى ، ويشتهر مطورو VB بهذا الخصوص. على الفور تقريبًا ، أطلقت مجموعة من مطوري VB المؤثرين على بيئة برمجة Microsoft الجديدة VB.Fred ، للتأكيد على حقيقة أن هذه اللغة الجديدة ليست Visual Basic.
ما مصير Visual Basic حتى الموت
يمكنك افتراض أن تغييرات .NET تسببت في حدوث تصدعات في الأساس VB وأدت إلى انخفاض لا مفر منه. لكن كل شيء كان مختلفا. في الواقع ، على الرغم من حقيقة أن VB.NET قد تحركت في اتجاه جديد وأجرت تغييرات مهمة ، مما يجعلها "يتيمًا" رمزًا جيدًا تمامًا لـ VB الكلاسيكي ، إلا أنها اكتسبت شعبية هائلة. حدث هذا بسبب حقيقة أن VB.NET قدم شيئًا لم يستطع المطورون على VB الكلاسيكي تحقيقه من قبل - الاحترام.
في عالم .NET ، يكون للغتي VB و C # نفس الوزن. يمكن ترجمة كل سطر من التعليمات البرمجية في VB إلى سطر مكافئ من التعليمات البرمجية في C # ، والعكس بالعكس. كلتا اللغتين لديها نفس الميزات ، واستخدام نفس المكونات ، وتجميع في نفس الشكل بالضبط (في شيء يسمى
لغة وسيطة ). أخرج VB نفسه من متلازمة البطة القبيحة.
لكن التحول إلى لغة برمجة محترمة أخرى قد خلق مشكلة. لقد اختفى الحماس الذي جعل VB اللغة المفضلة لمثل هذه المجموعة الواسعة من الأشخاص. ليس لأن VB قد تغير ، ولكن لأن C # قد تغير.
بمجرد أن حصلت VB على نفس القوة مثل C # ، اعتمد C # أيضًا راحة Visual Basic. على سبيل المثال ، يعني وجود ميزات أمان النوع وإدارة ذاكرة .NET أن مطوري C # لم يعد عليهم القلق بشأن تسرب الذاكرة ، تمامًا مثل مطوري VB.
بمعنى آخر ، لدى C # الآن "شبكة أمان" تحمي الهواة والطلاب والمبتدئين ولا تضعف قوتها. فجأة ، توقفت VB أن يكون شيئا خاصا. لقد أصبح مجرد أداة أخرى من مجموعة من المبرمجين المهرة.
الحالة الحالية لـ Visual Basic
اليوم ، Visual Basic في حالة غريبة. بين المطورين المحترفين ، تشغل حوالي 0٪ من الاهتمام - لا تظهر VB حتى في
استطلاعات المطورين المحترفين أو في
مستودعات GitHub . ومع ذلك ، لا يزال على قيد الحياة - فهو يدير وحدات ماكرو Office وقواعد الوصول القديمة وصفحات الويب القديمة لـ ASP ، كما أنه يجذب الوافدين الجدد إلى .NET. لا يزال فهرس TIOBE ، الذي يقيس شعبية اللغات من خلال نتائج البحث ، يضع VB في قائمة اللغات
الخمس الأكثر مناقشة.
ولكن يبدو أن الجمود في تطوير اللغة قد انتهى مؤخرًا. في عام 2017 ،
أعلنت Microsoft أنها ستبدأ إضافة ميزات لغة جديدة إلى C # والتي قد لا تظهر في Visual Basic. هذا التغيير لا يُرجع VB حالة البطة القبيحة ، لكنه يضر بحالته كجزء من .NET.
بصراحة ، بدأ الاتجاه نحو دفع VB إلى الهامش قبل بضع سنوات. يعلم المطورون الجادون أن الأجزاء الرئيسية من .NET مكتوبة بلغة C #. يعرفون أن لغة C # هي اللغة المفضلة للعروض التقديمية والكتب والدورات التدريبية وورش العمل. إذا كنت تريد التحدث بلغة VB ، فإن هذا لن يضر بالتطبيقات التي تنشئها ، ولكنه قد يحد من القدرة على التواصل مع المطورين الآخرين.
أحد الأسواق التي يجب أن يشعر Visual Basic فيها طبيعي هو السوق التعليمي. ولكن حتى هناك يظل خروفًا أسود. اللغات الحديثة مثل C # و Python بسيطة وآمنة بدرجة كافية ليتم اختيارها كلغة أولى يتم تعلمها. إذا كنت بحاجة إلى شيء أبسط للأطفال ، فإن السوق مليء بأدوات البرمجة الرسومية مثل Scratch. اللغات المجعدة هي أيضًا جذابة: C # و C و JavaScript و Java. لديهم بناء جملة مماثل ، والشخص الذي تعلم أحدهم سيشعر بالثقة مع الآخر.
في مجال تطوير الويب ، تبحث Microsoft في فراغ الفرص الضائعة. من الذي لن يغريه إصدار VB سهل الاستخدام مثل VB 6 ، ولكنه قادر أيضًا على التجميع في JavaScript والجمع مع مصمم نماذج HTML؟ نعم ، لن تنشئ خرائط Google جديدة في مثل هذه الأداة ، لكن يمكنها إحياء جاذبية Visual Basic عن طريق السماح لمطوري الأعمال والطلاب والهواة بإنشاء تطبيقات بسيطة عبر الإنترنت دون الحاجة إلى JavaScript مرهقة. بدلاً من ذلك ، أنشأت Microsoft منتجًا يستند إلى VB يسمى
LightSwitch ، والذي اختفى مع وفاة المكون الإضافي لمتصفح Silverlight. إذا بدأت Microsoft في إنشاء منتج آخر من فئة "الترميز للجماهير" ، فمن المرجح أن يكون أداة تعتمد على القالب مع القليل من التعليمات البرمجية مثل
PowerApps .
يستخدم Visual Basic لمواجهة مخاطر مختلفة. لكن هذه المرة ، يبدو أن كل شيء مختلف. يبدو أن الشمس تستعد بالفعل لواحدة من لغات البرمجة الأكثر شعبية في العالم. إذا كان هذا صحيحًا ، فلن تتلاشى Visual Basic على مدار عقود. سيصبح منتجًا آخر من منتجات Legacy ، وهو أداة تم الاستخفاف بها دون حب المستخدمين والمستقبل. سواء كنا قد فقدنا شيئًا مميزًا ، أو قمنا ببساطة بحفظ التكنولوجيا المعذبة من العذاب ، فهذا الأمر يعود إليك.