مدخل إلى لغة البرمجة Python

لربما لاحظتَ أنه قد ذاعَ صيت لغة بايثون في الآونة الأخيرة أكثر من أيّ مرة، ولعلّ هذا يرجع إلى النزعة التوجهيّة نحو علوم تحليل البيانات (Data Science) والذكاء الاصطناعي (AI) بما يتضمنه من تعلّم الآلة (ML) والتعلم العميق (DL) ومعالجة اللغات الطبيعية (NLP) وما يقع ضمن سياقهم، لعل هذيّن أبرز مجالين وعلى إثرهما تزايد الاهتمام بلغة البرمجة Python على نحو واسع. فما هي بايثون؟ ولمَ ازداد الاهتمام بها في ظلّ وجود لغات أخرى قد تؤدي نفس الغرض؟ في هذه المقالة سوف نستعرض معًا نبذة حول هذه اللغة وأبرز مميزاتها واستخداماتها، وبالتأكيد مصادر تعلمها…

 

الظهور للنور

 

بايثون لغة مفتوحة المصدر، بزغت في 1991 عن طريق عالم الحاسوب “جايدو ڤان روسم” –لأنه قد تضجّر من السلبيات الموجودة في اللغات الأخرى– ومؤخرًا تنحى ڤان عن منصب الإشراف على تطوير اللغة (قبل شهر من الآن)، وكان هذا المنصب الشرفي يحمل الاسم “ديكتاتور خيري مدى الحياة” وقد قرر الاستقالة لأنه لم يعُد مرتاحًا لهذه الشهرة.

أراد ڤان بناء لغة ذات مقروئية عالية (سهلة القراءة) Readability، بسيطة، وفي نفس الوقت قوية. لذلك فهي لغة متعددة الأغراض (multi-purposes) يعني أنها تخدم مناحٍ عدّة للتطوير بدءًا من التطبيقات الصغيرة مرورا بالويب وبرمجيات سطح المكتب إلى التطبيقات العلمية الأشد تعقيدًا.

 

القوة الكامنة تتجلى في المقروئيّة وغزارة المكتبات

 

تتمتع بايثون بتركيبة لغوية (Syntax) مثيرة للإعجاب. حيث أنك ترى الكود نظيفًا ومرتبًا جدًا أثناء القراءة (Readability). كذلك فإن الأقواس قد تمّ استبدالها بالمسافات، ولاحاجة لتعريف أنواع بيانات للمتغيرات، ولا وجود للفواصل المنقوطة، والشيفرة قصيرة وموجزة، الأمر الذي يسهّل إصلاح الأخطاء (Bugs) ويسرّع عملية كتابة البرامج.

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

الميزة الثانية بعد المقروئية، هي كثرة الحزم وحزم الطرف الثالث، حيث تمتلك بايثون عددا هائلا من المكتبات لأداء وظائف يصعب أداؤها على لغات أخرى.

من المميزات الأخرى: يتميز التطبيق بالمحمولية فهو يعمل على عدة أنظمة تشغيل، والقابلية للتوسع بحيث يمكنك كتابة كود بلغة C وتضمين سكربت البايثون الذي كتبته داخل كود الـ C، وهي تدعم البرمجة الكائنية (OOP) جيدًا، وتدعم كذلك تطوير تطبيقات الشبكة بصورة مثالية.

 

استعمالات بايثون

 

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

-الويب: لعلّ أبرز مثال على هذا هو إطار العمل جانغو (Django Framework) ويمتاز جانغو بالحماية العالية للموقع عند تصميم تطبيقات الويب وكذلك السرعة وسهولة صيانة الموقع بمرور الوقت، وهذا بفضل بايثون. (هنالك أطر عمل أخرى للويب مثل Flask وTornado إلا أن جانغو الأشهر والأضخم).

-تطبيقات سطح المكتب: تستطيع بايثون التكامل مع العديد من مكتبات الواجهة الرسومية (GUI) مثل Tkinter وQt وGTK. ولعلّ أبرز البرمجيات المكتبية التي تستعمل بايثون هي: برنامج التصميم المشهور Maya وبرنامج Blender وCalibre وOpenShot وDropbox وCinema4D وPyMol وSoftimage XSI وArcGIS وغيرهم…

-الألعاب ثنائية الأبعاد 2D: مثل Civilization IV وBattlefield 2 وEVE Online وFreedom Force.

-تطبيقات إداريةOpenStack و BitTorrent و dnf/yum.

-استخدامات ضمنيّة: تستعملها جوجل في أحد أجزاء محرك البحث خاصتها، وSpotify في فلترة الموسيقى وشركة Pixar في إنتاج الإنمي وفي كلٍ من Yahoo وNASA و YouTube و Instagram و Reddit وعلى نطاق واسع في نواة نظام Linux Kernel.

-معالجة الصور (Image Processing) باستخدام OpenCV.

-تطبيقات الذكاء الاصطناعي (AI) ومعالجة اللغات الطبيعية (NLP).

-الإحصاء وتحليل البيانات.

-الحاسوب المصغر راسبيري باي يستعمل بايثون كلغته الرئيسية.

-تستعمل في الاختراق ومجال أمن المعلومات على نطاق واسع.

 

أريد تعلم بايثون

 

-بالنسبة لأساسيات اللغة فنحن ننصحك بموقع Codecademy ثم يمكنك الاستعانة بكتاب “تعلم بيثون 3” كمرجع.

-بالنسبة للويب (إطار العمل Django) فلن تجد أفضل من الموقع الرسمي.

-بالنسبة لبرمجة الألعاب 2D فإليك هذا الموقع الجميل.

-لتطوير التطبيقات المكتبية باستخدام Tkinter هذا الموقع وباستخدام Qt هذا الموقع.

-لمجال تحليل البيانات فإليك الدورة التي تقدمها edX.

-لمعالجة الصور فهذا الموقع وهذا الموقع سيكونان مفيدين لك.

-ولتعلم الآلة فإليك هذه السلسلة من موقع edX.

-للاختراق الأخلاقي إليك هذه السلسلة وكذلك هذه السلسلة على يوتيوب.

راجع أيضًا:

هل كانت هذه المقالة مفيدة بالنسبة لك؟ وهل تودّ إضافة شيء آخر؟

مشاركة