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

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

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

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

## أمثلة

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

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

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

تصغير|نموذج تطبيق بنافذة

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


```vb.net
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) وبدون واجهة رسومية.
```vb.net
Module Module1

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


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

عبارة عن برنامج يتحدث بالصوت كل ما تدخله في مربع الكتابة. نحتاج مربع الكتابة (TextBox) باسم 'TextBox1' وزر بغسم Button1
```vb.net
Public 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).
```vb.net
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
```


## الإصدارات

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

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

## انظر أيضًا

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

## مراجع

## وصلات خارجية

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

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