فيجوال بيسك دوت نت

فيجوال بيسك دوت نت  هي نسخة جديدة بكل المقاييس من فيجوال بيسك أصدرتها مايكروسوفت في نهاية عام 2001. بنتها مايكروسوفت من الصفر لتجعلها إحدى لغات نظام فيجيوال ستديو دوت نت  وتستفيد من كل قدرات إطار عمل دوت نت، فتصير بذلك نداً حقيقياً لعائلة لغات سي++ بحيث تتسيد فيجوال بيسك برمجة تطبيقات مواقع الإنترنت، التطبيقات التجارية وتطبيقات قواعد البيانات والوسائط المتعددة ومعظم الألعاب وما شابه.

وهذا هو السبب الذي دفع مايكروسوفت إلى إصدار اللغة الجديدة سي شارب، التي تعتبر توأماً لفيجوال بيسك إلا إنها تستخدم قواعد لغة سي++ في كتابة الأوامر، مما يسهل لمبرمجي سي++ الانتقال إليها. كما انضمت لغة جي شارب إلى عائلة دوت نت عام 2003، لإغراء مبرمجي جافا. ولكن مهما كانت سهولة سي شارب وجي شارب، فإن فيجوال بيسك تسبقهما في هذا المضمار، فهي أقرب ما تكون إلى اللغة الإنجليزية العادية، ولا تحتوي على الرموز الكثيرة المملة التي تملأ سي شارب وجي شارب، مثل ";" ، "++" ، "==" ، "||" إلى آخر هذه الرموز التي تجعل احتمالات الخطأ عند كتابة الشيفرة البرمجية أعلى، وتجعل البرنامج أصعب فهماً وأقل ألفة عند قراءته.

ولم تتوقف مايكروسوفت عن التطوير، ففي العام التالي أصدرت دوت نت 2003، وبعدها بعامين أصدرت دوت نت 2005 التي ضيقت الفجوة أكثر بين فيجيوال بيسيك وسي شارب بإضافة بعض القدرات الناقصة مثل إعادة تعريف المعاملات Operator Overloading. ثم جاءت دوت نت 2008 لتتيح تعريف الأنواع المجهولة Anonymous Types، وكتابة طرق إضافية Extended Methods للفئات الجاهزة الموجودة في اللغة، بالإضافة إلى استخدام الاستعلام المتكامل LINQ. وأخيراً جاءت دوت نت 2010 لتتيح لاستعلامات LINQ للاستفادة من الأجهزة التي تحتوي على أكثر من معالج دقيق من خلال الاستعلامات المتوازية PLINQ، مع إدخال بعض التعديلات الطفيفة في كود البيسك، مثل السماح بتقسيم الأوامر على أكثر من سطر في بعض المواضع بدون الحاجة إلى وضع علامة تقسيم السطر "_" ، ومثل تعريف دوال فورية Lambda Expressions متعددة السطور، وغير هذا من الإضافات.

 أمثلة 

 برنامج مرحبا بالعالم !Hello World 

في داخل الرمز البرمجي الرموز (الأكواد) أو السطور البرمجية التي تبدأ لعلامة الفاصلة العلوية (') لا تدخل في البرنامج أي لا ينفذها البرنامج يتخطاها، فهي تعبر عن ملاحظات المبرمج فقط.

بما معناه إذا كنت تريد وضع ملاحظة داخل الرمز البرمجي بدون التأثير على البرنامج نفسه قم بفعل التالي:'This is line is just a comment.
'هذا السطر مجرد ملاحظة، ولا يأثر على البرنامج
تصغير|نموذج تطبيق بنافذة

 نموذج تطبيق ويندوز (نافذة) 
هذا النموذج عبارة عن نافذة تنبثق عند تنفيذ البرنامج، مكتوب بها مرحبا بالعالم. نحتاج زر يسمى Button1 على سبيل المثال (يمكن تسمية الزر بأي اسم):

Public Class Form1

    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        MsgBox("Hello world!", MsgBoxStyle.Information, "مرحبا بالعالم")
        ' يظهر رسالة تقول مرحبا بالعالم
    End Sub
End Class

 نموذج تطبيق لوحة التحكم 

هذا النموذج عبارة عن برنامج ينفذ داخل لوحة التحكم فقط يعني يستعمل داخل لوحة ادخال الأوامر (console) وبدون واجهة رسومية.Module Module1

    Sub Main()
        Console.WriteLine("Hello world!") ' يكتب النص مرحبا بالعالم وينزل للسطر، النص يكون بالإنجليزية في هذه الحالة لأن لوحة ادخال الأوامر لا تدعم بالعربية بشكل جيد
        Console.ReadKey() 'المستخدم يجب أن يضغط على أي زر قبل الخروج من البرنامج
    End Sub
End Module

 برنامج التكلم Speaking 
 نموذج تطبيق ويندوز (نافذة) 

عبارة عن برنامج يتحدث بالصوت كل ما تدخله في مربع الكتابة. نحتاج مربع الكتابة (TextBox) باسم 'TextBox1' وزر بغسم Button1Public Class Form1

    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        CreateObject("Sapi.Spvoice").Speak(TextBox1.Text)
    End Sub
End Class

 نموذج تطبيق لوحة التحكم 

مثل السابق، لكن هذا برنامج بدون واجهة رسومية، عبارة عن برنامج يتحدث بالصوت كل ما تدخله في لوحة الأوامر (console).Module Module1
    Private Voice = CreateObject("Sapi.Spvoice")
    Private Text As String

    Sub Main()
        Console.Write("Enter the text to speak: ") ' لطلب من المستخدم أن يدخل النص الذي يريده
        Text = Console.ReadLine() ' يجب على المستخدم ادخال النص المراد قراءته صوت
        Voice.Speak(Text) ' قراءة النص الذي أدخله المستخدم صوتا.
    End Sub
End Module

 الإصدارات 

+الاسماسم اخرالعامالميزاتVB 7.02002يعتمد الإصدار الأول فيجوال بيسك دوت نت على إطار عمل NET 1.0. الميزة الأكثر أهمية هي تعليمات برمجية مُدارة، والتي تتناقض مع فيجوال بيسك الكلاسيكية.Visual Basic.NET 2003VB 7.12003تم إصداره مع .NET Framework 1.1. تتضمن الميزات الجديدة دعم .NET Compact Framework ومساعد إعداد ترقية أفضل VB. تم إجراء تحسينات أيضاً على أداء ووثوقية .NET IDE (المحول الخلفي بشكل خاص) ووقت التشغيل. بالإضافة إلى ذلك، توفر Visual Basic.NET 2003 في Visual Studio.NET الإصدار الأكاديمي، الذي تم توزيعه على عدد معين من الباحثين من كل عدة بلدان دون تكلفة.Visual Basic 2005VB 8.02005بعد Visual Basic .NET 2003، أسقطت مايكروسوفت .NET " من اسم المنتج. أضافت مايكروسوفت العديد من الميزات لهذا الإصدار التي تهدف إلى تعزيز Visual Basic . NET باعتبارها منصة تطوير تطبيقات سريعة، وزيادة تمييزها عن سي شارب.، بما في ذلك:

 ميزة التحرير والمتابعة
 تقييم التعبير وقت التصميم
 الاسم الزائف "My" والذي يوفر:
 الوصول إلى مناطق معينة من إطار عمل .NET التي تتطلب شيفرة برمجية هائلة للوصول إلىها مثل استخدام My.Form2.Text = " MainForm " بدلاً من System.WindowsApplication1.Forms.Form2.text = " MainForm "
 الفئات التي تم إنشاؤها ديناميكيًا (على سبيل المثال My.Forms)
 تحسين محول VB إلى VB.NET
 الكلمة المفتاحية "using"، وتبسيط استخدام الكائنات التي تتطلب نمط التخلص إلى الموارد الحرة
 ميزة "التعليمات البرمجية الخاصة بي" فقط، والتي تخفي (الخطوات على) الشفرة المتداولة التي كتبها Visual Studio .NET IDE ورمز مكتبة النظام أثناء التصحيح
 ربط مصدر البيانات، وتسهيل تطوير عميل/خادم قاعدة البيانات

لسد الفجوات بينها وبين لغات .NET الأخرى، أضاف هذا الإصدار:

 البرمجة العامة
 الفئات الجزئية، وهي طريقة لتعريف بعض أجزاء فئة في ملف واحد ثم إضافة المزيد من التعريفات لاحقاً؛ مفيدة بشكل خاص لدمج الشيفرة البرمجية التي تم إنشاؤها من قبل المستخدم مع التعليمات الشيفرة التي تم إنشاؤها تلقائيًا
 عامل التشغيل الزائد والأنواع الخالية
 دعم نوع بيانات العدد الصحيح غير الموقع شائع الاستخدام في اللغات أخرى
 تقديم عامل التشغيل IsNot الذي يجعل 'If X IsNot Y' مكافئ 'If Not X Is Y'Visual Basic 9.0VB 9.019 نوفمبر 2007تم إصداره مع .NET Framework 3.5.

أضافت Microsoft العديد من الميزات لهذا الإصدار، بما في ذلك:

 عامل تشغيل شرطي صحيح، "If(condition as boolean, truepart, falsepart)"، لاستبدال الدالة "IIf"
 أنواع مجهولة
 دعم لـ LINQ
 تعبيرات لامدا
 قيم XML الحرفية
 نوع الاستدلال
 أساليب التمديدVisual Basic 2010VB 10.0أبريل 2010خططت مايكروسوفت لاستخدام وقت تشغيل اللغة الديناميكي لذلك الإصدار ولكن تحولت إلى استراتيجية تطوير مشترك بين لغة فيجوال بيسك ولغة سي شارب الشقيقة لجعل كلا اللغتين تماثل بعضها البعض. تم تحسين قدرة فيجوال بيسك الفطرية على التفاعل مع كائنات CLR و COM للعمل مع اللغات الديناميكية المبنية على DLR مثل IronPython وIronRuby. تم تحسين المحول البرمجي لفيجوال بيسك لاستنتاج متابعة الخط في مجموعة من السياقات الشائعة، وإزالة الحاجة إلى أحرف متابعة السطر "_" في كثير من الحالات. أيضا، تم استكمال الدعم الموجود لـ الدوال مضمنة مع دعم ل Subs المضمنة بالإضافة إلى إصدارات متعددة الأسطر لكل من Subs وتعبيرات لامدا.VB 11.02012تم إصداره جنبا إلى جنب مع .NET Framework 4.5. وتشمل السمات الرئيسية التي أدخلت في هذا الإصدار:

 البرمجة غير المتزامنة مع عبارات "async" و "async"
 Iterators
 التسلسل الهرمي للنداءات
 معلومات المنادي
 الكلمة المفتاحية "Global" في عبارات "namespace"Visual Basic 2013VB 12.02013تم إصداره جنبا إلى جنب مع .NET Framework 4.5.1 و Visual Studio 2013. يمكن أيضاً إنشاء تطبيقات .NET Framework 4.5.2 بواسطة تثبيت حزمة المطور.Visual Basic 2015 VB 14.02015تم إصداره مع Visual Studio 2015. تتضمن ميزات اللغة عامل تشغيل جديد "?." لإجراء تدقيقات فارغة مضمّنة، ويتم تضمين ميزة استيفاء سلسلة جديدة لتنسيق سلاسل مضمنة.Visual Basic 2017 VB 15.x2017تم إصداره مع Visual Studio 2017. توسيع الدعم لـ ميزات لغة Visual Basic 15 الجديدة مع مراجعة 2017, 15.3, 15.5, 15.8. يقدم إعادة بناء التعليمات الجديدة التي تسمح بتنظيم تعليمات الشيفرة البرمجية مع إجراء واحد.Visual Basic 2019VB 16.02019تم إصداره مع Visual Studio 2019. ركز الإصدار الأول من فيجوال بيسك على .NET الأساسية.

 تطوير الأنظمة الأساسية ومفتوح المصدر 
محول برمجي  (مترجم الرمز البرمجي Compiler) الفيجوال بيسك دوت نت الرسمي مكتوب بلغة فيجوال بيسك دوت نت وموجود على منصة غيت هاب (GitHub) كجزء من منصة دوت نت. إنشاء أدوات فيجوال بيسك دوت نت المفتوحة المصدر كانت بطيئة مقارنة مع لغة c#، على الرغم من أن منصة مونو للتطوير  (Mono development platform) توفر تطبيقات مكتبات خاصة لفيجوال بيسك دوت نت، وفيجوال بيسك دوت نت النسخة الثامنة تدعم المترجم المكتوب بلغة فيجوال بيسك دوت نت، وكذلك مكتبات إطارات العمل القياسية مثل مكتبات نماذج ويندوز ذات الواجهات الرسومية GUI.

SharpDevelop و MonoDevelop هي منصات (IDEs) مفتوحة المصدر بديلة. بيئة العمل Gambas هي كذلك مماثلة لكنها تختلف عن فيجوال بيسك.

 انظر أيضًا 

 برمجة
 لغة برمجة عالية المستوى
 مقارنة بين لغات البرمجة
 فيجوال بيسك

 مراجع 

 وصلات خارجية 

 من الصفر إلى الاحتراف: فيجيوال بيسك دوت نت 2010، محمد حمدي غانم

تصنيف:برمجيات 2001
تصنيف:عائلة لغة بيسك
تصنيف:لغات برمجة .نت
تصنيف:لغات برمجة كائنية التوجه
تصنيف:مايكروسوفت بيسك
تصنيف:مايكروسوفت فيجوال ستوديو