Saya menggunakan CMake untuk menghasilkan proyek IDE / makefile, tetapi saya masih perlu memanggil "skrip" khusus untuk memanipulasi file yang saya kompilasi atau bahkan menghasilkan kode.
Dalam proyek-proyek sebelumnya saya telah menggunakan Python dan itu OK, tapi sekarang saya mengalami masalah serius mengelola banyak dependensi dalam dua proyek yang sangat besar yang saya kerjakan jadi saya ingin meminimalkan ketergantungan di mana-mana.
Seseorang menyarankan saya untuk menggunakan C ++ untuk menulis skrip build saya alih-alih menambahkan ketergantungan bahasa hanya untuk itu. Proyek-proyek themeelves sudah menggunakan C ++ sehingga ada beberapa keuntungan yang bisa saya lihat:
- untuk membangun keseluruhan proyek, hanya sebuah kompiler C ++ dan CMake yang diperlukan, tidak ada yang lain (semua dependensi lainnya adalah C atau C ++);
- Keamanan tipe C ++ (saat menggunakan C ++ modern) membuat segalanya lebih mudah untuk mendapatkan "yang benar";
- itu juga bahasa yang saya tahu lebih baik sehingga saya lebih nyaman dengan itu bahkan jika saya bisa menulis beberapa kode Python yang baik;
- potensi keuntungan dalam kecepatan eksekusi (tapi saya pikir itu tidak akan terlihat);
Namun, saya pikir mungkin ada beberapa kekurangan dan saya tidak yakin tentang dampak nyata karena saya belum mencoba:
- mungkin lebih lama untuk menulis kode (yang mengatakan saya tidak yakin karena saya cukup efisien dalam C ++ untuk menulis sesuatu yang bekerja dengan cepat, jadi mungkin untuk sistem ini tidak akan terlalu lama untuk menulis) (waktu kompilasi tidak boleh t menjadi masalah untuk kasus ini);
- Saya harus berasumsi bahwa semua file teks yang akan saya baca sebagai input dalam UTF-8, saya tidak yakin itu dapat dengan mudah diperiksa saat runtime di C ++ dan bahasa tidak akan memeriksa untuk Anda;
- perpustakaan di C ++ lebih sulit untuk dikelola daripada dalam bahasa scripting;
Saya kurang pengalaman dan pandangan jauh ke depan, jadi mungkin saya kehilangan kelebihan dan kekurangan. Jadi pertanyaannya adalah: apakah masuk akal untuk menggunakan C ++ untuk ini? apakah Anda memiliki pengalaman untuk melaporkan dan apakah Anda melihat kelebihan dan kekurangan yang mungkin penting?