Python
إن كنت تنجز الكثير من الأعمال باستخدام الحاسوب، فستجد نفسك بحاجة إلى تأدية بعض المهام بصورة مؤتمتة. فعلى سبيل المثال قد ترغب في إنجاز عملية بحث واستبدال على عدد كبير من الملفات، أو إعادة تسمية وترتيب مجموعة من ملفات الصور وبطريقة معقدة. قد ترغب ربّما بكتابة قاعدة بيانات صغيرة، أو إنشاء تطبيق يمتلك واجهة رسومية خاصّة، أو حتى لعبة بسيطة.
إن كنت من المحترفين في مجال تطوير البرمجيات فإنّك ستلجأ على الأرجح إلى استخدام العديد من مكتبات اللغات C/C++/Java ولكنّك ستجد أنّ عمليات الكتابة ثم التصريف ثم الاختبار ثم إعادة التصريف قد أصبحت سلسلة من العمليات المتكررة البطيئة للغاية.
لربّما كنت تكتب حزمة اختبار لمثل هكذا مكتبة فوجدت أن كتابة شيفرة الاختبار أمر متعب للغاية، أو أنّك كتبت برنامجًا بمقدوره استخدام لغة ملحقة، ولكنّك لا ترغب بتصميم وتضمين لغة جديدة للتطبيق.
كل ما سبق هو ما تقوم به لغة بايثون.
يمكنك كتابة شيفرة صدفة في أنظمة يونكس (Unix) أو كتابة ملفات batch في نظام ويندوز (Windows) لأداء بعض من المهمات التي ذكرناها سابقًا، ولكن شيفرات الصدفة (shell scripts) ملائمة لنقل الملفات وإجراء التعديلات على البيانات النصية، وهي ليست ملائمةً إطلاقًا للتطبيقات ذات الواجهات الرسومية أو الألعاب. يمكنك أن تكتب برنامجًا باستخدام اللغات C/C++/Java ولكنّ قد تأخذ عملية النسخة الأولية وقتًا طويلًا. تمتاز لغة بايثون بسهولة الاستخدام، وتوفّرها في أنظمة Windows، و Mac OS X و Unix، وستساعدك في إنجاز أعمالك بسرعة أكبر.
بايثون سهلة الاستخدام، ولكنّها في الوقت عينه لغة برمجية حقيقية، تقدّم دعمًا وبنية أكبر للبرامج الكبيرة من شيفرات الصدفة أو ملفات batch. ومن جانب آخر، تقدّم بايثون قدرة أكبر على تفحّص الأخطاء من لغة C، ونظرًا لكون بايثون لغة من المستوى العالي جدًّا، فإنّها تتضمّن أنواعًا ذات مستوى عالٍ أيضًا، كالمصفوفات المرنة والقواميس. ولمّا كانت الأنواع أكثر شمولية في بايثون فبالإمكان الاستفادة من اللغة في حل مشاكل أكبر من تلك التي يمكن حلّها بواسطة لغات مثل Awk أو حتى Perl، ومع ذلك فإنّ الأمور تكون في بايثون على أقلّ تقدير بنفس سهولة اللغتين السابقتين.
تتيح بايثون تقسيم البرنامج إلى حزم متعددة يمكن إعادة استخدامها في برامج بايثون أخرى، وتمتلك اللغة مجموعة كبيرة من الحزم الأساسية التي يمكن استخدامها كأساس لبرامجك، أو كأمثلة تساعدك في البدء بتعلّم البرمجة بواسطة بايثون. تقدّم بعض هذه الحزم أمورًا مثل نظام المدخلات والمخرجات للملفات file I/O، استدعاءات النظام، sockets وحتى واجهات لبعض حزم الواجهات مثل Tk.
بايثون هي لغة مفسّرة (interpreted، وليست مبنية [compiled]) ما يتيح توفير الكثير من الوقت أثناء عملية التطوير نظرًا لانتفاء الحاجة إلى إجراء عملية التصريف والربط. يمكن استخدام المفسِّر بصورة تفاعلية، الأمر الذي يسهّل التعامل مع الخصائص التي تقدّمها اللغة، ولكتابة برامج لغرض التدريب أو الاختبار، أو لاختبار دالة أثناء عملية تطوير برنامج ما، إضافة إلى إمكانية استخدام المفسّر كآلة حاسبة.
تتيح بايثون كتابة البرامج بأسلوب مختصر ومقروء، فالبرامج المكتوبة في بايثون تكون عادة أقصر بكثير من مكافئاتها في لغات C، أو C++، أو Java، ولعدّة أسباب:
- تتيح أنواع البيانات ذات المستوى العالي إمكانية استخدام تعابير معقدّة في عبارة واحدة.
- يجري تجميع العبارات باستخدام الإزاحات، بدلًا من أقواس البداية والنهاية.
- لا حاجة للتصريح عن نوع المتغير أو الوسيط.
بايثون قابلة للتجديد: إن كنت تجيد البرمجة باستخدام لغة C فمن السهل حينئذٍ أن تضيف دالة ضمنية إلى اللغة أو حزمة جديدة إلى المفسر، وذلك إمّا لتأدية المهام الضرورية بأقصى سرعة، أو لربط برامج بايثون مع المكتبات التي تكون متوفّرة بالصيغة الثنائية فقط (مثل مكتبات الرسوميات الخاصّة بالشركة). وعند إجراء عملية الربط يصبح بالإمكان ربط مفسِّر بايثون بتطبيق مكتوب بلغة C واستخدامه كأداة ملحقة أو كلغة أوامر في ذلك التطبيق.
سمّيت لغة بايثون بهذا الاسم تيمّنًا بعرض السيرك الذي كانت تقدّمه قناة BBC والذي يحمل الاسم «Monty Python’s Flying Circus» ولا رابط بينه وبين الحيوانات الزاحفة.