Здравствуйте, fin_81, Вы писали:
V>>Или, например, вопрос версионности ПО. MS изобрела офигенную штуку для преодоления "dll hell" — это технология "side by side" — SxS.
V>>К сожалению, остальные платформы еще не созрели, у них еще происходит тот самый "dll hell" — абсолютно все unix-платформы, где пытаются с этим бороться менее продвинутыми ср-вами, например через вербальные соглашения о т.н. "semantic versions". С высоты птичьего полёта — это ха-ха три раза, но индустрия пока спасается тем что есть, как грится.
_>Ты всерьез про манифесты?
Я про версионность с токенами.
В манифесте опционально указаны другие зависимости, тоже с токенами.
И/или своя "полная" версия.
Что такое "токен"? Он был введен для определения бинарной совместимости.
Например, бинарник версии "3.0" с токеном "А" удовлетворит затребованную зависимость "2.0 A", но её не удовлетворит другой бинарник "2.0 B".
Ведь именно поэтому в Linux невозможно сосуществование бинарников от разных сборок, что эти бинарники несовместимы (конфликтуют), хотя у них одинаковые или совместимые версии. Если бы ввести SxS в Linux, то можно было бы на одной системе иметь пакеты от разных сборок без всяких конфликтов, как это происходит в Windows.
_>Посмотри на NixOS с менеджером пакетов Nix.
Те же самые проблемы, которые решаются через ональную огороженность от других сборок линухов и даже от собственных сборок (разумеется!), которые имеют другую версию. ))
Трэш и угар, как по мне, но индустрия этим живёт сегодня.
_>SxS рядом не валялся.
Мде?
_>Этом, можно сказать, динамически загружаемые библиотеки как статически слинкованные.
Да это вообще не важно. Смотри в суть вещей. В линухах до сих пор ниасили link-time code generation, поэтому запросто, например, могут позволять себе подставлять статические библиотеки для динамических зависимостей. Рука-лицо, не? ))
_>Проблема не решается, появляется проблема хаоса из очень мало отличающихся версий либ. Один ад заменили другим адом.
Ну ты бы копнул SxS, там немного совсем.
Это не пакетный менеджер ни в одном из мест.
Это скромная такая, малюсенькая подсистема управления зависимостями.
ЛЮБОЙ адекватный виндовый пакетный менеджер должен сидеть поверх этой базы.