Є два аргументи для спільного використання бібліотек:
- Це сприяє зменшенню місця на диску.
- Коли оновлена бібліотека оновлюється, всі бінарні файли залежно від неї отримують оновлення.
В основному є один недолік спільних бібліотек:
- Вони (можуть) ввести залежність пекла.
На настільних комп’ютерах перша перевага насправді вже не є. Втрата часу на диску не є великою проблемою в ці дні.
Наявність статичних двійкових файлів дозволило б нам покращити менеджерів пакетів - я маю на увазі, пекло залежностей було б минулим. Додавання програми було б просто додаванням двійкового файлу; врешті-решт папка, щоб вона обробляла свої файли. Видалити програму було б просто видалити цей файл. Залежності? Пропав.
Друга перевага все ще залишається, але я думаю, що перевага статичних двійкових файлів на настільних комп’ютерах переважає її. Я маю на увазі, що навіть нові мови, як-от Go, збирають усі свої двійкові файли, незважаючи на переваги спільних бібліотек, через зручність.
Оскільки одна з головних переваг бібліотек, що поділяються, вже не є великою справою, чи статичні бібліотеки С все ще нахмурені? Якщо так, то чому?