بدء التشغيل والتقنيات الحديثة واللغات والأطر الحديثة. كل هذا مثير للغاية عندما نبدأ في فعل شيء من الصفر. وسنحاول بالتأكيد اختيار التقنيات الحديثة والشعبية التي يحبها الملايين لمشروعنا. لكن الوقت لا يوقف مسيرتها التي لا هوادة فيها ، وفجأة ننظر إلى الوراء ونرى أن "الشركة الناشئة" تبلغ بالفعل 15 عامًا. وقد تغير العالم منذ فترة طويلة. ولا يزال لدينا نفس Basic / Delphi / Fortran / أيا كان في مشروعنا. وكيف تتعايش معها؟
لا ، لا أريد أن أفرز هولفارًا آخر على الإطلاق وهذا بعيد كل البعد عن رمي مروحة. إنه مجرد ألم شخصي ، لقيادة مشاريع بقيمة مليون + سطر من التعليمات البرمجية على تقنيات قديمة ، ولا سيما في دلفي.
ويصبح من المثير للاهتمام إلى متى يستمر المشروع الناجح بشكل عام. إذا نظرت حولك ، إذن ، من حيث المبدأ ، هناك عدد غير قليل من المشاريع ذات "التاريخ الملتحي". هذه هي WinRAR و Microsoft Office و AutoCAD و Photoshop و 3DSmax وغيرها الكثير. علاوة على ذلك ، هذه مشاريع لجمهور كبير. وكم عدد الأنظمة المصرفية المختلفة ، CIS ، CRM وأنظمة "الشركات" الأخرى من مختلف المستويات الموجودة. وكثير منها لم يكتب في السنوات الخمس الماضية.
بالطبع أرغب في مواكبة العصر ، لكن ترحيل مشروع كبير من لغة إلى أخرى ، في رأيي ، هو مهمة صعبة. لا يقتصر الأمر على استمرار عملية الترحيل هذه وكتابة رمز جديد ، بل يجب أن يستمر المشروع القديم في العمل والعيش والتطور. في مشروع جديد ، من الضروري تكرار كل منطق القديم ، لكنه ليس واضحًا دائمًا. في مشروع قديم ، يمكن بناء الكثير من المنطق على مكتبات لم يدعمها مطوروها لفترة طويلة. في مشروع جديد ، يجب استبدال هذه المكتبات. إذا كانت هذه مكونات مرئية ، فسيكون هذا أكثر صعوبة ، لأنه بالإضافة إلى البحث عن بديل ، تحتاج أيضًا إلى التفكير في كيفية إعادة كتابة الكود للعمل مع هذه المكونات المرئية بحيث يكرر المكون الجديد سلوك المكون القديم. طبعا كل شيء قابل للحل ولا يوجد هدف لتكرار عمل المشروع 100٪ ،ولكن حتى 50٪ للقيام بذلك أمر صعب للغاية ، وفي عملية إعادة الكتابة هذه ، قد يتضح أن النظام الأساسي / اللغة التي قرروا إعادة الكتابة بها غير مناسبة إلى حد ما أو أنها تفقد شعبيتها بالفعل.
بالطبع ، أنا أتحدث في الغالب عن المشاريع الكبيرة مع طبقة كبيرة من المنطق. مليون خط وأكثر. أولئك. لا تتعلق بالمواقع المصغرة ، وليس حول الخدمات المصغرة ، ولكن حول هذه الوحدات المتراصة (حتى لو تم تقسيمها إلى "مكونات" / "طبقات" ، وما إلى ذلك).
أود أن أعرف رأي الحاضرين هنا ، هل واجهتم مشاكل مماثلة وكيف تصرفت في مواقف مماثلة؟
ما هي الحلول التي توصي بتطبيقها أثناء التطوير بحيث لا تكون هناك رغبة في نقل المشروع إلى منصة أخرى خلال 10-15 سنة؟
شكرا على الإجابات!