Startup, teknologi baru, bahasa dan kerangka kerja modern. Semua ini sangat mengasyikkan ketika kita mulai melakukan sesuatu dari awal. Dan kami pasti akan mencoba memilih teknologi modern dan populer yang disukai jutaan orang untuk proyek kami. Tetapi waktu tidak berhenti berjalan tanpa henti, dan tiba-tiba kita melihat ke belakang dan melihat bahwa "startup" kita sudah berusia 15 tahun. Dan dunia di sekitar telah berubah sejak lama. Dan kami masih memiliki Basic / Delphi / Fortran / yang sama di proyek kami. Dan bagaimana menjalaninya?
Tidak, saya sama sekali tidak ingin membiakkan holivar lain, dan ini jauh dari sekadar kipas angin. Ini hanya penderitaan pribadi saya, untuk memimpin proyek bernilai lebih dari satu juta baris kode pada teknologi yang sudah ketinggalan zaman, khususnya di Delphi.
Dan menjadi menarik berapa lama proyek yang sukses biasanya bertahan. Jika Anda melihat-lihat, maka, pada prinsipnya, ada cukup banyak proyek dengan "sejarah berjanggut". Ini adalah WinRAR, Microsoft Office, AutoCAD, Photoshop, 3DSmax dan banyak lainnya. Selain itu, ini adalah proyek untuk khalayak massal. Dan berapa banyak sistem perbankan, CIS, CRM, dan sistem "korporat" lainnya dari berbagai tingkatan yang ada. Dan banyak dari mereka tidak ditulis dalam lima tahun terakhir.
Tentu saja, saya ingin mengikuti perkembangan zaman, tetapi memindahkan proyek besar dari satu bahasa ke bahasa lain, menurut saya, adalah tugas yang sulit. Tidak hanya migrasi ini yang berlangsung dan penulisan kode baru, proyek lama juga harus terus bekerja, hidup, dan berkembang. Dalam proyek baru, perlu mengulangi semua logika yang lama, tetapi tidak selalu jelas. Dalam proyek lama, banyak logika dapat dibangun di pustaka yang sudah lama tidak didukung oleh pengembangnya. Dalam proyek baru, pustaka ini harus diganti. Jika ini adalah komponen visual, maka ini lebih sulit lagi, karena selain mencari penggantinya, Anda juga perlu mempertimbangkan cara menulis ulang kode untuk bekerja dengan komponen visual tersebut sehingga komponen baru mengulangi perilaku komponen lama. Tentu saja, semuanya dapat diselesaikan dan tidak ada tujuan untuk mengulangi pekerjaan proyek 100%,tetapi bahkan 50% untuk melakukannya sangat, sangat sulit, dan dalam proses penulisan ulang seperti itu, mungkin ternyata platform / bahasa yang Anda pilih untuk menulis ulang entah bagaimana tidak sesuai atau sudah kehilangan popularitas.
Tentu saja, saya kebanyakan berbicara tentang proyek besar dengan lapisan logika yang signifikan. Sejuta baris dan banyak lagi. Itu. bukan tentang situs mini, bukan tentang layanan mikro, tetapi tentang monolit semacam itu (bahkan jika dipecah menjadi "komponen" / "lapisan", dll.).
Saya ingin tahu pendapat mereka yang hadir di sini, apakah Anda mengalami masalah serupa dan bagaimana Anda bertindak dalam situasi serupa?
Solusi apa yang akan Anda rekomendasikan untuk diterapkan selama pengembangan sehingga dalam 10-15 tahun tidak ada keinginan untuk mentransfer proyek ke platform lain?
Terima kasih atas jawabannya!