لعل اختيار لغة البرمجة التي سوف تستخدمها من أجل عملك كمبرمج يعد الخطوة الأكثر أهمية للبدء في أي مجال من مجالات التطبيقات البرمجية عموماً، وفي التطبيقات الموجهة للويب خصوصاً. في هذه الأيام، وفي سياق تطوير تطبيقات الويب، تعد اللغتان بايثون و بي اتش بي الأكثر شعبية، والحقيقة يصعب عموماً الاختيار بينهما. فعلى الرغم من كثرة التطبيقات التي تم تطويرها بالفعل باستعمال بي اتش بي، إلا أن بايثون قد انتشرت بشكل ملحوظ في الآونة الأخيرة.
دعنا إذاً نتعرف عن كثب على كلتا اللغتين، ونستعرض الفروقات بينهما، ونبين متى يحبذ استعمال إحداهما بدلاً من الأخرى.
ما هي PHP؟
لقد تم اشتقاق اسم اللغة بي اتش بي من تعريفها، فهي معالج مسبق للنص التشعبي Hypertext Pre-processor، وهي لغة برمجة نصية من جهة الملقم مفتوحة المصدر تستعمل من أجل تطوير مواقع ويب ديناميكية مقادة من قبل المستخدم (أي أنها تستجيب لأفعال المستخدم) أو تطبيقات ويب. ويمكن اعتبار بي اتش بي الخيار الفعلي كلغة ويب لما تتمتع به من غنى في الميزات والمكتبات والأدوات الإضافية، ناهيك عن توفر دعم هائل لها. تعتبر بي اتش بي لغة مرنة وسريعة يمكنها التعامل مع المحتوى الديناميكي في مواقع ويب HTML، بالإضافة إلى ملاحقة جلسات العمل والتوافق مع قواعد البيانات.
ماذا عن Python؟
تعد بايثون بدورها لغة برمجة مفتوحة المصدر تستهدف المفاهيم البرمجية المتعلقة بالبرمجة كائنية التوجه، وهي حالياً واحدة من أكثر لغات البرمجة استعمالاً كونها توفر صيغاً قواعدية عالية المستوى ويسيرة التناول في الوقت نفسه. تملك بايثون بنى بيانات تسمح لها بأن تكون الخيار المثالي لتطوير تطبيقات الويب بسرعة، خاصة أنها تتمتع بميزة الكتابة والربط الديناميكيين.كما توفر بايثون دعماً للوحدات النمطية والحزم البرمجية، مما يسمح للنظام بأن يكون نمطياً وللشيفرة بأن تكون قابلة لإعادة الاستعمال. يمكن اعتبار بايثون إحدى لغات البرمجة الأكثر سرعة على الإطلاق كونها تحتاج إلى القليل من أسطر الشيفرة لتحقق الكثير بالفعل، وهي تكرس قابلية القراءة والبساطة، مما يجعلها الخيار المثالي، وخاصة للمبتدئين.
بماذا تتميز PHP؟
- -بي اتش بي سهلة التوظيف وكتابة الشيفرة بها سهلة أيضا مقارنة بلغات البرمجة النصية الأخرى
- -بي اتش بي تدعم قواعد بيانات مختلفة من قبيل MySQL, Oracle وغيرهما، وهذا يعني أنها توفر إمكانية مكاملة قواعد البيانات في تطبيق الويب.
- -توفر بي اتش بي إمكانية تسجيل الدخول عن طريق إنشاء خلاصة عن حالات الوصول الأخيرة للمستخدم
- -بالمقارنة مع لغات البرمجة النصية الأخرى من قبيل JSP, ASP، تعتبر بي اتش بي أكثر فعالية
- -توفر بي اتش بي بعض ثوابت الإعلام عن الأخطاء المعرفة مسبقاً، والتي تقوم بدورها بإنشاء تحذير أو تنبيه لوجود خطأ.
- -بما أن بي اتش بي هي لغة مفتوحة المصدر، فهي توفر إمكانية تحميلها واستعمالها مجاناً، و هذه ميزة لايستهان بها.
دعنا نرى محاسن ومساوئ PHP
بناء على ما تقدم يمكن سرد محاسن بي اتش بي وفقاً للقائمة التالية
- -توفر إمكانيات تنقيح متميز للشيفرة
- -توفر إطارات عمل كثيرة من أجل تحقيق إمكانيات التوجه بالكائنات ودمج الميزات مفتوحة المصدر
- -تدعم نظم إدارة قواعد بيانات أخرى من قبيل No SQL, PostgreSQL وهلم جراً
- -تتمتع بدعم العديد من نظم التشغيل وتعمل بشكل مستقل عن المنصة
- -تدعم الوحدات النمطية الخاصة بمجموعات قواعد البيانات
- -مرنة ومستقلة عن المنصة
- -تدعم تطبيقات الويب المعتمدة على بي اتش بي جميع نظم التشغيل من قبيل Windows, Linux, UNIX
- -توفر دعماً مبيتاً للغة الاستعلام SQL
- -تتوفر العديد من أطر عمل بي اتش بي مفتوحة المصدر من أجل الاستخدام مجاناً
كما يمكن تلخيص عيوب بي اتش بي فيما يلي:
- -ضعف في الأداء
- -لا يمكنك تغيير سلوكها الأساسي
- -تستعمل أسلوب كتابة ضعيف قد يقود إلى تقديم معلومات وبيانات خاطئة للمستخدمين
- -غير مناسبة من أجل التطبيقات المستندة إلى المحتوى
- -غير داعمة لإنترنت الأشياء
- -عدم كفاية بروتوكولات وميزات الأمان
ميزات Python
بالانتقال إلى لغة بايثون يمكننا تقديم الميزات التالية:
- -يمكن أن تعمل بايثون على منصات عتاد مختلفة باستعمال نفس واجهة التخاطب مع المستخدم
- -يمكن بسهولة قراءة وتعلم وصيانة بايثون
- -توفر بنية مثالية ودعماً كبيراً للبرامج الضخمة
- -يمكن بسهولة تضمين الوحدات النمطية منخفضة المستوى في مفسر بايثون
- -توفر بايثون دعماً من أجل الجمع التلقائي للنفايات
- -يمكن دمج بايثون مع الشيفرة البرمجية لكل من اللغات C, C++, Java
- -توفر بايثون كتابة ديناميكية عالية المستوى للبيانات، ناهيك عن الدعم الكبير لتدقيق الكتابة ديناميكياً
- -توفر بايثون مساعدة كبيرة بنمط تفاعلي لعمليات الاختبار والتنقيح للشيفرة
لنعرض الأن محاسن ومساوئ Python
نبين فيما يلي محاسن ومساوئ بايثون عند العمل مع تطوير تطبيقات الويب، ولنبدأ بالمحاسن:
- -تعد بايثون لغة برمجة عامة الغرض موجهة بالكائنات ومتنوعة يمكن استعمالها في العديد من المجالات المختلفة
- -تتميز بشيفرة مستقلة عن المنصة وقابلة لإعادة الاستعمال
- -تعتبر بايثون سهلة التعلم والقراءة والاستخدام والصيانة
- -تتميز بجمع تلقائي للنفايات
- -يمكنها تطوير تطبيقات واجهة التخاطب مع المستخدم GUI
- -يمكن مكاملتها بسهولة مع لغات البرمجة الأخرى من قبيل Java أو C++
- -تملك مكتبات كبيرة مثل Tensorflow من أجل المهام التي تتطلب توظيف حسابات مكثفة
- -تعتبر بايثون لغة مفتوحة المصدر
- -توفر بايثون إمكانيات رسومية كبيرة تجذب الهواة
- -تجعل منها الوظيفة WORA قابلة للنقل
غير أن للغة بايثون مساوئها أيضاً، ولعل أهمها:
- -غير مفيدة كثيراً لبيئة تطوير تطبيقات الحوسبة المتنقلة وتطبيقات المستعرضات في بيئة التطبيقات الخاصة بالأجهزة المحمولة
- -تستخدم كمية هائلة من الذاكرة من أجل توفير متطلبات المطور
- -تعمل بشكل بطيء مقارنة مع لغات تطوير واقع الويب الأخرى
- -تسبب تأخيرات خلال عمليات اختبار تطبيقات الويب
- -يصبح اكتشاف الخطأ أكثر صعوبة بسبب الكتابة الديناميكية
- -تعتبر بايثون كبيرة جداً على تطبيقات الويب أو مواقع الويب البسيطة أو الصغيرة
- -تسبب الكتابة الديناميكية أخطاء في زمن التشغيل
- -تعتبر بسيطة نوعاً ما من أجل بعض المهام المحددة
متى إذاً علي اختيار Python ومتى يفضل اختيار PHP؟
نقدم فيما يلي الحالات التي يفضل فيها اختيار بايثون من أجل تطوير تطبيقات الويب:
- -بناء مواقع ويب تستعمل إطار العمل Django
- -الحاجة إلى إجراء تحاليل معمقة للبيانات
- -العمل في مجالات محددة من قبيل الروبوتيك وعلم البيانات
أما بي اتش بي فهي لا تزال لغة البرمجة النصية من جهة الملقم الأكثر شعبية بين المطورين، وفيما يلي الحالات التي يمكنك فيها اختيار بي اتش بي:
- -الاستثمار القليل
- -تطوير مدونات وتطبيقات ويب ومواقع ويب
- -العمل بشكل فعال من جهة الملقم
أخيرا نخلص إلى ما يلي:
ا يمكن رغم استعراضنا لجميع ميزات ومحاسن
وعيوب كل من بي اتش بي و بايثون الجزم بتفضيل إحداهما على الأخرى على الإطلاق، فكل
منهما جيدة بطريقتها الخاصة وميدانها الخاص. يمكن اعتبار بايثون بمثابة بوابة
لشيفرة تعلم الآلة، في حين أن بي اتش بي هي لغة البرمجة النصية من جهة الملقم
الأفضل في مجال تطوير تطبيقات الويب، والأمر متروك لك في النهاية لتقدر أيهما
الأنسب لتطبيقك المستهدف، آمل أن أكون قد
نجحت في أن أضيء لك دربك في اتخاذ القرار المناسب.
كتب ومراجع مهمة ذات صلة