19

نعم اللغة بطيئة لعدة أسباب. لكنها ليست هي عنق الزجاجة. ما معنى هذا الكلام؟ معنى هذا الكلام أن الإنتقال إلى لغة أخرى لن يحل مشكلتك. لندع الأرقام تتكلم.

لنقل أن لدينا تطبيق ويب مكتوب بلغة php يرد ب 50 ميلي-ثانية وآخر يؤدي نفس الوظيفة يرد بنصف ميلي ثانية. هذا يعني أن بايثون أسرع من php ب 100 مرة! لكن هل توفير 45.5 ميلي-ثانية من ال 10 الثواني التي ينتظرها المستخدم يفرق في شيء!!

إن هناك الكثير من الوقت يضيع في استعلامات mysql لكن أغلب الوقت يضيع على المتصفح مثلا

  • ملفات js تعيق إخراج الصفحة (الصواب أن توضع في ذيل متن الصفحة وليس في أولها)

  • أن تطلب ملفات js بالتوازي async non-render blocking

  • أن تجمع ملفات js في ملف واحد وأن تجمع ملفات css في ملف واحد لتوفير عدد الطلبات

  • إن كانت الأيقونات قليلة توضع base64 في css أو في sprite

  • تصضغير وضغط الملفات سابقة الذكر

  • أن تخبر المتصف أن يحتفظ بها عنده ولا يطلبها (ولا حتى يتأكد من عدم تغيرها) وهو ما يعرف باسم public caching

  • يمكنك أن تذهب أبعد من ذلك كأن تستخدم js في القولبة وترييح الخادم.

هناك أشياء لا يمكن القيام بها في php مثل socket.io وهي مدعومة بعدة بغات ليس من بينها php. تستخدم socket.io في عمل اتصال ثنائي الإتجاه يتم فيه تبادل الرسائل أو الأحداث وهذا يستخدم لعمل تطبيقات محادثة (أو أي شيء جماعي يشبه تطبيق trello) خفيفة وسريعة لأن بديل ذلك هو الإستعلام الدوري للخادم كل نصف ثانية مثلا وهذا مكلف (هل لدي رسائل جديدة؟ لا طيب هل لدي رسائل جديدة؟ لا طيب ...).

ماذا تقصد بال 10 الثواني التي ينتظرها المستخدم؟

استخدم YSlow من ياهو أو PageSpeed من غوغل وستجد أن الكثير من المواقع العربية صفحاتها تحتاج من 5 إلى 10 ثواني حتى تكتمل أو تصبح قابلة للتفاعل Ready مع أن الخادم يرد خلال أقل من ثانية

15

اي لغة يمكن ان تكون بطيئة ان استخدمها مبرمج لا يستطيع استغلال كامل الطاقة التي تتيحها اللغة

فمثلا بما انني غير متمرس على لغة سي ، فقد اقوم على برمجة برنامج سي يحتاج لربع ساعة في التنفيذ بينما يقوم مبرمج سي محترف اخر ببرمجة نفس البرنامج لينفذ في جزء من الثانية.

برايي المشكلة الاساسية ليست مشكلة بطئ بي اتش بي او سرعة بايثون. المشكلة الاساسية هي في المبرمج نفسه.

+1

اهتم بسرعة أكوادك و اعصرها تنقيحا و تجويدا و اختباراً للأداء ثم نتحدث عن بطى لغات البرمجة

14

لاا ليست بطيئة,

بطيئة من اي ناحية؟

بعض اللغات بطيئة في اشياء وبعض اللغات اسرع في اشياء

عموما اللغات المفسرة مثل لغة PHP تعتبر أبطأ من اللغات المترجمة مثل C++

PHP

مجتمع مخصص للغة الـ PHP

3.41 ألف متابع