فيجوال بيسك (.NET)
فيجوال بيسك ( VB )، التي كانت تُعرف سابقًا باسم فيجوال بيسك دوت نت ( VB.NET )، هي لغة برمجة متعددة الأنماط ، كائنية التوجه، طورتها مايكروسوفت وتُنفذ على منصات دوت نت ، ومونو ، وإطار عمل دوت نت . أطلقت مايكروسوفت VB.NET في عام 2002 كخليفة للغة فيجوال بيسك الأصلية ، والتي كان آخر إصدار منها هو فيجوال بيسك 6.0. على الرغم من حذف جزء ".NET" من الاسم في عام 2005، إلا أن هذه المقالة تستخدم مصطلح "فيجوال بيسك [.NET]" للإشارة إلى جميع لغات فيجوال بيسك التي صدرت منذ عام 2002، وذلك للتمييز بينها وبين فيجوال بيسك الكلاسيكية . إلى جانب لغتي C# و F# ، تُعد فيجوال بيسك إحدى اللغات الثلاث الرئيسية التي تستهدف بيئة دوت نت. وقد حدّثت مايكروسوفت استراتيجيتها الخاصة بلغة فيجوال بيسك في 6 فبراير 2023، مُعلنةً أن فيجوال بيسك لغة مستقرة الآن، وأن مايكروسوفت ستواصل دعمها، لكنها لن تُضيف دعمًا لأحمال العمل الجديدة. [ 6 ]
بيئة التطوير المتكاملة (IDE) من مايكروسوفت لتطوير البرامج بلغة فيجوال بيسك هي فيجوال ستوديو . معظم إصدارات فيجوال ستوديو تجارية ، باستثناء فيجوال ستوديو إكسبريس وفيجوال ستوديو كوميونيتي ، فهما مجانيان . بالإضافة إلى ذلك، تتضمن حزمة تطوير البرامج (SDK) الخاصة بإطار عمل .NET مُصرّفًا مجانيًا يعمل عبر سطر الأوامر يُسمى vbc.exe. كما يتضمن برنامج مونو مُصرّفًا للغة VB.NET يعمل عبر سطر الأوامر أيضًا.
يُستخدم Visual Basic غالبًا مع مكتبة واجهة المستخدم الرسومية Windows Forms لإنشاء تطبيقات سطح المكتب لنظام Windows . تتضمن برمجة Windows Forms باستخدام Visual Basic سحب وإفلات عناصر التحكم على نموذج باستخدام مصمم واجهة المستخدم الرسومية وكتابة التعليمات البرمجية المناسبة لكل عنصر تحكم.
يُستخدم في إنشاء برامج واجهة المستخدم الرسومية
تُستخدم مكتبة Windows Forms بشكل شائع لإنشاء واجهات المستخدم الرسومية في Visual Basic. جميع العناصر المرئية في مكتبة فئات Windows Forms مشتقة من فئة Control. توفر هذه الفئة الحد الأدنى من وظائف عنصر واجهة المستخدم، مثل الموقع والحجم واللون والخط والنص، بالإضافة إلى الأحداث الشائعة كالنقر والسحب والإفلات. كما تدعم فئة Control خاصية الإرساء، مما يسمح لعنصر التحكم بإعادة ترتيب موضعه أسفل العنصر الأصل.
عادةً ما تُصمَّم النماذج في بيئة التطوير المتكاملة Visual Studio . في Visual Studio، تُنشأ النماذج باستخدام تقنية السحب والإفلات . تُستخدم أداة لوضع عناصر التحكم (مثل مربعات النص والأزرار وغيرها) على النموذج (النافذة). تحتوي عناصر التحكم على سمات ومعالجات أحداث مرتبطة بها. تُوفَّر قيم افتراضية عند إنشاء عنصر التحكم، ولكن يمكن تغييرها في واجهة المستخدم الرسومية لبيئة Visual Studio أو برمجيًا. يمكن تعديل العديد من قيم السمات أثناء التشغيل برمجيًا، بناءً على إجراءات المستخدم أو التغييرات في البيئة، مما يوفر تطبيقًا ديناميكيًا. على سبيل المثال، يمكن إدراج كود في معالج حدث تغيير حجم النموذج لإعادة وضع عنصر تحكم بحيث يبقى متمركزًا في النموذج، أو يتوسع لملء النموذج، وما إلى ذلك. من خلال إدراج كود في معالج حدث ضغط مفتاح في مربع نص، يمكن للبرنامج ترجمة حالة الأحرف للنص المُدخل تلقائيًا، أو حتى منع إدخال أحرف معينة.
بناء الجملة
يستخدم Visual Basic العبارات لتحديد الإجراءات. العبارة الأكثر شيوعًا هي عبارة التعبير، التي تتكون من تعبير يُراد تقييمه، في سطر واحد. وكجزء من هذا التقييم، يمكن استدعاء الدوال أو الإجراءات الفرعية ، ويمكن إسناد قيم جديدة للمتغيرات . لتعديل التنفيذ التسلسلي العادي للعبارات، يوفر Visual Basic عدة عبارات للتحكم في التدفق، يتم تحديدها بواسطة كلمات مفتاحية محجوزة. يدعم Visual Basic البرمجة المهيكلة من خلال عدة بنيات، بما في ذلك بنيتان للتنفيذ الشرطي ( ... ... ... و ... ... ) وأربع بنيات للتنفيذ التكراري (حلقة) ( ... ، ... ، ... ، و ... ). تحتوي عبارة ... على قسمين منفصلين للتهيئة والاختبار، وكلاهما ضروري. (انظر الأمثلة أدناه). تتنقل هذه العبارة عبر كل قيمة في القائمة.IfThenElseEnd IfSelect CaseCaseEnd SelectDoLoopForToFor EachWhileEnd WhileForToFor Each
بالإضافة إلى ذلك، في لغة فيجوال بيسك:
- لا توجد طريقة موحدة لتعريف مجموعات التعليمات البرمجية. بدلاً من ذلك، تُفسَّر بعض الكلمات المفتاحية، مثل "If ... Then" أو "Sub"، على أنها بدايات لمجموعات فرعية من التعليمات البرمجية، ولها كلمات مفتاحية إنهاء مطابقة مثل "End If" أو "End Sub".
- تُنهى العبارات إما بنقطتين رأسيتين (":") أو بنهاية السطر . تُفعّل العبارات متعددة الأسطر في فيجوال بيسك بإضافة "_" في نهاية كل سطر. وقد أُزيلت الحاجة إلى رمز الاستمرار (الشرطة السفلية) إلى حد كبير في الإصدار 10 والإصدارات اللاحقة. [ 7 ]
- تُستخدم علامة المساواة ("") في كل من إسناد القيم للمتغيرات وفي المقارنة.
- تُستخدم الأقواس الدائرية مع المصفوفات ، سواءً لتعريفها أو للحصول على قيمة عند فهرس مُحدد في إحداها. يستخدم Visual Basic الأقواس الدائرية لتحديد مُعاملات الإجراءات الفرعية أو الدوال.
- تشير علامة الاقتباس المفردة ( ') أو الكلمة المفتاحية
REM، الموضوعة في بداية السطر أو بعد أي عدد من المسافات أو أحرف الجدولة في بداية السطر، أو بعد أي رمز آخر على السطر، إلى أن (بقية) السطر عبارة عن تعليق .
مثال بسيط
فيما يلي برنامج بسيط للغاية مكتوب بلغة فيجوال بيسك، وهو نسخة من المثال الكلاسيكي " Hello, World! " تم إنشاؤه كتطبيق وحدة تحكم:
الوحدة النمطية الوحدة النمطية 1Sub Main () ' برنامج العرض التوضيحي الكلاسيكي "مرحباً بالعالم!" Console . WriteLine ( "مرحباً بالعالم!" ) End Subوحدة النهايةيطبع البرنامج عبارة " Hello, World! " في نافذة سطر الأوامر . كل سطر يخدم غرضًا محددًا، كما يلي:
الوحدة النمطية الوحدة النمطية 1هذا تعريف للوحدة البرمجية. الوحدات البرمجية هي أقسام من التعليمات البرمجية، يمكن أن تحتوي على أي نوع من الكائنات، مثل الثوابت أو المتغيرات، أو الدوال أو الأساليب، أو الأصناف، ولكن لا يمكن إنشاء مثيلات منها ككائنات مثل الأصناف، ولا يمكنها الوراثة من وحدات برمجية أخرى. تعمل الوحدات البرمجية كحاويات للتعليمات البرمجية التي يمكن الرجوع إليها من أجزاء أخرى من البرنامج. [ 8 ] من الممارسات الشائعة أن تحمل الوحدة البرمجية وملف التعليمات البرمجية الذي يحتويها نفس الاسم. ومع ذلك، هذا ليس شرطًا، حيث يمكن أن يحتوي ملف التعليمات البرمجية الواحد على أكثر من وحدة برمجية أو صنف.
Sub Main ()يُعرّف هذا السطر روتينًا فرعيًا يُسمى "Main". "Main" هي نقطة الدخول، حيث يبدأ البرنامج بالتنفيذ. [ 9 ]
Console.WriteLine ( "Hello, world ! " )يُنفّذ هذا السطر مهمة كتابة المخرجات. وحدة التحكم (Console) هي كائن نظام، يُمثّل واجهة سطر أوامر (تُعرف أيضًا باسم "وحدة التحكم")، ويُتيح الوصول البرمجي إلى تدفقات نظام التشغيل القياسية . يستدعي البرنامج دالة WriteLine الخاصة بوحدة التحكم ، والتي بدورها تعرض السلسلة النصية المُمرّرة إليها على وحدة التحكم.
بدلاً من Console.WriteLine، هناك بديل وهو MsgBox، الذي يطبع الرسالة في مربع حوار بدلاً من نافذة سطر الأوامر. [ 10 ]
أمثلة معقدة
يُخرج هذا الجزء من الكود مثلث فلويد إلى وحدة التحكم:
استيراد System.Consoleبرنامج الوحدةSub Main () Dim rows As Integerالتحقق من صحة المدخلات. كرر حتى يتم قراءة سطر " أدخل قيمة لعدد الصفوف المراد عرضها: " & vbcrlf ), rows ) وتحقق أيضًا من أن rows >= 1 اكتب سطر " النطاق المسموح به هو 1 و {0} " , Integer . MaxValue ) كرر ' إخراج مثلث فلويد Dim current As Integer = 1 Dim row As Integer Dim column As Integer For row = 1 To rows For column = 1 To row Write ( "{0,-2} " , current ) current += 1 NextWriteLine () Next End Sub''' <summary> ''' مثل Console.ReadLine ولكنها تأخذ سلسلة نصية للرسالة. ''' </summary> دالة ReadLine ( اختياري prompt As String = Nothing ) As String إذا كان prompt ليس Nothing ثم اكتب ( prompt ) نهاية إذاإرجاع وحدة التحكم . قراءة السطر () نهاية الدالةوحدة النهايةمقارنة مع لغة البرمجة الكلاسيكية Visual Basic
يُعدّ ما إذا كان ينبغي اعتبار Visual Basic .NET مجرد نسخة أخرى من Visual Basic أم لغة مختلفة تمامًا موضوعًا للنقاش. تتضمن هذه النسخة إضافات جديدة لدعم ميزات جديدة، مثل معالجة الاستثناءات المنظمة والتعبيرات المختصرة. كما طرأ تغييران مهمان على أنواع البيانات مع الانتقال إلى VB.NET: فمقارنةً بـ Visual Basic 6، تضاعف طول Integerنوع البيانات من 16 بت إلى 32 بت، وتضاعف طول Longنوع البيانات من 32 بت إلى 64 بت. ينطبق هذا على جميع إصدارات VB.NET. يُعرف العدد الصحيح ذو 16 بت في جميع إصدارات VB.NET الآن باسم Short. وبالمثل، فإن محرر نماذج Windows Forms مشابه جدًا في أسلوبه ووظيفته لمحرر نماذج Visual Basic.
الأمور التي تغيرت بشكل ملحوظ هي دلالات اللغة - من لغة برمجة كائنية التوجه تعمل على محرك حتمي يعتمد على عدّ المراجع باستخدام COM، إلى لغة كائنية التوجه بالكامل مدعومة بإطار عمل .NET ، والذي يتألف من مزيج من بيئة تشغيل اللغة المشتركة ( آلة افتراضية تستخدم تجميع البيانات المهملة التوليدي ومحرك ترجمة فورية ) ومكتبة فئات أوسع بكثير . وقد شكّل هذا التوسع الكبير في مكتبة الفئات مشكلةً واجهها مطورو VB عند استخدامهم للغة، على الرغم من أن ميزة "My" في Visual Studio 2005 قد عالجت هذه المشكلة جزئيًا.
أدت هذه التغييرات إلى تعديل العديد من الافتراضات الأساسية حول "الخيار الأمثل" فيما يتعلق بأداء التطبيقات وسهولة صيانتها. اختفت بعض الدوال والمكتبات، بينما لا تزال أخرى متاحة، ولكنها ليست بكفاءة بدائل .NET الأصلية. حتى في حال نجاح عملية التجميع، تطلبت معظم تطبيقات Visual Basic 6 المُحوّلة إعادة هيكلة جزئية للاستفادة الكاملة من لغة .NET. وقد وفرت مايكروسوفت وثائق تغطي التغييرات في بنية اللغة، وتصحيح أخطاء التطبيقات، والنشر، والمصطلحات. [ 11 ] ومن الكتب التجارية الشائعة التي صُممت لتسهيل عملية الانتقال كتاب " Microsoft Visual Basic .NET Professional Step by Step" لمايكل هالفورسون ، والذي نشرته مايكروسوفت برس عام 2002 .
أمثلة مقارنة
تُقارن الأمثلة البسيطة التالية بين صيغتي VB و VB.NET. تفترض هذه الأمثلة أن المطور قد أنشأ نموذجًا، ووضع زرًا عليه، وربط الإجراءات الفرعية الموضحة في كل مثال بمعالج حدث النقر على الزر المذكور. يُنشئ كل مثال مربع رسالة "Hello, World" بعد النقر على الزر في النموذج.
فيجوال بيسك 6:
Private Sub Command1_Click () MsgBox "Hello, World" End SubVB.NET (يمكن استخدام فئة MsgBox أو MessageBox):
Private Sub Button1_Click ( sender As object , e As EventArgs ) Handles Button1 . Click MsgBox ( "Hello, World" ) End Sub- يقوم كل من Visual Basic 6 وVisual Basic .NET بإنشاء عبارات `
Suband` تلقائيًاEnd Subعند النقر المزدوج على الزر المقابل في عرض التصميم. كما يقوم Visual Basic .NET بإنشاء عباراتClass`and` اللازمةEnd Class. كل ما يحتاجه المطور هو إضافة عبارة `and` لعرض مربع رسالة "Hello, World". - يجب إجراء جميع استدعاءات الإجراءات باستخدام الأقواس في VB.NET، بينما في Visual Basic 6 كانت هناك اصطلاحات مختلفة للوظائف (الأقواس مطلوبة) والإجراءات الفرعية (لا يُسمح باستخدام الأقواس، إلا إذا تم استدعاؤها باستخدام الكلمة الرئيسية
Call). Command1لا يُعدّ استخدام هذين الاسمينButton1إلزاميًا. ومع ذلك، فهما اسمان افتراضيان لزر أمر في Visual Basic 6 و VB.NET على التوالي.- في VB.NET،
Handlesتُستخدم الكلمة المفتاحية لجعل الإجراء الفرعيButton1_Clickمعالجًا لحدثClickالكائنButton1. في Visual Basic 6، يجب أن يكون للإجراء الفرعي لمعالجات الأحداث اسم محدد يتكون من اسم الكائن (Command1)، وشرطة سفلية (_)، واسم الحدث (Click، ومن هنا جاء اسم الإجراء الفرعي لمعالجات الأحداثCommand1_Click). - توجد دالة
MessageBox.ShowفيMicrosoft.VisualBasicمساحة الاسم يمكن استخدامها (بدلاً منMsgBox) بشكل مشابه للدالة المقابلة في فيجوال بيسك 6. وهناك جدل [ 12 ] حول أفضل ممارسة لاستخدام هذه الدالة (لا يقتصر الأمر على عرض مربعات الرسائل فحسب، بل يشمل أيضًا ميزات أخرى لمساحة الاسمMicrosoft.VisualBasic). يفضل بعض المبرمجين اتباع "طريقة .NET"، نظرًا لأن فئات الإطار تتمتع بميزات أكثر وهي أقل ارتباطًا بلغة برمجة معينة. بينما يرى آخرون أن استخدام ميزات خاصة بلغة برمجة معينة يجعل الكود أكثر قابلية للقراءة (على سبيل المثال، استخدامint(C#) أوInteger(VB.NET) بدلاً منSystem.Int32). - في Visual Basic 2008، أصبح تضمين ، اختياريًا.
ByValsenderasObjectByValeasEventArgs
يوضح المثال التالي الفرق بين Visual Basic 6 و VB.NET. كلا المثالين يغلقان النافذة النشطة .
فيجوال بيسك 6:
Sub cmdClose_Click () Unload Me End SubVB.NET:
Sub btnClose_Click ( sender As Object , e As EventArgs ) Handles btnClose . Click Close () End Subيتم استبدال البادئة 'cmd' بالبادئة 'btn'، بما يتوافق مع الاتفاقية الجديدة المذكورة سابقًا.
لم توفر لغة Visual Basic 6 اختصارات للمشغلات الشائعة. ما يلي يُعدّ مكافئًا لها:
فيجوال بيسك 6:
Sub Timer1_Timer () ' يُقلل ارتفاع النموذج بمقدار بكسل واحد لكل دورة Me.Height = Me.Height - 1 End SubVB.NET:
Sub Timer1_Tick ( sender As Object , e As EventArgs ) Handles Timer1 . Tick Me . Height -= 1 End Subمقارنة مع لغة C#
تُعدّ لغتا C# وVisual Basic أولى لغات مايكروسوفت المصممة للبرمجة على إطار عمل .NET (لاحقًا أُضيفت F# وغيرها؛ كما أضافت شركات أخرى لغات أخرى). ورغم اختلافهما في البنية النحوية، فإنّ الاختلافات بينهما تنتهي عند هذا الحدّ. طوّرت مايكروسوفت هاتين اللغتين لتكونا جزءًا من منصة تطوير .NET Framework نفسها. ويتم تطويرهما وإدارتهما ودعمهما من قِبل فريق تطوير اللغة نفسه في مايكروسوفت. [ 13 ] تُترجم اللغتان إلى لغة وسيطة واحدة (IL) تُعرف باسم CIL ، والتي تعمل مع مكتبات وقت تشغيل .NET Framework نفسها. [ 14 ] على الرغم من وجود بعض الاختلافات في بنى البرمجة، إلا أنّ اختلافاتهما نحوية في المقام الأول، وبافتراض تجنّب مكتبات "التوافق" الخاصة بـ Visual Basic التي وفّرتها مايكروسوفت لتسهيل التحويل من Visual Basic 6، فإنّ لكل ميزة تقريبًا في VB ميزة مكافئة في C# والعكس صحيح. تشير كلتا اللغتين إلى الفئات الأساسية نفسها في .NET Framework لتوسيع وظائفهما، ويمكن لكلتيهما الإشارة إلى التعليمات البرمجية المُترجمة المكتوبة باللغة الأخرى. ونتيجةً لذلك، باستثناءات قليلة، يمكن تشغيل برنامج مكتوب بأي من اللغتين من خلال مُحوِّل صيغة بسيط لترجمته إلى اللغة الأخرى. وتتوفر العديد من المنتجات مفتوحة المصدر والتجارية لهذا الغرض.
أمثلة
مرحبا بالعالم!
تطبيق ويندوز فورمز
يتطلب زرًا يسمى Button1.
نموذج الفصل الدراسي العام 1Private Sub Button1_Click ( sender As Object , e As EventArgs ) Handles Button1.Click MsgBox ( " Hello world!" , MsgBoxStyle.Information , " Hello world!" ) ' عرض رسالة تقول "Hello world! " . End Sub End Class
تطبيق وحدة التحكم
الوحدة النمطية الوحدة النمطية 1Sub Main () Console . WriteLine ( "Hello world!" ) ' اكتب في وحدة التحكم "Hello world!" وابدأ سطرًا جديدًا. Console . ReadKey () ' يجب على المستخدم الضغط على أي مفتاح قبل انتهاء التطبيق. End Sub End Moduleتكلم
تطبيق ويندوز فورمز
يتطلب مربع نص بعنوان "TextBox1" وزرًا يسمى Button1.
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تطبيق وحدة التحكم
الوحدة النمطية الوحدة النمطية 1Private Voice = CreateObject ( "Sapi.Spvoice" )نص خاص كسلسلة نصيةSub Main ()Console.Write ( " أدخل النص المراد نطقه: " ) 'Say "أدخل النص المراد نطقه: "Text = Console . ReadLine () ' يجب على المستخدم إدخال النص للتحدث به.Voice . Speak ( Text ) ' نطق النص الذي أدخله المستخدم.نهاية الإجراء الفرعيوحدة النهايةسجل الإصدارات
بعد الإصدار الكلاسيكي من Visual Basic 6.0، ظهر الإصدار الأول من Visual Basic .NET في عام 2002. اعتبارًا من عام 2020تم إصدار عشر نسخ من Visual Basic .NET.
2002 (VB 7.0)
يعتمد الإصدار الأول، Visual Basic .NET، على .NET Framework 1.0 . وتتمثل أهم ميزة فيه في الكود المُدار ، وهو ما يختلف عن Visual Basic الكلاسيكي.
2003 (VB 7.1)
Visual Basic .NET 2003 was released with .NET Framework 1.1. New features included support for the .NET Compact Framework and a better VB upgrade wizard. Improvements were also made to the performance and reliability of .NET IDE (particularly the background compiler) and runtime. In addition, Visual Basic .NET 2003 was available in the Visual Studio.NET Academic Edition, distributed to a certain number of scholars from each country without cost.
2005 (VB 8.0)
After Visual Basic .NET 2003, Microsoft dropped ".NET" from the name of the product, calling the next version Visual Basic 2005.
For this release, Microsoft added many features intended to reinforce Visual Basic .NET's focus as a rapid application development platform and further differentiate it from C#., including:
- Edit and Continue feature
- Design-time expression evaluation
- A pseudo-namespace called "My", which provides:[15][16]
- Easy access to certain areas of the .NET Framework that otherwise require significant code to access like using
My.Form2.Text=" MainForm "rather thanSystem.WindowsApplication1.Forms.Form2.text=" MainForm " - Dynamically generated classes (e.g. My.Forms)
- Easy access to certain areas of the .NET Framework that otherwise require significant code to access like using
- Improved VB-to-VB.NET converter[17]
- A "using" keyword, simplifying the use of objects that require the Dispose pattern to free resources
- Just My Code feature, which hides (steps over) boilerplate code written by the Visual Studio .NET IDE and system library code during debugging
- Data Source binding, easing database client/server development
To bridge the gaps between itself and other .NET languages, this version added:
- Generics[18]
- Partial classes, a method of defining some parts of a class in one file and then adding more definitions later; particularly useful for integrating user code with auto-generated code
- Operator overloading and nullable types[19]
- Support for unsigned integer data types commonly used in other languages
Visual Basic 2005 introduced the IsNot operator that makes 'If X IsNot Y' equivalent to 'If Not X Is Y'. It gained notoriety[20] when it was found to be the subject of a Microsoft patent application.[21][22]
2008 (VB 9.0)
Visual Basic 9.0 was released along with .NET Framework 3.5 on November 19, 2007.
For this release, Microsoft added many features, including:
- عامل شرطي حقيقي ، "If(condition as Boolean, truepart, falsepart)"، ليحل محل دالة "IIf".
- الأنواع المجهولة
- دعم LINQ
- تعبيرات لامدا
- XML Literals
- استنتاج النوع
- طريقة التمديد
2010 (VB 10.0)
في أبريل 2010، أصدرت مايكروسوفت Visual Basic 2010. كانت مايكروسوفت قد خططت لاستخدام بيئة تشغيل اللغات الديناميكية (DLR) في ذلك الإصدار [ 23 ]، لكنها تحولت إلى استراتيجية تطوير مشترك بين Visual Basic ولغة C# الشقيقة لتقريب اللغتين من بعضهما البعض. تم تحسين قدرة Visual Basic الفطرية على التفاعل ديناميكيًا مع كائنات CLR وCOM للعمل مع اللغات الديناميكية المبنية على DLR مثل IronPython و IronRuby . [ 24 ] تم تحسين مُصرّف Visual Basic لاستنتاج استمرارية الأسطر في مجموعة من السياقات الشائعة، مما أدى في كثير من الحالات إلى إزالة الحاجة إلى أحرف استمرارية الأسطر "_". كما تم استكمال الدعم الحالي للدوال المضمنة بدعم الإجراءات الفرعية المضمنة بالإضافة إلى إصدارات متعددة الأسطر من كل من تعابير لامدا الفرعية والدوال. [ 25 ]
2012 (VB 11.0)
تم إصدار Visual Basic 2012 بالتزامن مع .NET Framework 4.5 . وتشمل الميزات الرئيسية التي تم تقديمها في هذا الإصدار ما يلي:
- البرمجة غير المتزامنة باستخدام عبارات "async" و "await".
- المكررات
- التسلسل الهرمي للمكالمات
- معلومات المتصل
- الكلمة المفتاحية "Global" في عبارات "namespace"
2013 (VB 12.0)
تم إصدار Visual Basic 2013 بالتزامن مع .NET Framework 4.5.1 مع Visual Studio 2013. ويمكن أيضًا إنشاء تطبيقات .NET Framework 4.5.2 عن طريق تثبيت حزمة المطورين. [ 26 ]
2015 (VB 14.0)
تم إصدار Visual Basic 2015 (الاسم الرمزي VB "14.0") مع Visual Studio 2015. تتضمن ميزات اللغة عامل التشغيل الجديد "؟" لإجراء عمليات التحقق من القيم الفارغة المضمنة، بالإضافة إلى ميزة جديدة لتنسيق السلاسل النصية بشكل مضمن. [ 27 ]
2017 (VB 15.x)
تم إصدار Visual Basic 2017 (الاسم الرمزي VB "15.0") مع Visual Studio 2017. يُوسّع هذا الإصدار دعم ميزات لغة Visual Basic 15 الجديدة مع الإصدارات 2017 و15.3 و15.5 و15.8. كما يُقدّم عمليات إعادة هيكلة جديدة تُتيح تنظيم شفرة المصدر بخطوة واحدة. [ 28 ] [ 29 ]
2019 (VB 16.x)
تم إصدار Visual Basic 2019 (الاسم الرمزي VB "16.0") مع Visual Studio 2019. [ 30 ] وهو أول إصدار من Visual Basic يركز على .NET Core. [ 31 ]
صدر تحديث بسيط لاحقًا باسم Visual Basic 16.9، والذي أضاف فقط إمكانية استخدام خصائص التهيئة فقط. [ 32 ] وقد تم ذلك للحفاظ على التوافق مع C# 9.0 [ 33 ] وفقًا لاستراتيجية التطوير الحالية للغة. [ 34 ]
2022 (VB 17.0)
يقوم Visual Basic 17.0 بتمكين System.Runtime.CompilerServices.CallerArgumentExpressionAttribute.
2026 (VB 17.13)
يتعرف Visual Basic 17.13 على القيد العام غير المُدار و System.Runtime.CompilerServices.OverloadResolutionPriorityAttribute لحل الأساليب.
التطوير متعدد المنصات ومفتوح المصدر
تمت كتابة مُصرّف Visual Basic الرسمي بلغة Visual Basic، وهو مُتاح على GitHub كجزء من منصة مُصرّف .NET . [ 35 ] كان إنشاء أدوات مفتوحة المصدر لتطوير Visual Basic بطيئًا مقارنةً بلغة C# ، على الرغم من أن منصة تطوير Mono تُوفّر تطبيقًا لمكتبات خاصة بـ Visual Basic ومُصرّفًا متوافقًا مع Visual Basic 2005 مكتوبًا بلغة Visual Basic، [ 36 ] بالإضافة إلى مكتبات إطار العمل القياسية مثل مكتبة واجهة المستخدم الرسومية لـ Windows Forms .
كان MonoDevelop بيئة تطوير متكاملة بديلة مفتوحة المصدر . بيئة Gambas مشابهة لبيئة Visual Basic ولكنها تختلف عنها، وكذلك محرر Visual FB الخاص بـ FreeBasic .
انظر أيضاً
مراجع
- ↑ "ملاحظات إصدار Visual Studio 2026" .
- 1 2 "Option Explicit وOption Strict في Visual Basic .NET وفي Visual Basic" . الدعم . مايكروسوفت . 19 مارس 2008. مؤرشف من الأصل في 4 أبريل 2015. تم الاسترجاع في 22 أغسطس 2013 .
- ↑ دولارد، كاثلين (13 نوفمبر 2018). "Visual Basic in .NET Core 3.0" . blogs.msdn.microsoft.com . مؤرشف من الأصل في 19 نوفمبر 2018. تم الاطلاع عليه في 21 نوفمبر 2018 .
- ↑ "دعم Visual Basic مُخطط له في .NET 5.0 | مدونة Visual Basic" . Blogs.msdn.microsoft.com. 11 مارس 2020. مؤرشف من الأصل في 5 يناير 2022. تم الاطلاع عليه في 26 أغسطس 2020 .
- ^ "دوت نت/روزلين" . جيثب . 26 نوفمبر 2024.
- ↑ كاثلين دولارد (6 فبراير 2023). "استراتيجية لغة فيجوال بيسك - فيجوال بيسك" . learn.microsoft.com . مؤرشف من الأصل في 31 مارس 2023. تم الاطلاع عليه في 31 مارس 2023 .
- ↑ "الميزات الجديدة في فيجوال بيسك 10" . 3 يونيو 2010. مؤرشف من الأصل في 4 مارس 2016. تم الاطلاع عليه في 5 سبتمبر 2015 .
- ↑ "بيان الوحدة النمطية" . مركز مطوري MSDN. مؤرشف من الأصل في 9 يناير 2010. تم الاطلاع عليه في 20 يناير 2010 .
- ↑ "الإجراء الرئيسي في فيجوال بيسك" . مركز مطوري MSDN. مؤرشف من الأصل في 28 يناير 2010. تم الاطلاع عليه في 20 يناير 2010 .
- ↑ "نسخة فيجوال بيسك من برنامج Hello, World" . مركز مطوري MSDN. مؤرشف من الأصل في 11 يناير 2010. تم الاطلاع عليه في 20 يناير 2010 .
- ↑ "مركز موارد ترحيل مايكروسوفت فيجوال بيسك 6.0" . MSDN . مايكروسوفت . مؤرشف من الأصل في 9 نوفمبر 2014. تم الاطلاع عليه في 9 نوفمبر 2014 .
- ↑ "الوثائق التقنية لبرنامج Visual Studio 2003 المتوقف" . مركز تنزيل مايكروسوفت . مؤرشف من الأصل في 30 ديسمبر 2014. تم الاطلاع عليه في 24 يوليو 2018 .
- ↑ كريل، بول (27 فبراير 2009). "مايكروسوفت تدمج لغات البرمجة | عالم المطورين" . إنفوورلد . تم الاطلاع عليه في 18 أغسطس 2013 .
{{cite web}}: CS1 maint: deprecated archiveal service ( link ) - ↑ "لغة مايكروسوفت الوسيطة" . Dotnet-guide.com. مؤرشف من الأصل في 2 يونيو 2013. تم الاطلاع عليه في 18 أغسطس 2013 .
- ↑ ماكنزي، دنكان (2006). "التنقل في إطار عمل .NET ومشاريعك باستخدام مساحة الاسم الخاصة بي" . مجلة MSDN، جولة إرشادية لبرنامج Visual Studio 2005 لعام 2006. مايكروسوفت . مؤرشف من الأصل في 15 فبراير 2014. تم الاطلاع عليه في 6 فبراير 2014 .
- ↑ ويتني، تايلر (نوفمبر 2005). "My.Internals: دراسة ميزة My في Visual Basic" . MSDN . مايكروسوفت . مؤرشف من الأصل في 14 يونيو 2012. تم الاطلاع عليه في 6 فبراير 2014 .
- ↑ "ما الجديد في معالج ترقية Visual Basic في Visual Basic 2005" . msdn2.microsoft.com . مؤرشف من الأصل في 6 أبريل 2008. تم الاطلاع عليه في 29 يناير 2008 .
- ↑ "تعريف واستخدام الأنواع العامة في فيجوال بيسك 2005" . msdn2.microsoft.com . مؤرشف من الأصل في 23 أبريل 2008. تم الاطلاع عليه في 29 يناير 2008 .
- ↑ "تحميل المعاملات الزائد في فيجوال بيسك 2005" . msdn2.microsoft.com . مؤرشف من الأصل في 23 أبريل 2008. تم الاطلاع عليه في 29 يناير 2008 .
- ↑ شريف، لوسي (22 فبراير 2005). "شركة Real Software تنتقد طلب براءة اختراع MS IsNot" . ذا ريجستر. مؤرشف من الأصل في 3 أغسطس 2009. تم الاطلاع عليه في 6 أبريل 2009 .
- ↑ تافت، داريل ك. (21 فبراير 2005). "شركة ريل سوفتوير تنتقد جهود مايكروسوفت في مجال براءات الاختراع" . إي ويك . تم الاطلاع عليه في 6 أبريل 2009 .
{{cite web}}: CS1 maint: deprecated archiveal service ( link ) - ↑ فيك، بول أ. الابن؛ بارسان، كوستيكا كورنيليو؛ سيلفر، أماندا ك. (14 مايو 2003). "طلب براءة اختراع الولايات المتحدة: 20040230959" . قاعدة بيانات النصوص والصور الكاملة لطلبات براءات الاختراع . مكتب براءات الاختراع والعلامات التجارية الأمريكي. مؤرشف من الأصل في 11 فبراير 2006. تم الاطلاع عليه في 6 أبريل 2009 .
- ↑ "ما هو VBx بحق الجحيم؟" . 1 مايو 2007. مؤرشف من الأصل في 25 مايو 2009. تم الاطلاع عليه في 12 أغسطس 2009.
مع الإصدار الجديد من DLR، أصبح لدينا دعم لـ IronPython وIronRuby وJavascript، بالإضافة إلى ميزة تجميع VBx الديناميكية الجديدة
. - ↑ "ما الجديد في فيجوال بيسك 2010" . مايكروسوفت . 2009. مؤرشف من الأصل في 4 أغسطس 2009. تم الاسترجاع في 12 أغسطس 2009.
يرتبط فيجوال بيسك بالكائنات من اللغات الديناميكية مثل IronPython وIronRuby
- ↑ "ما الجديد في فيجوال بيسك 2010" . مايكروسوفت. 2010. مؤرشف من الأصل في 26 يوليو 2010. تم الاطلاع عليه في 1 أغسطس 2010 .
- ↑ "قم بتنزيل حزمة مطوري Microsoft .NET Framework 4.5.2 لأنظمة Windows Vista SP2 وWindows 7 SP1 وWindows 8 وWindows 8.1 وWindows Server 2008 SP2 وWindows Server 2008 R2 SP1 وWindows Server 2012 وWindows Server 2012 R2 من مركز تنزيل Microsoft الرسمي" . Microsoft . مؤرشف من الأصل في 9 يناير 2020. تم الاطلاع عليه في 11 يناير 2020 .
- ↑ "ميزات لغوية جديدة في فيجوال بيسك 14" . msdn.com . مؤرشف من الأصل بتاريخ 25 ديسمبر 2014. تم الاطلاع عليه بتاريخ 5 فبراير 2015 .
- ↑ reshmim. "ملاحظات إصدار Visual Studio 2017" . www.visualstudio.com . مؤرشف من الأصل بتاريخ 22 يناير 2018. تم الاطلاع عليه بتاريخ 5 أبريل 2017 .
- ↑ reshmim. "ما الجديد في Visual Basic 2017، 15.3، 15.5، 15.8" . www.visualstudio.com . مؤرشف من الأصل في 1 سبتمبر 2019. تم الاطلاع عليه في 11 يناير 2020 .
- ↑ ريشميم. "ملاحظات إصدار Visual Studio 2019" . www.visualstudio.com . مؤرشف من الأصل في 29 نوفمبر 2021. تم الاطلاع عليه في 2 أغسطس 2019 .
- ↑ ريشميم. "ما الجديد في فيجوال بيسك 16.0" . www.visualstudio.com . مؤرشف من الأصل في 1 سبتمبر 2019. تم الاطلاع عليه في 11 يناير 2020 .
- ↑ "ما الجديد في فيجوال بيسك" . learn.microsoft.com . 21 فبراير 2023. تم الاطلاع عليه في 18 فبراير 2025 .
- ↑ تورجرسن، مادز (10 نوفمبر 2020). "سي شارب 9.0 على الورق" . devblogs.microsoft.com . تم الاطلاع عليه في 18 فبراير 2025 .
- ↑ "استراتيجية لغة فيجوال بيسك المشروحة" . learn.microsoft.com . 29 مايو 2024. تم الاطلاع عليه في 18 فبراير 2025 .
- ↑ روزلين ، مؤسسة .NET، 13 أبريل 2019، مؤرشف من الأصل في 22 فبراير 2021 ، تم استرجاعه في 14 أبريل 2019
- ↑ "إعادة التوجيه..." . www.mono-project.com . مؤرشف من الأصل في 30 يناير 2021. تم الاطلاع عليه في 30 يونيو 2008 .
- ملف "License.txt" موجود في مستودع Roslyn على العنوان 0d04884 . موقع GitHub . تم الاطلاع عليه بتاريخ 26 نوفمبر 2024 .
للمزيد من القراءة
- "مواصفات لغة فيجوال بيسك 8.0" . شركة مايكروسوفت. 15 نوفمبر 2005. مؤرشف من الأصل في 21 يناير 2011. تم الاطلاع عليه في 10 ديسمبر 2010 .
- "مواصفات لغة فيجوال بيسك 9.0" . شركة مايكروسوفت. 19 ديسمبر 2007. تم الاطلاع عليه بتاريخ 28 سبتمبر 2011 .
- "مواصفات لغة فيجوال بيسك 11.0" . شركة مايكروسوفت. 7 يونيو 2013. مؤرشف من الأصل في 5 مارس 2012. تم الاطلاع عليه في 22 سبتمبر 2013 .
روابط خارجية
- لغات برمجة .NET
- برنامج 2001
- عائلة لغات البرمجة الأساسية
- مايكروسوفت بيسك
- لغات برمجة مايكروسوفت
- مايكروسوفت فيجوال ستوديو
- لغات البرمجة الكائنية التوجه
