تعلم البرمجة مع بايثون 3
بايثون Python هي لغة برمجة مفتوحة المصدر و تُعتبَر من اللغات الأكثر شهرة و أستخداما و ذات مستوى حماية عالي.
هنالك عدد كبير من لغات البرمجة، ولكل منها مزاياه وعيوبه. يجب علينا أن نختار لغة واحدة. عندما بدأنا بالتفكير في هذه المسألة خلال إعدادنا لمنهاج جديد لخيار العلوم والمعلوماتية، تراكمت خبراتنا الشخصية الطويلة في البرمجة بـ Visual Basic (مايكروسوفت) وفي كلاريون (Topspeed). ولقد جربنا أيضا قليلا من دلفي (Borland). ولذلك كان من الطبيعي أننا استخدمنا في البداية لغة واحدة أو أكثر من هذه اللغات. وكان أمام هذه اللغات إذا أردنا استخدامها كأدوات أساسية لتعلـم البرمجة العامة اثنان من العوائق الرئيسية:
1 - ترتبط ببيئات برمجية (معناها برامج) خاصة. وهذا يعني أنه يجب على المدرسة ليس فقط أن تكون على استعداد لشـراء ترخيص لاستخدام مثل هذه البرامج لكل محطـة عمـل (والتي يمكن أن تكون مكلفة)، ولكـن حـتى بالنسبة للطلاب الذين يرغبون في استخدام المهارات البرمجية في أماكن أخرى خارج المدرسة، وهذا الأمر لا يمكن أن نتقبله. وثمـة عيـب آخر خطير وهو أن هذه المنتجات تحتوي على "صناديق سوداء" أي أننا لا نستطيع أن نعرف محتواها، ووثائقها ستكون ناقصة وغير مؤكدة.
2 - هذه اللغات مرتبطة بنظام تشغيل واحد وهو ويندوز. فهي ليست "محمولة" على أنظمة تشغيل أخرى (يونكس، ماك، إلخ). وهذا لا يتناسب مع مشروعنا التعليمي الذي يهدف إلى تعليم عام (وبالتالي متنوع) حيث يتم تسليط الضوء على الثوابت الحاسوبية إلى أقصى حد ممكن.
قررنا بعد ذلك دراسة العرض البديل، وهذا معناه اللغات المقترحة مجانـا مـن قبـل حـركـة البرمجيات الحرة. وجدنا أننا كنا متحمسين، ليس لأنه يوجد في عالم المصادر المفتوحة مفرات ومترجمات مجانية لمجموعة كبيرة من اللغات، ولكن لأن هذه اللغات حديثة وذات كفاءة عالية ومحمولة (وهذا معناه أنها تستخدم على أنظمة تشغيل مختلفة مثل ويندوز، لينكس وماك)، وهي موثقة توثيقا جيدا. اللغات السائدة هي بلا شك: . : سي وسي بلس بلس. هذه اللغة تفرض نفسها بوصفها المرجع المطلق، وكل خبير حاسوب سوف يتعلمها عاجلا أم آجلا. ولكن للأسف هذه اللغة شاقة ومعقدة جدا، وقريبة من الحاسوب. وتركيب جملها ضعيف القابلية للقراءة وقوي الربط. وإن البرامج الكبيرة المكتوبة بلغة سي أو سي بلس بلس طويلة ومرهقة. (وينطبق نفس الشيء على لغة جافا).
من ناحية أخرى، فإن الممارسة الحديثة لهذه اللغة تستخدم على نطاق واسع مولدات التطبيقات وأدوات الدعم المتطورة الأخرى مثل C++Builder و Kdevelop إلخ. ويمكن لهذه البيئات أن تكون فعالة جدا في أيدي المبرمجين ذوي الخبرة، لكنها تقدم العديد من الأدوات المعقدة كثيرا جدا، وهي صعبة على المستخدم المبتدئ والذي من الواضح لا يتقنها. ولذلك سيكون في نظره أنه قد يخفي الآليات الأساسية للغة نفسها. سوف نترك سي وسي بلس بلس لوقت لاحق. في بداية تعلمنا البرمجة، يبدو من الأفضل أن نستخدم لغة عالية المستوى، وأقل تقييدًا، وتكوين الجمل أكثر قابلية للقراءة. بعد أن فحصنا وواجهنا عدة لغات مثل Perl و Tcl/tk، قررنا أخيرا أن نعتمد على بيثون، لغة حديثة وشعبيتها متزايدة.
و تُعتبَر لغة بايثون من اللغات السائدة في العالم مع نهضة الذكاء ألاصطناعي و تُعتبَر أيضأ لغة متعددة الاستخدامات “Multi-usable language“. فيمكن برمجة مواقع الإنترنت أو الدخول في عالم البيانات و الذكاء ألاصطناعي و حتى الألعاب و الروبوتات, فعلياً يمكن فعل كل شيئ من خلال بايثون.
فهي تمتاز بسهولتها و ببساطتها في كتابة الأكواد و قراءتها، هي تستخدم إسلوب البرمجة الكائنية OOP الذي هو إختصار للكلمة Object Oriented Programming و هي قابلة للتطوير, و تستخدم بشكل واسع في الكثير من المجالات, فيمكن بها برمجة المشاريع الصغيرة و حتى مشاريع ضخمة, وينصح المبرمجين المبتدئين بتعلمها.
تم تطوير لغة بايثون سنة 1989 من قبل غيدو فان روسم و عدد كبير من المتطوعين و المساهمين.
مميزات لغة بايثون
سوف نقوم بوضع المميزات الرئيسية لبيثون مع بعض تفاصيلها:
- لغة بيثون لغة محمولة، وليس فقط على مختلف أنظمة يونكس، ولكن حتى أنظمة تشغيل: ماك، BeOS، NexTStep MS-DOS ومختلف إصدارات ويندوز. وهنالك مترجم جديد، يدعى JPython، تم كتابته بالجافا ويولد كودبايت جافا.
- بيثون مجانية، ولكن يمكنك استخدامها في المشاريع التجارية دون قيود.
- بيثون مناسبة لسكريبتات من 10 أسطر إلى المشاريع المعقدة التي تحتوي على عشرات الآلاف من الأسطر.
- تكوين جمل بيثون بسيط جدا، ويعمل جنبا إلى جنب مع أنواع البيانات المتقدمة (القوائم والقواميس)، والتي تصنع برامج مدمجة جدا وقابلة للقراءة. وللمقارنة، برنامج بيثون غالبا ما يكون أقصر من 3 إلى 5 مرات من برنامج سي أو سي بلس بلس (أو حتى الجافا) أو ما يعادلها، ووقت تطوير من 5 إلى 10 مرات أقصر وسهل جدا في الصيانة.
- بيثون تدير الموارد بنفسها (الذاكرة، واصفات الملفات) دون تدخل من قبل المبرمج عن طريق آليـة عـد المراجع (مشابهة لجامعي القمامة، لكن مختلفة).
- لا توجد مؤشرات واضحة في بيثون.
- بيثون متعددة الخيوط (اختياري).
اصدارات لغة بايثون
ويجب تعديل البرامج للتكيف مع النسخ الجديدة التي من شأنها أن تصبح غير متوافقة مع تلك السابقة. والأمثلة في هذا الكتاب تطورت على مدى فترة طويلة نسبيا من الزمن: بعض تم تطويره ببيثون 1.5.2، ثم ببيثون 1.6، 2.0، 2.1ـ 2.2، 2.3 و 2.4، إلخ. وهـم بحاجة إلى تغيير قبـل أن يتكيفوا لبيثون 3.
هذا الإصدار الجديد من اللغة، يحمل بعض التغييرات الفنية التي تعطي المزيد من التماسك وسهولة أكبر للاستخدام، ولكن هنالك حاجة إلى تحديث صغير لكافة السكريبتات المكتوبة للإصدارات السابقة. وقد تم إعادة تصميم النسخة الحاليـة مـن هـذا الكتاب، ليس فقط للتكيف أمثلة الإصدار الجديد، ولكن للاستفادة أيضا من هذه التحسينات، والتي هي على الأرجح أفضـل وسيلة لتعلم البرمجة اليوم.
إذن قم بتثبيت أحدث إصدار بيثون متاح على نظام التشغيل الخاص بك (بعض الأمثلة لدينا تتطلب الإصدار 3.1 أو أحـدث)، واستمتع! ولكن، إذا كنت بحاجة إلى تحليل سكريبتات مقدمة للإصدار السابق، لاحظ وجود أدوات تحويل (انظر خاصـة للسكريبت 2to3.py)، والتي موجودة على الإنترنت في موقعنا http://inforef.be/swi/python.htm للإصدار السابق من هذا النص، والتي تم تكييفها للإصدارات السابقة من بيثون، ودائما تستطيع التحميل مجانا.