https://drewdevault.com/dynlib.html 2303c62b98e13152ebdf19252f817f1370dc718b http://harmful.cat-v.org/software/dynamic-linking/versioned-symbols * Динамически слинкованные программы существенно дольше загружаются * Они нифига не занимают ощутимо меньше места Обновление всех программ, их перекомпиляция, если в зависимой библиотеке есть какая-то проблема -- тоже не проблема на самом деле. И тут как раз очень немаловажна быстрая компиляция: Go, C -- перекомпилировать на них хоть всю систему могло бы занимать очень и очень мало времени. Ну и лично я всегда повторял вопрос: как часто возникают уязвимости/баги действительно вас затрагивающие и требующие немедленного обновления? За целый год может вообще не появится ни одной. Ну и по факту софт то всё равно зависит от разных версий библиотеки, поэтому там есть версионирование символов. Поэтому вся динамическая линковка часто превращается в адовый ад в вопросах обновления, тупо не стоящий того. Я в своих C библиотеках юзаю только статическую линковку. Собственно, мудрые мира сего, в Go и в Plan 9 дают штатно только статическую линковку.
From: David Rabkin Date: 2020-06-27 18:04:19Z Вспоминается борьба перевода статических библиотек в динамические в середине нулевых. Вот буквально говорилось в компании: эти, продвинутые, пилят динамическую библиотеку, а те, отсталые,—статическую. Я был на стороне динамических, волей случая, но гордился отчаянно: я же умел использовать LD_LIBRARY_PATH! Сегодня я понимаю, какие это костыли. Но, что интересно, в индустрии АйОуТи, где я сейчас, в переходе с RTOS на Linux, те же споры. Динамичные напирают на экономию футпринта, статичные—на стабильность. А мне опять пригодилось умение оперировать LD_LIBRARY_PATH :-)
From: Sergey Matveev Date: 2020-06-28 10:55:31Z На Hacker News целые баталии на эту тему: https://news.ycombinator.com/item?id=23654353