مايكروسوفت سمول بيسك

مايكروسوفت سمول بيسك هي لغة برمجة ومترجم وبيئة تطوير متكاملة (IDE) مرتبطة بها . وهي نسخة مبسطة من لغة بيسك من مايكروسوفت ، مصممة لمساعدة الطلاب الذين تعلموا لغات البرمجة المرئية مثل سكراتش على تعلم البرمجة النصية. [ 8 ] توفر بيئة التطوير المتكاملة (IDE) المرتبطة بها بيئة برمجة مبسطة مع وظائف مثل تمييز بناء الجملة ، والإكمال التلقائي الذكي للتعليمات البرمجية ، والوصول إلى التوثيق داخل المحرر. [ 9 ] تحتوي اللغة على 14 كلمة مفتاحية فقط. [ 10 ]

تاريخ

إصدارتاريخ الافراج عنه
غير مدعوم: الإصدار 0.123 أكتوبر 2008 [ 3 ]
غير مدعوم: الإصدار 0.217 ديسمبر 2008 [ 11 ]
غير مدعوم: الإصدار 0.310 فبراير 2009 [ 12 ]
غير مدعوم: الإصدار 0.414 أبريل 2009 [ 13 ]
غير مدعوم: الإصدار 0.516 يونيو 2009 [ 14 ]
غير مدعوم: الإصدار 0.619 أغسطس 2009 [ 15 ]
غير مدعوم: الإصدار 0.723 أكتوبر 2009 [ 4 ]
غير مدعوم: الإصدار 0.84 فبراير 2010 [ 16 ]
غير مدعوم: الإصدار 0.911 يونيو 2010 [ 17 ]
غير مدعوم: الإصدار 0.9117 نوفمبر 2010 [ 18 ]
غير مدعوم: الإصدار 0.958 فبراير 2011 [ 19 ]
الإصدار المدعوم: 1.012 يوليو 2011 [ 20 ]
غير مدعوم: الإصدار 1.127 مارس 2015 [ 21 ]
أحدث إصدار: الإصدار 1.21 أكتوبر 2015 [ 5 ]
أسطورة:
غير مدعوم
مدعوم
أحدث إصدار
نسخة معاينة
الإصدار المستقبلي
أسطورة:
غير مدعوم
مدعوم
أحدث إصدار
نسخة معاينة
الإصدار المستقبلي

أعلنت مايكروسوفت عن لغة البرمجة سمول بيسك في أكتوبر 2008، [ 3 ] وأصدرت أول نسخة مستقرة للتوزيع في 12 يوليو 2011، [ 20 ] على موقع شبكة مطوري مايكروسوفت (MSDN)، مصحوبة بمنهج تعليمي [ 22 ] ودليل تمهيدي. [ 23 ] وبين الإعلان والإصدار المستقر، تم إصدار عدد من نسخ المعاينة التقنية المجتمعية (CTP).

في 27 مارس 2015، أصدرت مايكروسوفت الإصدار 1.1 من Small Basic، [ 21 ] والذي قام بإصلاح خطأ وترقية إصدار .NET Framework المستهدف من الإصدار 3.5 إلى الإصدار 4.5، مما جعله أول إصدار غير متوافق مع Windows XP .

أصدرت مايكروسوفت الإصدار 1.2 من لغة Small Basic في 1 أكتوبر 2015. [ 5 ] وكان هذا الإصدار أول تحديث بعد انقطاع دام أربع سنوات، حيث أضاف ميزات جديدة إلى Small Basic. أضاف التحديث فئات للعمل مع مستشعرات الحركة Kinect من مايكروسوفت، [ 5 ] وزاد عدد اللغات التي يدعمها كائن Dictionary المضمن، كما أصلح عددًا من الأخطاء. [ 6 ]

في 19 فبراير 2019، أعلنت مايكروسوفت عن برنامج Small Basic Online (SBO). وهو برنامج مفتوح المصدر مُرخص بموجب رخصة MIT ومتاح على منصة GitHub . [ 24 ] [ 25 ]

لغة

في لغة سمول بيسك، يكتب المرء برنامج "مرحباً بالعالم!" التوضيحي على النحو التالي:

TextWindow.WriteLine ( "Hello, World ! " )

لغة مايكروسوفت سمول بيسك كاملة تورينج . تدعم التفرع الشرطي ، وهياكل الحلقات ، والإجراءات الفرعية لمعالجة الأحداث . المتغيرات فيها ضعيفة النوع وديناميكية بدون قواعد نطاق.

التفرع الشرطي

يوضح المثال التالي التفرع الشرطي. حيث يطلب من المستخدم إدخال درجة الحرارة بالدرجة المئوية أو الفهرنهايتية ، ثم يعلق على الإجابة بوحدة درجة الحرارة المناسبة.

برنامج يقدم النصائح عند درجة الحرارة المطلوبة.TextWindow.WriteLine ( "هل تستخدم درجة مئوية أم فهرنهايت لقياس درجة الحرارة ؟ " )TextWindow.WriteLine ( " أدخل C للدرجة المئوية و F للدرجة الفهرنهايتية:" )question_temp : 'علامة للعودة إلى المدخلات في حالة إدخال بيانات خاطئة'tempunit = TextWindow . يقرأ ()تعريفات درجة الحرارة بالدرجة المئوية:tempArray [ "hot" ] = 30 ، أي ما يعادل 86 درجة فهرنهايت.tempArray [ "pretty" ] = 20 ' 20 °C تساوي 68 °FtempArray [ "cold" ] = 15 ، أي ما يعادل 15 درجة مئوية و59 درجة فهرنهايت.إذا tempunit = "C" أو tempunit = "c" ثمTextWindow.WriteLine ( "تم اختيار درجة مئوية ! " )tempunit = "C" ' يمكن أن تكون الأحرف صغيرة، لذا اجعلها كبيرةElseIf tempunit = "F" أو tempunit = "f" ثمTextWindow.WriteLine ( " تم اختيار فهرنهايت! " )نحسب قيم درجة الحرارة بالفهرنهايت بناءً على قيم درجة الحرارة المئويةtempArray [ "hot" ] = (( tempArray [ "hot" ] * 9 ) / 5 ) + 32tempArray [ "pretty" ] = (( tempArray [ "pretty" ] * 9 ) / 5 ) + 32tempArray [ "cold" ] = (( tempArray [ "cold" ] * 9 ) / 5 ) + 32tempunit = "F" ' يمكن أن تكون الأحرف صغيرة، لذا اجعلها كبيرةآخرGOTO question_temp ' إدخال خاطئ، ارجع إلى التسمية "question_temp"نهاية الشرطTextWindow.Write ( " أدخل درجة الحرارة اليوم (بوحدة " + tempunit + "): " )درجة الحرارة = نافذة النص . رقم القراءة ()إذا كانت درجة الحرارة أكبر من أو تساوي قيمة " ساخنة" في مصفوفة درجات الحرارة ،TextWindow.WriteLine ( " الجو حار جدًا. " )وإلا إذا كان temp أكبر من أو يساوي tempArray [ "pretty" ] ،TextWindow.WriteLine ( " إنه جميل جدًا. " )وإلا إذا كانت درجة الحرارة أكبر من أو تساوي قيمة " cold" في مصفوفة درجات الحرارة ، فـTextWindow.WriteLine ( " لا تنس معطفك. " )آخرTextWindow.WriteLine ( " ابقَ في المنزل. " )نهاية الشرط

لا يدعم برنامج Small Basic Ifالعبارات المضمنة كما يفعل برنامج Visual Basic ، على سبيل المثال:

إذا كانت درجة الحرارة أعلى من 50، فسيتم كتابة السطر التالي في نافذة النص : "إنه جميل جدًا. "

التكرار

يوضح هذا المثال حلقة تكرارية. تبدأ من واحد وتنتهي بعشرة، حيث تضرب كل رقم في أربعة وتعرض نتيجة عملية الضرب.

TextWindow.WriteLine ( " جداول الضرب " ) For i = 1 To 10 TextWindow.Write ( i * 4 ) EndFor

Whileيدعم البرنامج أيضًا الحلقات ، ويمكن توسيع Forالحلقة الموضحة باستخدام الكلمة Stepالمفتاحية. Stepتُستخدم هذه الكلمة المفتاحية لتحديد القيمة التي iيتم بها زيادة متغير العداد في كل تكرار.

أنواع البيانات

تدعم لغة Small Basic أنواع البيانات الأساسية ، مثل السلاسل النصية والأعداد الصحيحة والأعداد العشرية ، وتُحوّل بسهولة من نوع إلى آخر حسب الحاجة. في المثال، تقرأ كلتا Readالطريقتين ReadNumberسلسلة نصية من سطر الأوامر، لكنهما ReadNumberترفضان أي أحرف غير رقمية. هذا يسمح بتحويل السلسلة النصية إلى نوع رقمي ومعاملتها كرقم بدلاً من سلسلة نصية بواسطة +المُعامل.

TextWindow.WriteLine ( " أدخل اسمك: " )name = TextWindow.Read ( )TextWindow.Write ( " أدخل عمرك: " )age = TextWindow.ReadNumber ( )TextWindow.WriteLine ( "مرحباً، " + name + " ! " )TextWindow.WriteLine ( " بعد 5 سنوات، ستكون " + ( العمر + 5 ) + " سنوات! " )

بما أن لغة Small Basic قادرة على التحويل بسهولة بين أنواع البيانات المختلفة، يمكن التعامل مع الأرقام كسلاسل نصية والسلاسل النصية كأرقام. ويتضح ذلك من خلال المثال الثاني.

نافذة النص . WriteLine ( Math . log ( "100") )) 'المطبوعات 2نافذة النص . WriteLine ( "100" + "3000" ) ' يطبع 3100نافذة النص . WriteLine ( "Windows" + 8 ) ' يطبع Windows 8TextWindow.WriteLine ( Text.GetLength ( 1023.42 )) ' يطبع 7 (طول التمثيل العشري بما في ذلك الفاصلة العشرية )

في المثال الثاني، يتم التعامل مع كلا السلسلتين كأرقام ويتم جمعهما معًا، مما ينتج عنه الناتج 3100. لدمج القيمتين ، مما ينتج عنه الناتج 1003000، من الضروري استخدام الطريقة.Text.Append(text1, text2)

المكتبات

المكتبة القياسية

تتضمن مكتبة Small Basic القياسية فئات أساسية للرياضيات، ومعالجة النصوص ، والإدخال/الإخراج ، بالإضافة إلى فئات أكثر تخصصًا تهدف إلى جعل استخدام اللغة أكثر متعة للمتعلمين. ومن أمثلة هذه الفئات فئة رسومات Turtle ، وفئة لاسترجاع الصور من Flickr ، وفئات للتفاعل مع مستشعرات Microsoft Kinect. [ 26 ]

ولتسهيل استخدام هذه الدروس للمتعلمين، تم تبسيطها. ويتضح هذا التبسيط من خلال الكود المستخدم لاسترجاع صورة عشوائية ذات طابع جبلي من موقع فليكر:

لـ i = 1 إلى 10 ، pic = Flickr.GetRandomPicture ( " mountains " ) ، Desktop.SetWallPaper ( pic ) ، Program.Delay ( 10000 ) ، EndFor

رسومات السلحفاة

تتضمن لغة Small Basic مكتبة رسومات "Turtle" المستوحاة من عائلة لغات البرمجة Logo . على سبيل المثال، لرسم مربع باستخدام هذه المكتبة، يتم تحريكها للأمام بمقدار عدد محدد من البكسلات وتدويرها 90 درجة في اتجاه معين. ثم تُكرر هذه العملية أربع مرات لرسم أضلاع المربع الأربعة.

لـ i = 1 إلى 4 ، تحرك السلحفاة للأمام 100 بكسل . استدر 90 درجة إلى اليمين . نهاية الحلقة .

يمكن رسم أشكال أكثر تعقيدًا بتغيير زاوية دوران السلحفاة وعدد تكرارات الحلقة. على سبيل المثال، يمكن رسم شكل سداسي بضبط زاوية الدوران على 60 درجة وعدد التكرارات على ستة.

مكتبات الطرف الثالث

تتيح لغة Small Basic استخدام مكتبات خارجية. يجب أن تكون هذه المكتبات مكتوبة بلغة متوافقة مع بيئة CLR ، ويجب أن تستهدف الملفات الثنائية المُجمَّعة إصدارًا متوافقًا من إطار عمل .NET. يجب أن تكون الفئات التي توفرها المكتبة ثابتة ، وأن تحمل علامةً مميزةً ، وأن تستخدم نوع بيانات محددًا.

فيما يلي مثال على فئة سيتم استخدامها في Small Basic، مكتوبة بلغة C# .

[SmallBasicType] public static class ExampleClass { public static Primitive Add ( Primitive A , Primitive B ) => A + B ;public static Primitive SomeProperty { get ; set ; }public static Primitive Pi => ( Primitive ) 3.14159 ; }

إذا كان ذلك متاحًا، ستعرض بيئة تطوير Small Basic وثائق المكتبات الخارجية. تقبل بيئة التطوير الوثائق بصيغة ملف XML ، والذي يمكن إنشاؤه تلقائيًا من تعليقات شفرة المصدر بواسطة أدوات مثل Microsoft Visual Studio و MonoDevelop . [ 27 ]

مراجع

  1. كونرود، فيليب؛ تايل، لو (فبراير 2013). برمجة الألعاب باستخدام مايكروسوفت سمول بيسك . شركة كيدوير سوفتوير، ذ.م.م. رقم ISBN 978-1-937161-56-9.
  2. "مقال مميز: مقابلات مع فيجاي راجي، مبتكر لغة سمول بيسك" . TECHCOMMUNITY.MICROSOFT.COM . 13 فبراير 2019.
  3. 1 2 3 راجي، فيجاي (23 أكتوبر 2008). "مرحباً بالعالم" . سمول بيسك . مدونات MSDN. مايكروسوفت . تم الاطلاع عليه في 9 فبراير 2014 .
  4. 1 2 راجي، فيجاي (23 أكتوبر 2009). "عيد ميلاد سعيد لـ Small Basic" . Small Basic . مدونات MSDN. مايكروسوفت . تم الاسترجاع في 27 سبتمبر 2015 .
  5. 1 2 3 4 5 شيروتر، مايكل (1 أكتوبر 2015). "إصدار Small Basic 1.2 مع دعم Kinect وإصلاحات للأخطاء" . Small Basic . مدونات MSDN. مايكروسوفت . تم الاطلاع عليه في 2 أكتوبر 2015 .
  6. ١ ٢ "تنزيل Microsoft Small Basic 1.2 من مركز تنزيل Microsoft الرسمي" . Small Basic . Microsoft. ١ أكتوبر ٢٠١٥. تم الاطلاع عليه في ٢ أكتوبر ٢٠١٥ .
  7. "SmallBasic" . GitHub . 17 أكتوبر 2021.
  8. "Small Basic" . تم الاطلاع عليه بتاريخ 6 سبتمبر 2020 .
  9. برايس، إد (22 أكتوبر 2012). "الميزات الفريدة للغة سمول بيسك" . سمول بيسك . تيك نت. مايكروسوفت. مؤرشف من الأصل في 28 أبريل 2015. تم الاطلاع عليه في 22 أبريل 2015 .
  10. برايس، إد (8 أكتوبر 2012). "ما هي الكلمات المفتاحية الأربعة عشر للغة سمول بيسك؟" . سمول بيسك . مدونات MSDN. مايكروسوفت . تم الاطلاع عليه في 9 فبراير 2014 .
  11. راجي، فيجاي (17 ديسمبر 2008). "الإعلان عن Small Basic v0_2!" . Small Basic . مدونات MSDN. مايكروسوفت . تم الاطلاع عليه بتاريخ 27 سبتمبر 2015 .
  12. راجي، فيجاي (10 فبراير 2009). "Microsoft Small Basic v0.3 متوفر الآن" . Small Basic . مدونات MSDN. مايكروسوفت . تم الاطلاع عليه بتاريخ 27 سبتمبر 2015 .
  13. ^ راجي فيجاي (14 أبريل 2009). "الإصدار 0.4 من Small Basic يقول "صباح الخير"" . Small Basic . مدونات MSDN. مايكروسوفت . تم الاطلاع عليه بتاريخ 27 سبتمبر 2015 .
  14. راجي، فيجاي (16 يونيو 2009). "الأحدث والأكثر كفاءة وفعالية هنا!" . سمول بيسك . مدونات MSDN. مايكروسوفت . تم الاطلاع عليه بتاريخ 27 سبتمبر 2015 .
  15. راجي، فيجاي (19 أغسطس 2009). "متوفر الآن: Small Basic v0.6" . Small Basic . مدونات MSDN. مايكروسوفت . تم الاطلاع عليه بتاريخ 27 سبتمبر 2015 .
  16. راجي، فيجاي (10 فبراير 2010). "Small Basic v0.8" . Small Basic . مدونات MSDN. مايكروسوفت . تم الاطلاع عليه بتاريخ 27 سبتمبر 2015 .
  17. راجي، فيجاي (11 يونيو 2010). "Small Basic V0.9 متوفر الآن!" . Small Basic . مدونات MSDN. مايكروسوفت . تم الاطلاع عليه بتاريخ 27 سبتمبر 2015 .
  18. ألدانا، ساندرا (17 نوفمبر 2010). "Small Basic V0.91 أكثر عالمية من أي وقت مضى!" . Small Basic . مدونات MSDN. مايكروسوفت . تم الاطلاع عليه بتاريخ 27 سبتمبر 2015 .
  19. ألدانا، ساندرا (8 فبراير 2011). "Small Basic v0.95 يتحدث لغة أخرى!" . Small Basic . مدونات MSDN. مايكروسوفت . تم الاطلاع عليه بتاريخ 27 سبتمبر 2015 .
  20. 1 2 ألدانا، ساندرا (12 يوليو 2011). "Small Basic 1.0 متوفر الآن!" . Small Basic . مدونات MSDN. مايكروسوفت . تم الاطلاع عليه بتاريخ 27 سبتمبر 2015 .
  21. برايس ، إد (27 مارس 2015). "Small Basic 1.1 متوفر الآن!" . Small Basic . مدونات MSDN. مايكروسوفت . تم الاطلاع عليه بتاريخ 27 سبتمبر 2015 .
  22. برايس، إد (29 أبريل 2014). "المنهج الأساسي المصغر" . تيك نت . مايكروسوفت . تم الاسترجاع في 9 فبراير 2014 .
  23. برايس، إد؛ تاكاهاشي، نونكي (25 فبراير 2014). "دليل البدء السريع لـ Small Basic" . TechNet . مايكروسوفت . تم الاطلاع عليه بتاريخ 12 فبراير 2015 .
  24. "الإعلان عن Small Basic Online 1.0 - معاينة عامة" . 20 فبراير 2019.
  25. "TechNet Wiki" . 17 يناير 2024.
  26. "متطلبات نظام Kinect لنظام Small Basic" . ininet.org .
  27. بروتالينسكي، إميل (17 نوفمبر 2008). "لغة برمجة أخرى من مايكروسوفت: سمول بيسك" . آرس تكنيكا .

للمزيد من القراءة