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

فيجوال بيسك دوت نت (بالإنجليزية: Visual Basic .NET أو VB.NET)‏ هي نسخة جديدة بكل المقاييس من فيجوال بيسك أصدرتها مايكروسوفت في نهاية عام 2001. بنتها مايكروسوفت من الصفر لتجعلها إحدى لغات نظام فيجيوال ستديو دوت نت (بالإنجليزية: VS .NET)‏ وتستفيد من كل قدرات إطار عمل دوت نت، فتصير بذلك نداً حقيقياً لعائلة لغات سي++ بحيث تتسيد فيجوال بيسك برمجة تطبيقات مواقع الإنترنت، التطبيقات التجارية وتطبيقات قواعد البيانات والوسائط المتعددة ومعظم الألعاب وما شابه.
وهذا هو السبب الذي دفع مايكروسوفت إلى إصدار اللغة الجديدة سي شارب، التي تعتبر توأماً لفيجوال بيسك إلا إنها تستخدم قواعد لغة سي++ في كتابة الأوامر، مما يسهل لمبرمجي سي++ الانتقال إليها. كما انضمت لغة جي شارب إلى عائلة دوت نت عام 2003، لإغراء مبرمجي جافا. ولكن مهما كانت سهولة سي شارب وجي شارب، فإن فيجوال بيسك تسبقهما في هذا المضمار، فهي أقرب ما تكون إلى اللغة الإنجليزية العادية، ولا تحتوي على الرموز الكثيرة المملة التي تملأ سي شارب وجي شارب، مثل ";" ، "++" ، "==" ، "||" إلى آخر هذه الرموز التي تجعل احتمالات الخطأ عند كتابة الشيفرة البرمجية أعلى، وتجعل البرنامج أصعب فهماً وأقل ألفة عند قراءته.
ولم تتوقف مايكروسوفت عن التطوير، ففي العام التالي أصدرت دوت نت 2003، وبعدها بعامين أصدرت دوت نت 2005 التي ضيقت الفجوة أكثر بين فيجيوال بيسيك وسي شارب بإضافة بعض القدرات الناقصة مثل إعادة تعريف المعاملات Operator Overloading. ثم جاءت دوت نت 2008 لتتيح تعريف الأنواع المجهولة Anonymous Types، وكتابة طرق إضافية Extended Methods للفئات الجاهزة الموجودة في اللغة، بالإضافة إلى استخدام الاستعلام المتكامل LINQ. وأخيراً جاءت دوت نت 2010 لتتيح لاستعلامات LINQ للاستفادة من الأجهزة التي تحتوي على أكثر من معالج دقيق من خلال الاستعلامات المتوازية PLINQ، مع إدخال بعض التعديلات الطفيفة في كود البيسك، مثل السماح بتقسيم الأوامر على أكثر من سطر في بعض المواضع بدون الحاجة إلى وضع علامة تقسيم السطر "_" ، ومثل تعريف دوال فورية Lambda Expressions متعددة السطور، وغير هذا من الإضافات.

## أمثلة
### برنامج مرحبا بالعالم !Hello World

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

#### نموذج تطبيق ويندوز (نافذة)

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

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

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

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

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

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

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

## الإصدارات

| الاسم | اسم اخر | العام | الميزات |
| | VB 7.0 | 2002 | يعتمد الإصدار الأول فيجوال بيسك دوت نت على إطار عمل NET 1.0. الميزة الأكثر أهمية هي تعليمات برمجية مُدارة، والتي تتناقض مع فيجوال بيسك الكلاسيكية. |
| Visual Basic.NET 2003 | VB 7.1 | 2003 | تم إصداره مع .NET Framework 1.1. تتضمن الميزات الجديدة دعم .NET Compact Framework ومساعد إعداد ترقية أفضل VB. تم إجراء تحسينات أيضاً على أداء ووثوقية .NET IDE (المحول الخلفي بشكل خاص) ووقت التشغيل. بالإضافة إلى ذلك، توفر Visual Basic.NET 2003 في Visual Studio.NET الإصدار الأكاديمي، الذي تم توزيعه على عدد معين من الباحثين من كل عدة بلدان دون تكلفة. |
| Visual Basic 2005 | VB 8.0 | 2005 | بعد 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.0 | VB 9.0 | 19 نوفمبر 2007 | تم إصداره مع .NET Framework 3.5. أضافت Microsoft العديد من الميزات لهذا الإصدار، بما في ذلك: عامل تشغيل شرطي صحيح، "If(condition as boolean, truepart, falsepart)"، لاستبدال الدالة "IIf" أنواع مجهولة دعم لـ LINQ تعبيرات لامدا قيم XML الحرفية نوع الاستدلال أساليب التمديد |
| Visual Basic 2010 | VB 10.0 | أبريل 2010 | خططت مايكروسوفت لاستخدام وقت تشغيل اللغة الديناميكي لذلك الإصدار ولكن تحولت إلى استراتيجية تطوير مشترك بين لغة فيجوال بيسك ولغة سي شارب الشقيقة لجعل كلا اللغتين تماثل بعضها البعض. تم تحسين قدرة فيجوال بيسك الفطرية على التفاعل مع كائنات CLR و COM للعمل مع اللغات الديناميكية المبنية على DLR مثل IronPython وIronRuby. تم تحسين المحول البرمجي لفيجوال بيسك لاستنتاج متابعة الخط في مجموعة من السياقات الشائعة، وإزالة الحاجة إلى أحرف متابعة السطر "_" في كثير من الحالات. أيضا، تم استكمال الدعم الموجود لـ الدوال مضمنة مع دعم ل Subs المضمنة بالإضافة إلى إصدارات متعددة الأسطر لكل من Subs وتعبيرات لامدا. |
| | VB 11.0 | 2012 | تم إصداره جنبا إلى جنب مع .NET Framework 4.5. وتشمل السمات الرئيسية التي أدخلت في هذا الإصدار: البرمجة غير المتزامنة مع عبارات "async" و "async" Iterators التسلسل الهرمي للنداءات معلومات المنادي الكلمة المفتاحية "Global" في عبارات "namespace" |
| Visual Basic 2013 | VB 12.0 | 2013 | تم إصداره جنبا إلى جنب مع .NET Framework 4.5.1 و Visual Studio 2013. يمكن أيضاً إنشاء تطبيقات .NET Framework 4.5.2 بواسطة تثبيت حزمة المطور. |
| Visual Basic 2015 | VB 14.0 | 2015 | تم إصداره مع Visual Studio 2015. تتضمن ميزات اللغة عامل تشغيل جديد "?." لإجراء تدقيقات فارغة مضمّنة، ويتم تضمين ميزة استيفاء سلسلة جديدة لتنسيق سلاسل مضمنة. |
| Visual Basic 2017 | VB 15.x | 2017 | تم إصداره مع Visual Studio 2017. توسيع الدعم لـ ميزات لغة Visual Basic 15 الجديدة مع مراجعة 2017, 15.3, 15.5, 15.8. يقدم إعادة بناء التعليمات الجديدة التي تسمح بتنظيم تعليمات الشيفرة البرمجية مع إجراء واحد. |
| Visual Basic 2019 | VB 16.0 | 2019 | تم إصداره مع Visual Studio 2019. ركز الإصدار الأول من فيجوال بيسك على .NET الأساسية. |

## تطوير الأنظمة الأساسية ومفتوح المصدر

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