Il y a 2 arguments pour avoir des bibliothèques partagées:
- Il aide à réduire l'espace disque.
- Lorsqu'une bibliothèque partagée est mise à jour, tous les binaires qui en dépendent reçoivent la mise à jour.
Il y a principalement un inconvénient pour les bibliothèques partagées:
- Ils (peuvent) introduire l'enfer de la dépendance.
Sur les ordinateurs de bureau, le 1er avantage ne tient plus vraiment. Le gaspillage d'espace disque n'est plus vraiment un problème de nos jours.
Avoir des binaires statiques nous permettrait d'obtenir de bien meilleurs gestionnaires de paquets - je veux dire, l'enfer de la dépendance serait une chose du passé. Ajouter un programme serait simplement ajouter un binaire; éventuellement un dossier pour le laisser gérer ses fichiers. Supprimer un programme reviendrait simplement à supprimer ce fichier. Dépendances? Disparu.
Le deuxième avantage est toujours valable, mais je pense que l'avantage des binaires statiques sur les ordinateurs de bureau l'emporte. Je veux dire, même de nouvelles langues comme Go compilent tous leurs binaires malgré les avantages des bibliothèques partagées, à cause de la commodité.
Étant donné que l'un des principaux avantages des bibliothèques partagées n'est plus un problème, les bibliothèques statiques C sont-elles toujours mal vues? Si oui, pourquoi?