أ. منصور العجمي يكتب: لغة برمجة بايثون
بايثون هي لغة برمجة عالية المستوى ، تفسيرية ، موجهة نحو البرمجة. لديها دلالات ديناميكية. بالإضافة إلى ذلك ، فقد بني في بنية البيانات ، والتي ترافقها الطباعة والتجليد الديناميكي ؛ هذا يجعلها جذابة للغاية لاستخدامها كلغة برمجة أو صمغ لتوصيل المكونات الموجودة مع بعضها وكذلك لاستخدامها في تطوير التطبيقات السريعة. تستخدم Python الوحدات والحزم ، والتي تشجع على إعادة استخدام الكود ونمط البرامج. مترجم Python والمكتبة القياسية موزعة بحرية ومتاحة في شكل ثنائي بدون مقابل لكل المنصات الرئيسية.
في كثير من الأحيان ، مبرمجون مثل Python لأنه يوفر زيادة الإنتاجية ، بسبب عدم وجود خطوة تجميع ، فإن دورة تحرير – اختبار – تصحيح سريع بشكل لا يصدق. برامج تصحيح أخطاء Python سهلة ، ولا تسبب الأخطاء أو المداخل السيئة أي خطأ في التصنيف. بدلاً من ذلك ، سوف يرتفع الاستثناء عندما يكتشف المترجم خطأً. في حالة عدم معالجة البرنامج للاستثناء ، سيقوم المترجم بطباعة تتبع المكدس. يتيح مصحح الأخطاء Python التحقق من المتغيرات المحلية والعالمية ، وتحديد نقاط التوقف ، وتقييم التعبيرات الموضعية ، ومتابعة الكود في سطر واحد في المرة الواحدة ، وما إلى ذلك. تتم كتابة مصحح الأخطاء في Python ، مما يثبت قوة بايثون الاستيطانية. تمكنك دورة تحرير – اختبار – تصحيح سريع في Python من إضافة بعض عبارات الطباعة إلى المصدر إلى تصحيح سريع لأحد البرامج.
هناك العديد من اللغات المفسرة يمكن مقارنتها بـ Python مثل Java أو JavaScript أو Tcl أو Perl أو Smalltalk أو C ++.
عموما برامج Python تشغيل أبطأ من برامج جافا ، لكنها تأخذ وقتا أقل بكثير لتطوير. عادةً ما تكون برامج بايثون أقصر بـ 3-5 مرات عن برامج Java المشابهة ، بسبب الكتابة الديناميكية لـ Python وأنواع البيانات المضمنة عالية المستوى. أيضا بسبب الكتابة في وقت التشغيل ، يجب أن يعمل وقت تشغيل Python بشكل أكثر صعوبة من Java. لهذه الأسباب ، فإن بيثون تتلاءم مع لغة “الصمغ” ، بينما تعتبر لغة جافا لغة تنفيذ منخفضة المستوى. يمكن لبيثون وجافا أن يشكلان مزيجا ممتازا. تستطيع Java تطوير المكونات ثم دمج هذه المكونات لتشكيل التطبيقات في Python. بالإضافة إلى ذلك ، يمكن أن تقوم بايثون بتجميع المكونات التي تصمم في تطبيق جافا. ولدعم هذا التطوير ، تم تطوير تطبيق Python المكتوب بلغة Java من خلال السماح بالاتصال بشفرة Python من Java والعكس عن طريق ترجمة شفرة المصدر Python إلى Java (باستخدام مكتبة وقت التشغيل ، التي تدعم دلالات الديناميكية ).
تتشابه مجموعة بيثون “القائمة على الكائنات” بشكل شبه جاف مع جافا سكريبت في دعم نمط البرمجة ، والذي يستخدم وظائف ومتغيرات بسيطة دون الحاجة إلى تعريفات الفئة. من ناحية أخرى ، تدعم بايثون كتابة برامج أكبر وتشجع إعادة استخدام الكود من خلال أسلوب البرمجة الشيئي (الطبقات والوراثة).
تأتي بايثون وبيرل من نفس الخلفية (برنامج يونكس) ولديهما العديد من الخصائص المتشابهة ، لكنهما لديهما فلسفة مختلفة. يدعم Perl المهام الشائعة الموجهة للتطبيق ، بينما تدعم بايثون منهجيات البرمجة الشائعة وتشجع المبرمجين على كتابة كود مقروء وقابل للصيانة من خلال تقديم تدوين أنيق.
Tcl باعتبارها لغة تمديد التطبيق قابلة للاستخدام مثل بايثون. كما أنها لغة برمجة مستقلة. ومع ذلك ، تكون Tcl ضعيفة على هياكل البيانات لأنها تخزن جميع البيانات كسلسلة ، وتنفذ شفرة أبطأ بكثير من بايثون. بالإضافة إلى ذلك ، لا تحتوي Tcl على ميزات مطلوبة لكتابة برامج كبيرة ، مثل مساحات الأسماء المعيارية. يحاول Tcl 8.0 حل مشكلات السرعة باستخدام مترجم bytecode مع دعم نوع البيانات, ويضيف مساحات الأسماء, ولكن مع ذلك ، فإنه لا يزال لغة البرمجة بطيئة.
أكبر الفرق بين بيثون و سمول تالك هو أن بايثون لديها بنية “سائدة” أكثر تعطيها أولوية في تدريب المبرمجين. تمتلك Smalltalk و Python كتابة وربط ديناميكي. ومع ذلك ، يميز Python بين أنواع الكائنات المضمنة والفئات المعرفة من قبل المستخدم ، ولا يسمح بالوراثة من الأنواع المضمنة. لدى مكتبة بايثون المزيد من التسهيلات للتعامل مع حقائق الإنترنت والويب مثل البريد الإلكتروني ، HTML و FTP. من ناحية أخرى ، تعد مكتبة Smalltalk القياسية أكثر دقة.
لدى Smalltalk “صورة نظام” متجانسة تشتمل على البيئة وبرنامج المستخدم. على النقيض من متاجر بايثون ، يمكن إعادة ترتيب أو توزيع وحدات النمط القياسي والمستخدم في الملفات الفردية خارج النظام بسهولة.
يشبه C ++ تقريباً Java ، أكثر من ذلك: حيث يكون كود Python أقصر من 3-5 مرات من Java البرمجية المتشابه ، وغالباً ما يكون أقصر بـ 5-10 مرات من C ++ code. يمكن استخدام Python كلغة غراء لدمج المكونات المكتوبة في C ++.
إعداد: أ.منصور العجمي
قسم الحاسب الالي
المعهد العالي للخدمات الادارية