Ci sono 2 argomenti per avere librerie condivise:
- Aiuta a ridurre lo spazio su disco.
- Quando una libreria condivisa viene aggiornata, tutti i file binari a seconda di ciò ottengono l'aggiornamento.
C'è principalmente un inconveniente per le librerie condivise:
- Loro (possono) introdurre l'inferno di dipendenza.
Sui computer desktop, il primo vantaggio non regge più. Sprecare spazio su disco non è un grosso problema al giorno d'oggi.
Avere binari statici ci permetterebbe di ottenere migliori gestori di pacchetti - voglio dire, l'inferno della dipendenza sarebbe una cosa del passato. Aggiungere un programma sarebbe solo aggiungere un binario; eventualmente una cartella per lasciarlo gestire i suoi file. Cancellare un programma sarebbe semplicemente cancellando questo file. Dipendenze? Andato.
Il secondo vantaggio è ancora valido, ma penso che il vantaggio dei binari statici sui computer desktop sia superiore a quello. Voglio dire, anche i nuovi linguaggi come Go compilano tutti i loro binari nonostante i vantaggi delle librerie condivise, a causa della praticità.
Poiché uno dei principali vantaggi delle librerie condivise non è più un problema, le librerie statiche C sono ancora disapprovate? Se sì, perché?