LINUX.ORG.RU

Откуда берется негативное отношение к boost?

 


0

3

Встречал уже много раз когда у людей подрывает, здесь тоже. Это имеет реальные причины или просто отсутсвие опыта/квалификации. Это же просто набор библиотек, а не фреймворк типа Qt, котрый мне нравится гораздо меньше, где все нужно делать как дядя велел.


Потому что если у тебя стоит одна версия boost и под неё собрано полно программ, а следующая хочет другую версию — это неприятно.

Xenius ★★★★★
()

Скорей - отсутствие опыта.

Скажу честно, у меня по «крестам» опыта нет, я только изучаю. Собственно, для этого я ковыряюсь в недрах Haiku.

sparkie ★★★★★
()

Процитируем классику (зачёркнутое сегодня неактуально):

C++ leads to really really bad design choices. You invariably start using the «nice» library features of the language like STL and Boost and other total and utter crap, that may «help» you program, but causes:

- infinite amounts of pain when they don't work (and anybody who tells me that STL and especially Boost are stable and portable is just so full of BS that it's not even funny)

- inefficient abstracted programming models where two years down the road you notice that some abstraction wasn't very efficient, but now all your code depends on all the nice object models around it, and you cannot fix it without rewriting your app.

Но вообще ТС и Boost — это как повариха и аксиома выбора.

shdown ★★
()

Я не девелопер, про API не скажу. Но компилится он долго (я Gentoo’шник). Напрашивается вопрос - а нельзя это было разбить на более мелкие части?

Kroz ★★★★★
()

Опыт пересобирания этой лабуды еще на коре дуба для HFTшного прода с извращениями велосипедистов по всей кодовой базе типа yet_another_super_fast_string, auto_ptr2 и auto_ptr3, my_print_based_logger, ломающимися буквально от не той фазы луны. Как на новом проекте (в 12м году) C++11 разрешили, забыл про всякие велосипеды как страшный сон, решая в основном бизнес-задачи, а не подпирая пирамиду из чужих велосипедов очередными костылями или отпиливая углы у их квадратных колес. Оптимизируя только горячие пути, на основании выхлопа профайлера, а не то, что в полете и так не тормозит, потому что сидит в своем потоке и в основном спит.

slackwarrior ★★★★★
()

Так исторически сложилось.

  • Уже сказали, обратная несовместимость версий;

  • Большая куча тяжелых темплейтов, время сборки просто взрывалось, на тогдашних cpu это крах;

  • Boost воспринимался как полигон с минами, а не как что-то рабочее и хороший разработчик всегда мог написать что-то сам, чем тянуть это в проект;

  • Дополнительная [ненужная] зависимость ради одной структуры данных;

Сейчас все не так, без boost.asio никуда :-)

ant1
()
Ответ на: комментарий от Lusine

проблемы нетакусиков, к либе отношения не имеющие.

А вас интересуют только проблемы мух (которых много и которые не могут ощибаться)? Ну ок.

Kroz ★★★★★
()
Ответ на: комментарий от ant1

Естестно вопрос про текущие реалии. Кому интересны бабкины рассказы как она девкой была и мучалась с поросями.

Lusine
() автор топика

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

Человек — животное разумное, поэтому его опыт заслуживает должного отношения. Неразумных здоровых людей не существует. Даже если он не прав, его ошибки могут указывать на реальные проблемы.

Что касается программ. Идеальных программ не существует и не может существовать, везде есть слабые стороны. Каждый зрелый проект осознаёт не только свои сильные стороны, но и слабые тоже. Слабые стороны — тоже часть истины и часть квалификации разработчика.

kaldeon ★★
()
Ответ на: комментарий от Lusine

Давай от противного: зачем, по-твоему, нужен Boost? Какие проблемы он решает? Лучше ли он альтернатив, которые тоже решают эти проблемы?

shdown ★★
()
Ответ на: комментарий от Lusine

Какие недостатки есть сейчас, а не 10 лет назад.

Либы не самодостаточные. Берешь одну, а она тянет еще 5-7 из Boost-а. Например, для boost::dynamic_bitset нужны boost-assert, boost-config, boost-container-hash, boost-core, boost-throw-exceptions. А те тянут с собой еще что-нибудь. И в итоге из-за одной либы в проекте незаметно для тебя четверть Boost-а окажется.

eao197 ★★★★★
()
Ответ на: комментарий от Lusine

Не вижу особой проблемы. Библиотека есть в любом линуксе, для старых программ и библиотек есть докер

теоретик в чате. Сразу видно, никогда ничего не кросс-компилировал

Lrrr ★★★★★
()

Если вы ознакомитесь с практикой, которая в англоязычной литературе называется термином over-engineering, то вы легко отыщите все недостатки связанные с этой практикой в boost. Первоначально задуманный как проект по залатыванию косяков С++, он разросся вместе с самим С++ до размера и функциональности необъятного монстра. Все вопросы, которые вы здесь задаёте следует задавать на втором-третьем курсе профильного вуза.

VIT ★★
()
Ответ на: комментарий от VIT

Пока никаких недостатков, кроме невнятного нытья, «ой все так долго собирается», никто так и не назвал. Ну монстр и монстр, qt тоже монстр, но многие используют.

Lusine
() автор топика
Ответ на: комментарий от Lusine

Почему, вот я вам конкретно назвал этот проект как over-engineering предназначенный решить недостатки базового языка. Какое же это невнятное нытьё?

VIT ★★
()
Ответ на: комментарий от VIT

Библиотеки писали разные люди, и странно говорить про глобальный over-engineering. Это оценочное суждение не основанное на фактах. Число скачиваний 10 млн. это говорит о качестве кода и популярности.

Lusine
() автор топика
Ответ на: комментарий от Lusine

Не вижу особой проблемы. Библиотека есть в любом линуксе, для старых программ и библиотек есть докер. В виндовс тоже есть докер.

Ты и жил еще не долго, явно не застал время когда не было этих твоих докеров, платформ было сильно больше одной, этот твой буст был маргинальной поделкой, с работоспособностью зависящей от снов Ктулху, а внутре у заказчиков стояло только то, что поставлял огороженный поставщик. Все остальное целиком зависело от девелоперов, в том числе объяснение всем заинтересованным зачем тащить третьесторнние васянские поделки в закрытую систему с конским ценником на сертификацию – а если что-то не срасталось с целевой системой, в лучшем случае у них были партнерские сорцы «под подписку о неразглашении», в худшем – стандартные заголовочные файлы целевой системы и бинари библиотек, без сорцов.

И менеджерам, которые платят зарплату не за «компиляется», уже тогда было глубоко фиолетово, почему оно после каждой правки со всем нестандартным по определению счастьем (т.е. обычными бустовыми хаками на основе драфтов будущих стандартов… или будущих выкинутых в мусорку драфтов, свою зарплату на перспективность boostа никто бы не поставил) собирается полдня, так по итогу и не собравшись с простыней ошибок раскрытия шаблонов, без понятных хинтов в clang-стиле.

anonymous
()

отсюда

И какое отношение костыльный asio имеет к стандартной библиотеке? Мифы пересказываешь 10 летней давности, а я спросил по совренный буст.

Современный буст дублирует кучу возможностей современных версий C++, шаблоны медленно компилируются, код выходит сложным и неконсистентным. Подробнее спрашивай у ИИ. Он вполне хорошо понимает что не так с бустом.

peregrine ★★★★★
()
Последнее исправление: peregrine (всего исправлений: 1)
Ответ на: комментарий от Lusine

Какие недостатки с++ решает asio?

Давайте уже дальше сами, я конечно могу заглянуть на огонёк и потрындеть в субботу о вечном, но обучать вас не хочу. Идею дал, копайте, если есть желание.

VIT ★★
()

Ломается часто. На днях у меня сборка Qt падала на ровном месте. Оказалось, ABI Boost несовместимо, если собирать GCC 14 и GCC 15.

P.S. В начале 2010-х на работе несколько месяцев долбались со сторонней платной библиотекой, тянувшей несколько бустовских библиотек и постоянно падавшей с ошибками Буста. После нескольких обновлений года через полтора проблемы прекратились. Библиотека — лютый энтерпрайз, прилагалась к оборудованию ценой 10-100 тысяч долларов за штуку (Гугло-ИИ говорит, что до $1 100 000 в ценах 2026-го).

question4 ★★★★★
()
Последнее исправление: question4 (всего исправлений: 1)
Ответ на: комментарий от pihter

printf!

Это у олимпиадников и личинок царя printf, которые формат не используют, но платят зв него, накурившись святых портянок про \n вместо std::endl, у HFTшных норкоманов случались и макрухи print без формата над сырыми буферами. Ну не считая того, что где формат времени был нужен, они «для скорости» сверяли только длину строки, а потом сервак в проде от не того формата упал ;)

slackwarrior ★★★★★
()
Ответ на: комментарий от Lusine

Опять записки клуба старых пердунов.

Ну ты-то вечнозеленым остаться планируешь и лично прыгнуть на все грабли?

Вопрос был про современный буст.

Легко жить на всем готовом. А в нем что-то поменялось в плане велосипедов и костылей?

slackwarrior ★★★★★
()
Ответ на: комментарий от Lusine

слив засчитан

И это после того, что я для вас сделал? «Неблагодарная вы свинья, сержант!»

VIT ★★
()
Ответ на: комментарий от Lusine

HFT

что это такое?

У современного гугла можно буквально спросить. Там лопаты делают для бабла, которого девелоперам чаще всего не перепадает, вот выгорание в угли почти обязательно ;)

slackwarrior ★★★★★
()
  • Markdown
Пустая строка (два раза Enter) начинает новый абзац. Знак '>' в начале абзаца выделяет абзац курсивом цитирования.
Внимание: прочитайте описание разметки Markdown.
Используйте Ctrl-Enter для размещения комментария