Re[5]: DLL HELL
От: Nuzhny Россия https://github.com/Nuzhny007
Дата: 02.08.22 19:13
Оценка:
Здравствуйте, Константин Б., Вы писали:

КБ>И... ты решил что тут виноват язык на котором написана библиотека Б? 🤔


Да, так и есть. Ведь pip — это часть стандартной языковой инфраструктуры. И сам язык способствует тому, чтобы на нём писали программы определённым образом.
Re[9]: DLL HELL
От: Nuzhny Россия https://github.com/Nuzhny007
Дата: 02.08.22 19:16
Оценка: +1
Здравствуйте, novitk, Вы писали:

N>Это обычный флейм "статика/динамика"? Извините, что влез.


Не только это. Там ещё pip способствует тому, чтобы не было стремления соблюдать совместимость. Легко написать, легко указать версию, легко обновить. В тех же плюсах проблемы с версиями библиотек возникают, например, при использовании vcpkg (может, уже и исправили). Но динамика точно не облегчает работу.
Re[5]: DLL HELL
От: Nuzhny Россия https://github.com/Nuzhny007
Дата: 02.08.22 21:00
Оценка: +3
Здравствуйте, Константин Б., Вы писали:

КБ>И... ты решил что тут виноват язык на котором написана библиотека Б? 🤔


Ещё вспомнилось, как бережно отнёсся к пользователям Торвальдс, когда отстоял незадокументированное поведение memcpy в glibc. Прикинь, он хотел, чтобы у всех работала функция, хоть по документации и не должна была. Для удобства пользователей, если ты понимаешь, о чём я.

А ещё я взял исходники С библиотеки, подключил в свой С++17 проект и оно просто заработало без единой проблемы.

Ты скажешь, что это совпадение и ерунда. А мне кажется, что С-программисты реально заботятся об обратной совместимости программ и библиотек.
Re[6]: DLL HELL
От: novitk США  
Дата: 02.08.22 21:26
Оценка:
Здравствуйте, Nuzhny, Вы писали:

N>А ещё я взял исходники С библиотеки, подключил в свой С++17 проект и оно просто заработало без единой проблемы.

N>Ты скажешь, что это совпадение и ерунда. А мне кажется, что С-программисты реально заботятся об обратной совместимости программ и библиотек.

Ты слишком обобщаешь и преувеличеваешь, сравнивая стабильность API дедушки POSIXа с новейшими высерами ML сообщества. Все сильно зависит от конкретной библиотеки. Например по моему опыту numpy — стабилен, а pandas — нет.
Re: DLL HELL
От: rosencrantz США  
Дата: 02.08.22 23:45
Оценка:
Здравствуйте, кубик, Вы писали:

К>Блин, сколько воя было про DLL hell в винде.

К>Боже мой,какой это был детский сад по сравнению с питоном на линуксе ...

Pipenv/pyenv Но да, дрянь.
Re[7]: DLL HELL
От: Nuzhny Россия https://github.com/Nuzhny007
Дата: 03.08.22 13:07
Оценка: 1 (1)
Здравствуйте, novitk, Вы писали:

N>Ты слишком обобщаешь и преувеличеваешь, сравнивая стабильность API дедушки POSIXа с новейшими высерами ML сообщества. Все сильно зависит от конкретной библиотеки. Например по моему опыту numpy — стабилен, а pandas — нет.


Вот так совершенно случайно оказалось, что солидный кусок numpy написан на С, а pandas целиком на Питоне. Совпадение?
Re[6]: DLL HELL
От: 4058  
Дата: 03.08.22 18:33
Оценка:
Здравствуйте, Nuzhny, Вы писали:

N> ... А мне кажется, что С-программисты реально заботятся об обратной совместимости программ и библиотек.


C язык "зрелый", и не используется для "однодневных" разработок в отличие от ... Поэтому имеется некая культура, что написанное однажды, должно работать настолько долго, на сколько это возможно, да и люди развивающие язык с учетом этого осторожно и бережно вносили изменения.

  немного размышлений про C++
В свою очередь, с C++ получилось несколько хуже, ибо слишком много хайпа вокруг него периодически создавалось, то всем развестистое ООП (с нулевыми издержками) подавай, то на каждом углу метапрограммирование на шаблонах ...
Это безобразие послужило приманкой для теоретиков и прочих идиотов, которые от безделья и практической безграмотности, и так непростой мультипарадигменный язык, бездумно украсили "фишечками" и "рюшечками" сделав его изрядно переусложненным для среднестатистического обывателя.

А на всяких скрипто-языках типа Питона, совсем другая культура разработки, по сути пригодны подобные средства только для прототипирования (однодневок) и возможно обучения в школьных кружках.
Re[6]: DLL HELL
От: Константин Б. Россия  
Дата: 04.08.22 03:51
Оценка:
Здравствуйте, Nuzhny, Вы писали:

N>Здравствуйте, Константин Б., Вы писали:


КБ>>И... ты решил что тут виноват язык на котором написана библиотека Б? 🤔


N>Да, так и есть. Ведь pip — это часть стандартной языковой инфраструктуры. И сам язык способствует тому, чтобы на нём писали программы определённым образом.


А определенным образом — это каким? И как именно pip этому способствует?
Re[6]: DLL HELL
От: Константин Б. Россия  
Дата: 04.08.22 03:55
Оценка:
Здравствуйте, Nuzhny, Вы писали:

N>Здравствуйте, Константин Б., Вы писали:


КБ>>И... ты решил что тут виноват язык на котором написана библиотека Б? 🤔


N>Ещё вспомнилось, как бережно отнёсся к пользователям Торвальдс, когда отстоял незадокументированное поведение memcpy в glibc. Прикинь, он хотел, чтобы у всех работала функция, хоть по документации и не должна была. Для удобства пользователей, если ты понимаешь, о чём я.


А еще вспомнился другой известный программист на Си — Ульрих Дреппер. Прикинь, он наоборот хотел чтобы у всех все сломалось 🤷🏿

N>А ещё я взял исходники С библиотеки, подключил в свой С++17 проект и оно просто заработало без единой проблемы.


N>Ты скажешь, что это совпадение и ерунда.


Ну вот когда библиотеки на питоне работают без проблем — это совпадение и ерунда? Или по твоему такого не бывает? )

N>А мне кажется, что С-программисты реально заботятся об обратной совместимости программ и библиотек.


Ульрих Дреппер — не C-программист?
Re[7]: DLL HELL
От: Nuzhny Россия https://github.com/Nuzhny007
Дата: 04.08.22 04:41
Оценка: +2
Здравствуйте, Константин Б., Вы писали:

КБ>А определенным образом — это каким? И как именно pip этому способствует?


Разжую ещё раз.
Он позволяет легко получать библиотеки указанных версий. Я же написал выше. Благодаря этой лёгкости у разработчиков создаётся впечатление, что не обязательно соблюдать какую-то совместимость, ведь можно просто указать правильную версию. И это работает на мини проектах, которых на Питоне пишется много. Но когда начинаешь собирать из разных исходников что-то больше, чем проект на тысячу строк (или вообще из jupiter ноутббуков), но проблема с версионностью встаёт в полный рост и сразу видно, что о ней никто не думал. Сверху добавляем динамику и получаем тот самый python hell.
Тут ещё добавляет радости переход по версиям самого языка, я вообще не в курсе, как в Питоне эти штуки решаются и из моего поверхностного опыта кажется, что никак.
Re[7]: DLL HELL
От: Nuzhny Россия https://github.com/Nuzhny007
Дата: 04.08.22 04:50
Оценка:
Здравствуйте, Константин Б., Вы писали:

КБ>А еще вспомнился другой известный программист на Си — Ульрих Дреппер. Прикинь, он наоборот хотел чтобы у всех все сломалось 🤷🏿


Где, как, что сломалось? Хоть ссылку на обсуждение кинь.

КБ>Ну вот когда библиотеки на питоне работают без проблем — это совпадение и ерунда? Или по твоему такого не бывает? )


Тут другая логика работает. Библиотека не работает — это аварийная ситуация. У нас может на тысячу библиотек не работать одна библиотека или 5. Это всё очень маленький процент, но во втором случае мы получаем проблем в пять раз больше. Добавь к этому, что исправляются при этом они тяжелее и получишь реальную картину.

N>>А мне кажется, что С-программисты реально заботятся об обратной совместимости программ и библиотек.

КБ>Ульрих Дреппер — не C-программист?

Давай проверим! Зашёл к нему на гитхаб, там у него своих репозиториев 33, из них только 7 на С. Остальные на С++, Питоне, баше, Mathematica... Да, он не С программист, а вполне универсальный программсит, знающий и использующий много разных языков.
Но я в принципе не знал, кто он, пришлось искать. Почему ты привёл его как пример, почему сам не узнал, на чём он программирует? У тебя в принципе аргументы настоящие будут? Ты по факту задал несколько вопросов, упомянул не в тему какую-то неизвестную мне фамилию.
Re[4]: DLL HELL
От: Dym On Россия  
Дата: 04.08.22 07:01
Оценка: +9
Здравствуйте, Ватакуси, Вы писали:

В>Питончик отлично работает везде, где у людей прямые руки.

Когда встречается фраза про "прямые руки", это всегда означает (всегда, без исключений), что на проде огребешь по полной. Потому что в реальности фраза "прямые руки" означает "хитровыделанный, переменный в самых неожиданных местах, радиус кривизны рук и мозгов". Только так, и никак иначе.
Счастье — это Glück!
Re[5]: DLL HELL
От: Ватакуси Россия  
Дата: 04.08.22 08:36
Оценка: -3
В>>Питончик отлично работает везде, где у людей прямые руки.
DO>Когда встречается фраза про "прямые руки", это всегда означает (всегда, без исключений), что на проде огребешь по полной. Потому что в реальности фраза "прямые руки" означает "хитровыделанный, переменный в самых неожиданных местах, радиус кривизны рук и мозгов". Только так, и никак иначе.

Нет, не означает. Более того, с непрямыми руками ты отгребёшь с любым языком/системой/платформой и т.п.
Все будет Украина!
Отредактировано 04.08.2022 10:04 Ватакуси . Предыдущая версия .
Re[6]: DLL HELL
От: Ночной Смотрящий Россия  
Дата: 10.08.22 09:10
Оценка:
Здравствуйте, Ватакуси, Вы писали:

В>Нет, не означает. Более того, с непрямыми руками ты отгребёшь с любым языком/системой/платформой и т.п.


Это небинарная величина.
... << RSDN@Home 1.3.17 alpha 5 rev. 62>>
Re[5]: DLL HELL
От: Ватакуси Россия  
Дата: 14.02.24 22:24
Оценка:
В>>Питончик отлично работает везде, где у людей прямые руки.
DO>Когда встречается фраза про "прямые руки", это всегда означает (всегда, без исключений), что на проде огребешь по полной. Потому что в реальности фраза "прямые руки" означает "хитровыделанный, переменный в самых неожиданных местах, радиус кривизны рук и мозгов". Только так, и никак иначе.

Представил этих людей в обмнимках с ц++...
Все будет Украина!
Re[8]: DLL HELL
От: GarryIV  
Дата: 14.02.24 23:14
Оценка:
Здравствуйте, Nuzhny, Вы писали:

КБ>>А определенным образом — это каким? И как именно pip этому способствует?


N>Разжую ещё раз.

не подавись

N>Благодаря этой лёгкости у разработчиков создаётся впечатление, что не обязательно соблюдать какую-то совместимость, ведь можно просто указать правильную версию.

ээм, во многих случаях вообще не пишут версию в requirements (и не фризят тоже)
здесь и сейчас работает и норм, что там завтра будет пофиг
WBR, Igor Evgrafov
Re[2]: DLL HELL
От: GarryIV  
Дата: 14.02.24 23:20
Оценка:
Здравствуйте, кубик, Вы писали:

К>В Windows как прекрасно заботились о compartibility

Дык МС и в своих питонячих либах за этим следит, и Амазон с Гуглом.

Совместимость вещь дорогая, простому Ваську нафиг не упало париться с этим для какого-то кубика.
WBR, Igor Evgrafov
Отредактировано 14.02.2024 23:22 GarryIV . Предыдущая версия .
Re[7]: DLL HELL
От: Marty Пират https://www.youtube.com/channel/UChp5PpQ6T4-93HbNF-8vSYg
Дата: 14.02.24 23:22
Оценка:
Здравствуйте, Константин Б., Вы писали:

КБ>А еще вспомнился другой известный программист на Си — Ульрих Дреппер. Прикинь, он наоборот хотел чтобы у всех все сломалось 🤷🏿


Кто это?
Маньяк Робокряк колесит по городу
Re[8]: DLL HELL
От: Константин Б. Россия  
Дата: 15.02.24 07:08
Оценка:
Здравствуйте, Marty, Вы писали:

M>Здравствуйте, Константин Б., Вы писали:


КБ>>А еще вспомнился другой известный программист на Си — Ульрих Дреппер. Прикинь, он наоборот хотел чтобы у всех все сломалось 🤷🏿


M>Кто это?


https://research.redhat.com/blog/project_member/ulrich-drepper/

Был в свое время ментейнером glibc. По стандарту memcpy не поддерживает пересекающиеся области памяти (в этом случае надо использовать memmove)
Однажды в реализацию memcpy внесли оптимизацию которая сломала код всем кто использовал memcpy неправильно.
Был жуткий скандал и срач на эту тему. Дреппер топил за то чтобы эти криворукие программисты правили свой код. Торвальдс топил за то что стандартами надо подтереться.
Re[3]: DLL HELL
От: Pzz Россия https://github.com/alexpevzner
Дата: 15.02.24 08:29
Оценка:
Здравствуйте, vsb, Вы писали:

vsb>Кто-то venv не осилил, похоже. А так всё с ним нормально.


Ну вообще, это фиаско, если петону нужен venv для нормальной работы.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.