magog
13.03.2012 17:54 Azoth
Оказывается линукс говно, потому что в нем все программы не носят с собой весь зоопарк библиотек, а юзаю установленные. А пацаны-то и не знали.
http://juick.com/lovesan/1798997
нетрогай этого унылого клоуна
да у тебя же в ДЕБИАНЕ ЗАБОЛЕЛО
как будто в линуксе нельзя собрать прогу со статической линковкой
И правда говно — ради программы в сотню килобайт нужно собирать стомегабайтные либы. Нет чтобы подложить dll, как это делают в нормальной оси.
кококо, этому долбоебу не говорили что либа в папке с прогой приоритетнее в плане загрузки, чем та же либа, но в стандартных путях?
Sad story
да ладно, нормальный такой пост.
оказывается, линакс не говно
Линукс говно как минимум из-за stable api nonsense в ядре, тащем.
на самом деле линакс говно, потому что бесплатен
чем тебе не нравятся нестабильные внутренние интерфейсы ведра?
А в чем проблема? Свобода же! Хочешь — ебись сам, а хочешь — плати редхату за саппорт и у тебя всё всегда будет работать.
Тем что:
1) Нестабильность abi влечет за собой то, что closed-source драйвер хуй где заработает. И даже opensource драйвер, лежащий вне ядра, потенциально придется перекомпилировать на каждый чих пересборщика ядра. Хотя стабильности abi в рамках выбранного api на конкретной платформе вполне можно было бы добиться, приложив некоторые усилия, да.
2) Нестабильность api влечет за собой не только пиздец для любого closed-source модуля, как в случае с abi, но еще и суровый ад и израиль для любого модуля, чей код Линус не захотел впилить в апстрим. Я должен после каждого релиза ядра садиться и смотреть, что там эти упорки опять поменяли и перепиливать свой код под них. Я, конечно, понимаю аргументацию Грега про то, что им лень поддерживать легаси интерфейсы, но мне от этого не легче. Пусть бы вкладывали чуть больше мозговых ресурсов в проектирование с самого начала.
3) Хорошо, заебись, предположим что мой код попал в апстрим. Они обещают после каждого ломающего патча грепать и чинить его. И таких как я у них тысячи. Ядро растет в геометрической прогрессии. С каждым новым релизом все труднее и труднее уследить за пиздецом, творящимся на дне подсистем. И кто может пообещать, что в таких условиях они разберутся во всех модулях достаточно хорошо, чтобы поправить их без посторонней помощи? Верно, никто. Они пинают меня, как мейнтейнера, "ололо приди почини нам". Если не находят меня за разумное время — Линус говорит "это говно никто не поддерживает, мы не шарим, чо с ним делать, выпилим пока от греха подальше". И мы возвращаемся к пунктам 1-2.
Sad, but true.
ты же сам понимаешь что в противном случае:
1. имеем тонну интерфейсов, интерфейсов2, интерфейсовEx и так далее. и их надо поддерживать!
2. об оптимизации кода потом говорить вообще не приходится, радуемся что собралось и ничего не отвалилось
3. ну и если вдруг таки захочется сделать рефакторинг и выпилить говна мамонта, то мы наткнемся на упс юзеров древнего говна, которое ВНЕЗАПНО становится неподдерживаемым более
tradeoff'ы везде, такова жисть
1) Если изначально задумываться над разработкой интерфейсов посильнее и делать их расширяемыми — проблема станет вполне решаемой. Пусть себе Интерфейс после легасизации работает через вызов ИнтерфейсаEx, в крайнем случае.
2) Не распарсил, где связь? Если ты про abi, то стабильности там можно добиться совершенно без вреда для оптимизации.
3) Сейчас происходит ровно то же самое, тащем. Только оно размазано по времени.
1) так ли это сделано в винде?
2) abi стабильно, где ты там вообще слова про abi нашел?
3) ага, досовские игрушки на спермерке
1) Ну, хм. Большинство того, что я копал в дизассемблере, было сделано именно так.
2) Што? ) "This is being written to try to explain why Linux does not have a binary
kernel interface, nor does it have a stable kernel interface." Где оно стабильно?
2) в передаче параметров функции через стек и выравниванию структур данных
Ну, блин ) Открой /documentation/stable_api_nonsense.txt и почитай, что там написано про abi.