لماذا اختاروا بايثون لبناء موقع Quora.com عوض PHP مثلا ؟

يجيب على هذا السؤال Adam D'Angelo، المدير التنفيذي لمنصة Quora.com

كنا متأكدين بأننا لن نعتمد على لغة البرمجة PHP. موقع فيسبوك يعتمد في جزء منه على PHP لأسباب قديمة، وليس لأنه الخيار الأفضل في الوقت الحالي. ما تعلمناه من تلك التجربة هو أن اختيار لغة البرمجة أمر مهم جدا وقد يكون تغييرها في مرحلة متقدمة أمرا مكلفا للغاية (آدام كان يعمل مديرا تنفيذيا للتكنولوجيا (CTO) في شركة فيسبوك قبل تأسيسه منصة Quora).

بايثون كانت اللغة التي نعرفها بشكل جيد أنا وشارلي (يقصد الشريك المؤسس شارلي شيفر). وضعنا ضمن خياراتنا كذلك سي شارب، جافا وسكالا. المشكلة الكبيرة للغة Python كانت في السرعة وغياب ميزة Static Type Checking التي نجدها في C# و Scala مثلا.

سي شارب كان خيارا واعدا كلغة برمجة، ولكن:

  • لم نكن نريد أن نربط أنفسنا ببيئة مايكروسوفت، خاصة وأن معظم المهندسين يفضلون ثقافة المصادر المفتوحة (Open Source).
  • لم نرد المخاطرة بالإعتماد على مشروع Mono (تنفيذ مفتوح المصدر لبيئة NET.)، حيث لم نكن متأكدين من مستقبل هذا المشروع وهل سيظل مدعوما بشكل كافي. كما أن عدد كبير من أدوات C# تفترض أن نكون على بيئة NET. الأصلية (مشكل التوافقية).

لأسباب كثيرة، تكون كتابة أكواد جافا مع مرور الوقت أصعب مقارنة مع برامج بايثون. كما أنه من الصعب في جافا التعامل مع شفرات برمجية ليست بالجافا (Non-Java Stuff).

Scala كانت لديها الكثير من سلبيات جافا و JVM، ولكنها لم تكن بذلك السوء. في ذلك الوقت كانت لغة فتية ولم نرد خوض مخاطرة لا داعي لها، إذ لم نكن متأكدين من الحال الذي ستكون عليه هذه اللغة بعد 10 سنوات مثلا :)

اللغتين الأخريين اللتين فكرنا فيهما قليلا هما OCaml و Haskell، ولكنهما كما يبدو للجميع، لا تتوفران على نظام بيئي غني (Rich Ecosystem) مقارنة بجافا أو بايثون. بالإضافة إلى كونهما لغتين صعبتين خاصة على المصممين ومحللي البيانات الذين يحتاجون لكتابة بعض الأكواد البرمجية من حين لآخر.

قررنا في النهاية الذهاب مع خيار Python، فهو سريع كفاية ليلبي احتياجاتنا، وعلى كل حال كنا نقوم بنقل الأجزاء المهمة التي نحتاج فيها لسرعة وأداء عاليين إلى خوادم مبنية على لغة ++C. أما النقص في ميزة Typechecking، فعوضناه بكتابة العديد من الإختبارات الوحداتية (Unit Tests) وحقق لنا هذا النتائج والأهداف ذاتها.

كانت لدينا ثقة كبيرة بأن بايثون سيستمر في التطور في الإتجاه الذي كنا نريده، بناء على تطوره في السنوات الخمس السابقة.

حتى الآن، نحن سعداء جدا بالإختيار الذي قمنا به. جميع مطورينا الذين جاؤوا من لغات أخرى لم يجدوا صعوبة في الإنتقال لبايثون، خاصة الذين أتوا من عالم PHP.


المصدر: Why did Quora choose Python for its development? What technological challenges did the founders face before they decided to go with Python rather than PHP?