المعلوماتية > برمجيات

لغات البرمجة بايثون (Python)

في كانون الأول عام 1989م، عندما كان (Guido van Rossum) يبحث عن مشروع برمجي صغير يملأ به عطلة الأعياد؛ قرَّر بناء مفسِّر للغة البرمجة التي كان يفكِّر بها مؤخَّرًا، والتي كانت عبارة عن لغة مشتقَّة من لغة (ABC) ومفهومة من قبل مبرمجي (Unix/C)، فانتهى به الأمر إلى بناء مفسِّر اللغة المعروفة بايثون (python).

وقد وقع الاختيار على كلمة بايثون -وهو أحد أنواع الثعابين- لأنَّ مصمِّم اللغة في ذلك الوقت كان شغوفًا بالمسلسل الكوميدي "Monty python's flying circus"؛ لذا حين فكَّر باسم قصير ومبتكر وغريب في آن واحد؛ قرَّر استخدام كلمة (Python).

تستخدم لغة البرمجة (Python) مفسِّرًا فوريًّا (interpreter)، وتدعم البرمجة غرضيةَ التوجُّه (object-oriented)، وتأتي قوة اللغة من سهولة الشيفرة البرمجية الخاصة بها وبساطتها، فترى عديدًا من المبرمجين ينصحون بها بوصفها خيارًا أول لتعلُّم البرمجة، فضلًا عن أنَّه يمكن مكاملة هذه اللغة مع لغات وأدوات أخرى، واستخدامها لغةً إضافية للتطبيقات التي تحتاج بعض الواجهات المُبرمجة.

وتعمل اللغة على أيِّ نظام تشغيل بدءًا من (Unix)، و(Mac)، والحواسيب التي تعمل على (MS-Dos) وصولًا إلى (windows) و(windows/NT)، وإذا كنت تملك خبرةً برمجية سابقة؛ تستطيع تعلُّم لغة بايثون في خلال أيامٍ معدودة.

تمتاز اللغة بأنَّها مفتوحة المصدر (open source) وجميع أدواتها مجانية بالكامل، وتشرف على تطويرها مؤسسة بايثون للبرمجيات "Python Software Foundation" والتي يمكن لأيِّ مبرمج الانضمام إليها تطوعيًّا إن كان يملك المهارات والخبرات اللازمة.

ومن الممكن تنفيذ معظم تعليمات اللغة بواسطة مفسِّر أسطر الأوامر (CMI - Command Line Interpreter)؛ إذ يُدخل المستخدم التعابيرَ البرمجية على نحو تتابعي، وتُستقبَل النتائج فوريًّا.

-مجالات استخدام لغة (Python):

تُستخدم لغة البرمجة (python) في عدة مجالات:

1- تطوير الويب:

تتيح لغة (python) عديدًا من الخيارات لمطوِّري الويب، ومنها:

- أُطر العمل مثل (Django) و(Pyramid).

- أُطر العمل المصغَّرة مثل (Flask) و(Bottle).

- نظم إدارة المحتوى المتقدِّمة مثل (Django Cms) و(Plone).

2- المجالات العلمية والرياضية:

تأتي شهرة لغة (python) من استخدامها في العديد من المشاريع العلمية والبحثية؛ وذلك بواسطة بعض الأدوات التي تقدِّمها، ومنها:

- (SciPy): مجموعة من الحزم البرمجية الخاصة بالرياضيات والعلوم والهندسة.

- (Pandas): مكتبة خاصة بتحليل البيانات ونمذجتها.

- (IPython): وهي عبارة عن مفكِّرة تفاعلية تسمح بالتعديل البسيط والتسجيل للمشاريع البرمجية، فهي تساعد المبرمجين على تعقُّب عملهم، وتُسهِّل مشاركته مع الآخرين، وتدعم البرمجة التفرُّعية والمرئيات.

3- هندسة البرمجيات:

تُستخدم لغة بايثون عادةً بوصفها لغةَ دعم لمهندسي البرمجيات، وتُستخدم للبناء، والتحكُّم، والإدارة، والفحص، وعدة مجالات أخرى، ومن الأدوات المستخدمة:

- (Scon) للتحكُّم.

- (BuildBot)، و(Apache)، و(Gump) للبناء والفحص المستمر والمُؤتمت.

- (Roundup) و(trac) لتتبُّع الأخطاء البرمجية وإدارة المشاريع.

4- الذكاء الصنعي وتعلُّم الآلة:

تحوي (python) عديدًا من المكتبات التي تمكِّن المبرمج من تنفيذ خوارزميات تعلُّم الآلة، ومنها: (Pybrian)، و(NLTK)، و(PyLearn2).

نقاط القوة:

تتمتَّع لغة (python) بنقاط القوة الآتية:

- مناسبة بوصفها لغةَ برمجة أولى للمبتدئين.

- بسيطة وسهلة التعلُّم.

- مناسبة لمختلف المنصَّات.

- مجانية ومفتوحة المصدر.

- غرضية التوجُّه.

- لها مكتبات موسَّعة.

نقاط الضعف:

أمَّا عن نقاط ضعف اللغة؛ نذكر منها:

- السرعة: تُعَدُّ لغة (python) أبطأ من لغتَي C وC++

- تطوير الهواتف المحمولة: لا تُعَدُّ لغة (python) مناسبةً لمجال تطوير الهواتف المحمولة.

- مُستنزِفة للذاكرة: نظرًا للمرونة في أنماط البيانات التي تدعمها (python)؛ فإنَّها بالمقابل تتطلَّب موارد ذاكرة عالية.

- أخطاء وقت التشغيل: تتطلَّب (python) جهدًا إضافيًّا في اختبار الشيفرات البرمجية المكتوبة باستخدامها؛ نظرًا لكون اللغة مكتوبة ديناميكيًّا، فهناك أخطاء لا تظهر إلَّا وقت التشغيل.

ختامًا، نجد أنَّه لا وجود للغة متكاملة، لكن تستحقُّ لغة "بايثون" التجربة؛ لما توفِّره من إمكانيات وتسهيلات كبيرة كما سبق ورأينا في هذا المقال، وحتى لأولئك المبتدئين في مجال البرمجة؛ فهذه اللغة تُعَدُّ من أفضل الخيارات للبدء.

المصادر:

هنا

هنا

هنا

هنا