المتابعون للمدونة

الاثنين، 16 ديسمبر 2024

sVB is easier than Python!



 أقولها بكل جرأة: لقد جعلت لغة Small Visual Basic أسهل من Python للأطفال والمراهقين!

لقد طورت لغة سمول فيجوال بيزيك بنفسي لتكون أفضل أداة لتعليم البرمجة للأطفال:

1.   فهي تتميز بنفس بساطة لغة Microsoft Small Basic من حيث سهولة أوامر اللغة وروعة نافذة الرسوم والسلحفاة، ولكني أصلحت عيوب Small Basic التي لا تحتوي على نطاق للمتغيرات Variable Domains، ولا دوال Functions، ولا معاملات للإجراءات Subroutine parameters، ولا كائنات Objects.. لغة سمول فيجوال بيزيك تحتوي على كل هذا بجانب تحسينات إضافية لنافذة الرسوم والسلحفاة.

2.   كما أن لغة سمول فيجوال بيزيك لغة عصرية مثل VB .NET، وتستخدم بعض الصياغة الخاصة بها مثل واضع القيم المبدئية للمصفوفة Array Initializer، ويستفيد من أنماط التنسيق Styles الخاصة بلغة توصيف التطبيق XAML. لكن برغم هذا تظل سمول فيجوال بيزيك بنفس سهولة لغة Visual Basic الكلاسيكية، فهي تستخدم نفس مصمم النماذج Form Designer ونفس الآلية البسيطة لمعالجة الأحداث Event Handling.

 

لكن لماذا يمكن أن يفضل أحد سمول فيجوال بيزيك بدلاً من بايثون، وهي الأكثر شهرة وشيوعًا في الوقت الحالي؟ فلنرَ بعض الأسباب:

1.   بايثون هي لغة شاملة لمختلف الأغراض، بينما سمول فيجوال بيزيك مخصصة فقط لتطبيقات سطح المكتب وللأغراض التعليمية، ما يجعلها تركز كل طافتها على هذا الغرض لتقيدم البرمجة بأبسط صورة للطفل.. لكن هذا لا يعني أن سمول فيجوال بيزيك ليس لها مستقبل، أو أنها مجرد لعبة مسلية، فهي أسهل بوابة للعبور إلى منصة تطوير برمجية شائعة وقوية هي DotNET، وبتعلمها تكون على بعد حطوة واحدة من بيئة VS .NET. فمن السهل استخدام فهمك لأكواد سمول فيجوال بيزيك ومكتبتها ومصمم النماذج، وحتى خبراتك مع محرر الكود للانتقال إلى لغة VB .NET (وفيما بعد إلى لغة سي شارب إذا أردت).

وغير هذا، لا تعتبر سمول فيجوال بيزيك مجرد لعبة على الإطلاق، فهي تحتوي في الواقع على بعض المواضيع المتقدمة، مثل تصميم تطبيقات متعددة النوافذ، واستخدام أنماط التنسيق XAML Styles، واستخدام البرمجة متعددة المهام Mutti Threading، وإنشاء مكتبات الكود الخاصة بها.

كما تأتي سمول فيجوال بيزيك أيضًا مع مكتبة خارجية هي LitDev التي تحتوي على محرك ثلاثي الأبعاد ومحرك فيزياء، ما يسمح بإمكانيات متقدمة لا حصر لها.

 

2.   تنتمي كل من بايثون وسمول فيجوال بيزيك إلى اللغات مرنة النوع Dynamically typed، لكن سمول فيجوال بيزيك أسهل في هذا الجانب، لأنها لا يتطلب عمليات تحويل بين الأنواع كما في بايثون .

 

3.   بايثون حساسة لحالة الأحرف (ومن المدهش أن كلا من الكلمتين True وFalse تبدأ بحرف كبير في بايثون)، بينما سمول فيجوال بيزيك غير حساسة لحالة الأحرف، ومحرر الكود يضمن إعادة حروف الكلمات إلى حالتها الأصلية، وهذا يجعل تعلمها أسهل وكتابتها الكود بها أسرع.

 

4.   ترقيم القوائم في بايثون يبدأ من الخانة رقم صفر، بينما يبدأ ترقيم المصفوفات في سمول فيجوال بيزيك من افتراضيًا من الخانة رقم 1، وهذا طبيعي أكثر ويجعل تعامل الأطفال معها أسهل، ولكن لا شيء يمنعهم من استخدام الترقيم صفر أو حتى أرقام سالبة، لأن المصفوفات في سمول فيجوال بيزيك هي في الواقع قواميس، لذا فإن أرقام الخانات هي في الواقع مفاتيح نصية string keys!

 

5.   في كلتا اللغتين تتعامل الدوال المثلثية مع الزوايا بالتقدير الدائري Radian. لكن الطفل يستطيع في سمول فيجوال بيزيك تعطيل هذا السلوك لاستخدام التقدير الستيني Degrees باستخدام هذا الأمر:

Math.UseRadianAngles = False

 

6.   حلقات التكرار For loops في بايثون قد تكون مربكة بسبب عدم دخول نهاية النطاق في الاعتبار.. هذا مثلا كود بايثون الذي يطبع الأعداد عكسيا من 5 إلى 1:

for i in range(5, 0, -1):

    print(i)

بينما حلقات التكرار في سمول فيجوال بيزيك بسيطة جدا ويسهل فهمعا بمجرد النظر:

For i = 5 To 1 Step -1

    TW.WriteLine(i(

Next

7.   استخدام بايثون للمسافات البادئة لتمييز مقاطع الكود Code blooks مربك جدا للأطفال، ويجعل مقاطع الكود المتداخلة أصعب في الفهم وأكثر عرضة للأخطاء بسبب إمكانية الخطأ في عد المسافات، بينما تستخدم سمول فيجوال بيزيك كلمات أساسية لتمييز نهاية كل مقطع مثل EndIf، EndSub، وNext، ما يجعل الكود أوضح وأكثر تنظيما.. وضيق محرر الكود تلقائيًا كلمة نهاية المقطع أثناء كتابة بدايته، كما أنه يضبط المسافات البادئة للمقاطع وينسق حالة الأحرف للكلمات ويضبط المسافات بينها.. بل إنه يفرض أيضا قاعدة تسمية المتغيرات: فالمتغيرات الموضعية والمعاملات تبدأ بحروف صغيرة، بينما المتغيرات العامة والإجراءات والدوال تبدأ بحروف كبيرة.. كل هذا يضبطه محرر الكود بدون تدخل من الطفل على الإطلاق، لذا، لتسمح له سموال فيجوال بيزيك بأن يركز على منطق الكود الذي يكتبه، وليس على شكله وتنسيقه!

 

8.   وبشكل عام، فإن بيئة التطوير المتكاملة IDE الخاصة بلغة سمول فيجوال بيزيك اسهل وأقوي من فإن بيئة التطوير المتكاملة الرسمية التي تأتي مع بايثون.

 

ولأثبت كل هذا عمليا، بدأت نشرت على أمازون حتى الآن 3 كتب باللغة الإنجليزية من سلسلة كتب المبرمج الطفل بلغة سمول فيجوال بيزيك:

sVB kid Programmer

هذه الكتب تستهدف تلاميذ الصفوف الدراسية من أولى ابتدائي إلى 6 ابتدائي، وستستمر السلسلة بإذن الله باسم مختلف للمرحلتين الإعدادية والثانوية.

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

أرجو أن تدعموا لغة ـسمول فيجوال بيزيك بتقديمها للأطفال.. على الأقل جربوها، فهي لغة مجانية وعند تثبيتها على الجهاز يأتي معها أكثر من 160 مثال ممتع، وكذلك المرجعي الأجنبي الكامل للغة بصيغة PDF، كما أني أشرحها للأطفال العرب على قناة يوتيوب خاصة بها، تحتوي حاليا على جوالي 80 درس بمتوسط 10 دقائق لكل منها، وهناك المزيد بإذن الله.

لا تنسوني من دعواتكم وتشجيعكم.

 

ليست هناك تعليقات:

إرسال تعليق

ملحوظة: يمكن لأعضاء المدونة فقط إرسال تعليق.

صفحة الشاعر