Sizinkine cevap vermek için sormamız gereken soruların "Diğer diller / ekosistemlerin kendi merkezi paket havuzuna sahip olmalarından ne kazanıyorlar?" ve "Bu, C / C ++ için geçerli mi?"
İlk sorunun cevabının yeni bir dilin ilk tanıtımıyla bir ilgisi olduğunu hissediyorum: ilk evlat edinenler, yeni gelenlerin ekosisteme girmelerini, faydalı, test edilmiş kodlar edinmelerini ve kendilerine geri katkıda bulunmalarını mümkün olduğunca kolaylaştırmak istiyor. Belli nedenlerden dolayı, "kullanım grafiği" her zaman tek bir kökü vardır - dilin yaratıcısı (ları). Genellikle bir referans uygulaması vardır (en azından başlangıçta) ve bu nedenle paylaşmak isteyebileceğiniz herhangi bir kodun buna uyması gerekir.
Bu, sadece indirip derleyen paketleri oluşturmayı kolaylaştırır. Kuşkusuz, C veya C ++ 2013'te tanıtıldıysa, toplulukları benzer bir evrim yolunu izlemiş olabilirdi, ancak bir paket yöneticisini uygulamak için tek bir hakim araç zinciri yoktu ve yoktu. Bu, böyle bir programın uygulanmasını zahmete değmeyecek kadar zahmetli kılar. (Kullanıcıların libfoo-gcc ve libfoo-vs arasında seçim yapmasını sağlamalı mıyım? Çözmek için paketleyiciye mi bıraktın? Ya da yapım süreci?
İlk soruya verdiğim cevabı özetlemek için, paket yöneticileri oluşturma modelinin çoğunlukla evlat edinmeye yardımcı olduğunu düşünüyorum .
Bunu göz önünde bulundurarak, neden bu ihtiyacı karşılamak için tek bir sistemin neden yükselmediğini görmek oldukça kolay - çünkü ihtiyaç C ve C ++ programcıları için mevcut değil. C ve C ++ topluluğu (ya da herhangi bir programcı topluluğu için) gerçekten bir sorun teşkil eden şey, aslen ima edilen ihtiyaçtır: dağıtmak, güncel tutmak ve geri kod eklemek. Bu, farklı derecelerde başarılı insanlar tarafından birçok kez çözüldü ve gerçekten de bir sistem önemli pazar payı kazanıyor: git (ve bundan önceki diğer sistemler).
Sorunlar farklılık Temelde zaman, çözüm çok farklı görünüyor, ama IMHO yazarak arasındaki fark gem install
ve git clone
tartışmaya açıktır.