Istnieją 2 argumenty przemawiające za udostępnianiem bibliotek:
- Pomaga zmniejszyć miejsce na dysku.
- Gdy biblioteka współdzielona jest aktualizowana, wszystkie pliki binarne zależne od niej otrzymują aktualizację.
Główną wadą bibliotek współdzielonych jest:
- Mogą (mogą) wprowadzić piekło zależności.
Na komputerach stacjonarnych pierwsza przewaga już nie istnieje. Marnowanie miejsca na dysku nie stanowi obecnie większego problemu.
Posiadanie statycznych plików binarnych pozwoliłoby nam uzyskać znacznie lepsze menedżery pakietów - to znaczy, że piekło zależności byłoby już przeszłością. Dodanie programu byłoby po prostu dodaniem pliku binarnego; ostatecznie folder, który pozwoli mu obsługiwać swoje pliki. Usunięcie programu byłoby po prostu usunięciem tego pliku. Zależności? Odszedł.
Druga zaleta wciąż pozostaje, ale myślę, że przewaga statycznych plików binarnych na komputerach stacjonarnych przeważa nad nią. Mam na myśli, że nawet nowe języki, takie jak Go, kompilują wszystkie swoje pliki binarne pomimo zalet bibliotek współdzielonych ze względu na wygodę.
Ponieważ jedna z głównych zalet bibliotek współdzielonych nie jest już niczym wielkim, czy biblioteki statyczne w C wciąż są niezadowolone? Jeśli tak, to dlaczego?