السلام عليكم ورحمة الله
لغة بايثون أصبحت اللغة اﻷولى حسب تصنيف موقع PYPL Popularity وذلك لأنها لغة تتميز بالسهولة ومكتبتها القياسية التي تحتوي على عدد كبير من الدوال والوظائف ذات الاستخدام العام. كذلك فقد جمعت بين المجال اﻷكاديمي والعملي ومجال الذكاء الإصطناعي الذي شهد ثورة مؤخراً. ومن اﻷسباب أيضاً أن رخصتها حرة ولا تمتلك حقوقها أي شركة تجارية، لذلك لا يُخاف من مستقبلها من حيث تغيير تلك الرخصة مثلما حدث مع لغة جافا التي قامت شركة أوراكل بتغيير رخصتها وقد قاضت شركة قوقل بعد استخدامها للغة جافا في نظام أندرويد، وهذا يعني أن شركة أوراكل تمتلك جافا وهي ليست حرة بالكامل.
توجد عدد من اللغات تصلح كبداية للمتعلم الجديد خصوصاً اﻷطفال، لكن أحياناً ما يقف حجر عثرة هي اﻷدوات المستخدمة، حيث أن معظمها معقد ويحتاج لمستخدم متقدم ليقوم بالاعدادات اللازمة لتشغيل اللغة. لكن في جهاز راسبري باي ونظام راسبيان الموجه لتعليم اﻷطفال وجدنا برنامج اسمه Thonny استخدمه أبنائي في تعلم لغة بايثون وقد كانت النتيجة سريعة – بفضل الله- حيث أنهم في إسبوع فقط بدأو يكتبون برامج صغيرة باستخدام لغة بايثون، وقد تمكنوا من عمل برامج تقوم بالرسم في الواجهة الرسومية مشابهة لبرامج لغة Logo

قام إبني إياس بكتابة برنامج لمعرفة رقم عشوائي من 1 إلى 100 يضعه الكمبيوتر في الذاكرة ويطلب من المستخدم تخمينه، ثم يخبر المستخدم بأن الرقم أعلى أو أقل إلى أن يعرف الرقم، ويحسب عدد المحاولات، وعدد المحاولات اﻷقل هي اﻷفضل.
from random import * w=1 b=(100*random()) d=int(b) while(w<100): xs=input("Input a number from 0 to 100: ") st=str(xs) st=st.strip() x=eval(st) if(dx): print("too low") else: print("win after ",w," tries") break w=w+1
بعد أن قام بتشغيل البرنامج بنجاح، قمت بتصحيح الجمل الإنجليزية التي يتخاطب بها مع المستخدم، حيث أن اختيار العبارات المناسبة للتواصل مع المستخدم هي مهارة تختلف عن مجرد معرفة الشخص باللغة اﻹنجليزية. كذلك كانت هُناك مشكلة في تحويل الرقم إلى عدد صحيح عن تشغيل البرنامج في سطر اﻷوامر فقمت بإضافة هتين الدالتين لتصحيح المشكلة:
st=str(xs) st=st.strip()
كذلك اقترحت له كتابة عدد المحاولات في نهاية اللعبة
الكتاب الذي اختاروه للتعلم كان هو: تعلم البرمجة مع بايثون 3 ، لكن لاحظت بما أنه مترجم فإن النصوص داخل البرنامج كانت مكتوبة باللغة الفرنسية بدلاً عن اﻹنجليزية، لذلك وجدوا صعوبة في فهم بعض الأمثلة.
أنا اتجهت ناحية اللوا Lua ، لانها ابسط من البايثون و اخف منها، كذلك لا تتطلب ضبط ال Tabs بكل سطر، وهذا صعب على المبتديء، حسب تجربتي.
لكن إلى الآن لا توجد فعليا لغة مناسبة للمبتدئين، يمكن ترشيحها.
برنامج Thonny يقوم تلقائياً بعمل tabs عند كتابة الفاصلتين : في السطر التالي
هذه هي الفكرة، البايثون تعتمد على الامكانيات في المحرر، أو ال IDE
انا اعتير هذه نقطة ضعف بلغة البرمجة،
بينما البعض يعتبر قوة المحررات الداعمة هي من قوة اللغة.
نعم صحيح الاعتماد على إمكانات الـ IDE هو نوع من الـ coupling وهو في هندسة البرمجيات غير جيد
لكن بالنسبة للتعلم فإن هذا لا يهم إذا لم تكون تلك اللغة هدف للاستمرار بها في البرمجة
هناك كتاب Byte Of Python تم ترجمته الى العربية حجمه صغير وقمت باستخدام النسخة الانجليزية منه لتعلم البايثون وحجم النسخة المترجمة ١٠٣ صفحة فقط اعتقد انه يصلح لتعليم الصغار والكبار البايثون.
نعم لدي هذا الكتاب، وقد قمت بتحميله لهم أيضاً، لكن يظهر أن مقدمته الطويلة جعلتهم يميلون للكتاب الآخر