سؤال

الشركة التي كنت أعمل معها لديها مطوران يعملان بدوام كامل، وعدد قليل من المستقلين.إنهم بصدد تعيين مطور رئيسي جديد لمحاولة تحقيق النظام والإدارة في عملية التطوير.

لكن، حاليًا، أحد المطورين رأى النور لـ Django (الشركة طورت لغة PHP فقط حتى الآن) بينما يشعر المطور الآخر بالقلق من أن تقديم لغة جديدة (Python) فكرة سيئة في الوقت الحالي.

كيف ينبغي عليهم التعامل مع إدخال هذه التكنولوجيا الجديدة؟من الواضح أنه مع وجود مطور واحد فقط يعرف لغة Python فعليًا، فلن يكون هناك تكرار عندما يكون هذا المطور بعيدًا أو يغادر الشركة.

هل ينبغي عليهم أن يهتموا بتقديم لغة Python، أم يجب عليهم البحث عن حلول PHP فقط حتى يحين الوقت الذي يكون فيه الفريق لديه بالفعل أكثر من لغة Pythonion واحدة؟بدون قائد الفريق، يجب أن تقع القرارات عليهم.

هل كانت مفيدة؟

المحلول

لقد قمت مؤخرًا بتقديم لغة بايثون إلى شركتي، التي تقدم خدمات استشارية لمكتب البريد.لقد فعلت ذلك من خلال الانتظار حتى يكون هناك مشروع سأكون المبرمج الوحيد له، ثم حصلت على إذن للقيام بهذا المشروع الجديد في بايثون.ثم قمت بعد ذلك بمشروع صغير آخر في بايثون وحقق نتائج مذهلة مماثلة.بالإضافة إلى ذلك، استخدمت Python في جميع المهام الصغيرة الخاصة بي ("هل يمكنك تحليل الإحصائيات الموجودة في هذه الملفات إلى ملف CSV منظم حسب التاريخ والموقع؟"، وما إلى ذلك) وكان لدي وقت استجابة سريع لكل منها.

لقد قمت أيضًا بتبشير لغة بايثون قليلًا؛لقد بذلت قصارى جهدي حتى لا أكون بغيضًا بشأنه، لكنني أحيانًا أصف سبب إعجابي به كثيرًا، وتحدثت عن المشاريع الشخصية التي أستخدمه فيها في وقت فراغي ولماذا هو رائع بالنسبة لي، وما إلى ذلك.

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

لقد نجح هذا بشكل جيد حقًا.ومع ذلك، قد يكون هذا مختلفًا بعض الشيء عما تصفه.في حالتي، بدأت بمشاريع صغيرة إلى حد ما، ويتم استخدام بايثون فقط في المشاريع الجديدة.وأيضًا، لم يكن أي من زملائي في العمل من معلمي لغة Perl أو PHP؛لقد كانوا جميعًا يعرفون هذه اللغات وكانوا يستخدمونها لفترة من الوقت، لكن الأمر لم يتطلب الكثير من الجهد ليصبحوا أكثر إنتاجية في بايثون عما كانوا عليه من قبل.

لذا، إذا كنت تتحدث عن مشاريع جديدة مع أشخاص يستخدمون PHP حاليًا ولكنهم ليسوا خبراء فائقين ولا يحبون تلك اللغة، فأعتقد أن التحول إلى Python أمر لا يحتاج إلى تفكير.ومع ذلك، إذا كنت تتحدث عن العمل مع قاعدة كبيرة من أكواد PHP الموجودة مع الكثير من مبرمجي PHP ذوي الخبرة العالية والذين يشعرون بالسعادة بإعداداتهم الحالية، فمن المحتمل أن تبديل اللغات ليس فكرة جيدة.من المحتمل أنك في مكان ما بينهما، لذا سيتعين عليك تقييم المقايضات؛نأمل أن إجابتي سوف تساعدك على القيام بذلك.

نصائح أخرى

إذا كانت مهمة القائد الجديد هي ترتيب البيت، فمن المرجح أن يتم تبسيط الوضع الحالي قدر الإمكان مسبقًا.إذا اضطررت إلى ترتيب الأمور، فلن أرغب في إدارة مشروع تحويل لغة مستمر فوق كل شيء آخر، أو على الأقل أرغب في بعض الاختيار عند بدء المشروع.عند تقديم توصيتك، هل فكرت في التعقيد الإداري الإضافي الذي قد يترتب على الوصول إلى منتصف عملية التحويل؟

@darkdog:

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

لا أقول أن الانتقال إلى لغة بايثون سيكون فكرة سيئة لهذه الشركة، لكنني أؤيد جون - أبقِ الأمور بسيطة أثناء عملية الانتقال.سيقدر العميل المتوقع الجديد أن يكون له رأي في مثل هذه القرارات.

إذا كنت ترغب حقًا في تقديم لغة Python، ففكر في كتابة بعض الامتدادات أو الأدوات المساعدة في لغة Python المباشرة أو في إطار العمل.لن تفسد مبادراتك الأساسية، لذا ستكون فرصة منخفضة/لا تنطوي على مخاطر لإثبات مزايا التبديل.

أعتقد أن اللغة نفسها ليست مشكلة هنا، حيث أن لغة بايثون هي لغة لطيفة عالية المستوى مع توثيق جيد وسهل العثور عليه وشامل.

مما رأيته، يعد إطار عمل Django أيضًا بمثابة إضاءة رائعة لتطوير الويب، مما يوفر نفس تعزيز أداء المطور الذي توصف ريلز بأنه يقدمه.

المشكلة الحقيقية هي على مستوى الصيانة والإدارة.

كيف سيؤدي هذا النقل إلى تجزئة الصيانة بين كود PHP وPython.هل هناك حاجة لترحيل التعليمات البرمجية الموجودة من منصة إلى أخرى؟ما هي المشاكل التي سيحلها اعتماد Python وDjango في سير عمل التطوير الحالي وأطر العمل، وما إلى ذلك؟

الأمر كله يتعلق بالجداول الزمنية.بالنسبة لي، يجب أن يكون الاستراحة مع مشروع محدد.إذا قررت أن اتجاهك هو Django، فابدأ بمشاريع جديدة به.قبل أن تبدأ مشروعًا جديدًا بلغة/إطار عمل جديد، تأكد إما من أنك قد حددت وقتًا للوصول إلى السرعة في هذا الاتجاه الجديد، أو احصل على السرعة قبل الاستخدام في المشاريع الجديدة.

سأتجنب استخدام أداة الشهر.تأكد من أنك تريد أن يكون هذا هو اتجاهك وخصص بعض الوقت/الموارد للتعلم بما يكفي لاتخاذ قرار جيد.

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

لا أعتقد أن الأمر يتعلق بلغة برمجة في حد ذاتها.

ما هو مستوى كفاءة PHP في الفريق الذي تتحدث عنه؟هل يقومون ببرمجة السباغيتي أم يستخدمون إطارًا منظمًا مثل Zend؟إذا كانت هذه هي الحالة الأولى، فأنا أتفهم تمامًا اهتمام الرجل ببايثون ودجانغو.هذا هو الأخير، إنه مجرد ضجيج.

أنا أحب Python وDjango، وأستخدمهما معًا لتطوير تطبيقات الويب الأساسية لدينا.

ومع ذلك، من الصعب تقديم حالة عمل للتبديل في هذه المرحلة.خاصة:

  • تعتبر أي منصة جديدة محفوفة بالمخاطر مقارنة بالبقاء مع المنصة المجربة والحقيقية
  • سيكون لديك تجزئة المطور التي ذكرتها
  • العثور على مبرمجي PHP أسهل بكثير من العثور على مبرمجي بايثون

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

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

ختاماً:لا أوصي بالتبديل من PHP، ولكني أوصي بمراعاة اهتمامات المطور بطريقة ما في العمل.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top