Saya pikir pertanyaan yang perlu kami tanyakan untuk menjawab pertanyaan Anda adalah "Apa yang diperoleh bahasa / ekosistem lain dari memiliki repositori paket terpusat mereka sendiri?" dan "Apakah ini berlaku untuk C / C ++?"
Saya merasa jawaban untuk pertanyaan pertama ada hubungannya dengan promosi awal bahasa baru: pengadopsi awal ingin membuatnya semudah mungkin bagi pendatang baru untuk memasuki ekosistem, mendapatkan kode yang bermanfaat, teruji dan berkontribusi kembali ke bahasa mereka sendiri. Untuk alasan yang jelas, "grafik penggunaan" selalu memiliki satu root - pencipta bahasa. Biasanya ada satu implementasi referensi (setidaknya pada awalnya) dan oleh karena itu kode apa pun yang mungkin ingin Anda bagikan harus sesuai dengannya.
Ini membuatnya mudah untuk membuat paket yang baru saja diunduh dan dikompilasi. Tentu saja, jika C atau C ++ diperkenalkan pada 2013, komunitas mereka bisa saja mengikuti jalur evolusi yang sama, tetapi mereka tidak dan tidak ada satu pun toolchain yang berlaku untuk menerapkan manajer paket. Hal ini membuat implementasi program seperti itu terlalu merepotkan untuk menjadi layak untuk direpotkan. (haruskah Anda membuat pengguna memilih antara libfoo-gcc dan libfoo-vs? Apakah Anda menyerahkannya kepada pemaket untuk diselesaikan? Atau proses pembuatan? Jika demikian, bagaimana suatu paket berbeda dari tarball langsung?)
Jadi untuk meringkas jawaban saya untuk pertanyaan pertama, saya pikir pola membuat manajer paket sebagian besar berfungsi untuk mendorong adopsi .
Dengan pemikiran itu, saya pikir cukup mudah untuk melihat mengapa tidak ada sistem tunggal yang naik untuk memenuhi kebutuhan ini - karena kebutuhan tidak ada untuk programmer C dan C ++. Apa yang sebenarnya merupakan masalah bagi komunitas C dan C ++ (atau komunitas programmer mana pun, sebenarnya) adalah kebutuhan yang semula tersirat: untuk mendistribusikan, tetap mengikuti perkembangan dan menyumbang kembali kode. Ini telah dipecahkan berkali-kali oleh orang yang berbeda dengan berbagai tingkat keberhasilan, dan memang satu sistem mendapatkan pangsa pasar yang signifikan: git (dan beberapa sistem lain sebelum itu).
Pada dasarnya ketika masalahnya berbeda, solusinya terlihat berbeda juga, tetapi IMHO perbedaan antara mengetik gem install
dan git clone
diperdebatkan.