LINUX.ORG.RU

[C++ BOOST] Опрос


0

2

Хотелось бы узнать кто, как относится к этой либе ,на сколько она удобна/не удобна в использовании,причины перехода на нее или отказа от нее.

А какая разница? Все равно никто тебе все подробности расписывать не будет. Так что надо или не надо сам думай.

dizza ★★★★★
()

Boost - это десятки слабосвязанных библиотек.

JackYF ★★★★
()

в руках извращенцев и новичков boost - это мощный инструмент по созданию нечитабельного кода, да даже их стандартные примеры говорят сами за себя, вот например:

std::for_each(a.begin(), a.end(), 
	      bind(ll::for_each(), 
                   bind(call_begin(), _1), bind(call_end(), _1),
                        protect(sum += _1)));
aho
()

> [C++ BOOST]

не трогай каку. Применяй более совершенные инструменты.

anonymous
()

Буст это не «либа», а набор «либ». В целомн, нормально для С++ (подчеркиваю - ДЛЯ С++). Но вообще на фоне Руби, Скалы, С# или Эрланга часть библиотек кажется УГ (лямбды те же, спирит, сериализация). Но в рамках плюсов оч. даже ничего.

Тебе мое мнение помогло определиться с собственным?
Хех

yaws
()

Для использования в критичных приложениях (компоненты и пролжения RTOS) - он не годится.

Для использования в пользовательских приложениях и т.п. - есть куда более удобные языки для разработки, чем связка С++ и boost.

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

> Нормально не нечитабельнее хацкеля.

Это такой комплимент читабельности кода на хаскеле и антикомплимент для солянки на C++?

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

Для использования в критичных приложениях (компоненты и пролжения RTOS) - он не годится.

Слышал, что успешно применяют в RT BOOST.

dizza ★★★★★
()

стараюсь не использовать. существенная часть библиотек из boost потеряет актуальность по выходу C++0x

впрочем, без некоторых из них (например, asio, или bind) жить было бы ещё сложней

jtootf ★★★★★
()

Использую Boost.Geometry. Остального избегаю, т.к. если захочется повысить продуктивность написания кода, перейду на пайтон.

Obey-Kun ★★★★★
()

Использую только необходимый минимум вроде smart_ptr, bind, function, иногда datetime. Вместо asio давно предпочитаю libevent. Почти все остальное из этой библиотеки — какое-то академическое г***о с невменяемым API.

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

> Почти все остальное из этой библиотеки — какое-то академическое г***о с невменяемым API.

как и сам цепепе

anonymous
()
Ответ на: комментарий от jtootf

стараюсь не использовать. существенная часть библиотек из boost потеряет актуальность по выходу C++0x

Вроде ж многие вещи из буста попадут в этот самый C++0x

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

libevent это слишком низкоуровневая вещь. И в винде там многие вещи приходится такие обкладывать ifdef'ами. А boost::asio просто работает без лишнего гимора.

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

> Многие до сих пор сидят на msvs 6.0

их личное дело, пусть сидят

aho
()

Ничо так... Если меру знать ;) Главное чтоб буст не использовался ради одного только использования буста.

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

>Многие до сих пор сидят на msvs 6.0

Многи шибко прогрессивные перепрыгнули на msvs 2010 и теперь летят впереди паровоза, наплевав на breaking changes, в рез-те чего код для 2010 не собирается под 2008, не говоря уже о 2005 и другом «старье»... А для допиливания костылей под как бы портабельность, чтоб как-нибудь собиралось под gcc, придумана специальная отмаза в лог SVN: «fixing gcc issues».

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

> А для допиливания костылей под как бы портабельность, чтоб как-нибудь собиралось под gcc, придумана специальная отмаза в лог SVN: «fixing gcc issues».

посоветуй им обновить gcc, например, до 4.4, в MSVC 2010 появилось не так уж много фишек из C++0x, gcc в этом плане ушел гораздо дальше

aho
()

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

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

Мне тоже понравился

std::sort<vector<A>::iterator>(b.begin(), b.end(), (&_1->*&A::x < &_2->*&A::x && bind(pStrCmp, &_1->*&A::y, &_2->*&A::y) == 0) || (&_1->*&A::x >= &_2->*&A::x && bind(pStrCmp, &_1->*&A::y, &_2->*&A::y) != 0) );
yaws
()
Ответ на: комментарий от korvin_

Сортирует вектор b по заданному критерию, который записан коряво из-за отсутствия лямба-выражений.

Begemoth ★★★★★
()

Удобна. Но от нее очень сильно замедляется компиляция (и precompiled headers здесь не помагают).

Убил бы за их манию header-only library.

Deleted
()
Ответ на: комментарий от Boy_from_Jungle

Дык qt - это и есть C++(!) И он немного для другого... В boost, вот, к примеру, есть хороший генератор псевдослучайных чисел. Где можно найти ему альтернативы? :)

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

> В boost, вот, к примеру, есть хороший генератор псевдослучайных чисел. Где можно найти ему альтернативы? :)

ну например в гугле:

http://www.gnu.org/software/gsl/manual/html_node/Random-Number-Generation.html

а у вас такие задачи, что стандартный rand не подходит?

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

нет, конечно =) мне нужно строго равномерное распределение... а там непонятно что.

Хотя про gsl тоже думал... может, лучше его и использовать... Надо подумать. Выбрать, что проще. Проще не в смысле в освоении... а проще ммм... короче, принцип KISS =^__^= оптимальнее.

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

буст с цепепе явно уж к KISS никак не относятся

anonymous
()
Ответ на: комментарий от Boy_from_Jungle

qt - очень хорошая библиотека для создания графического интерфейса (и не только, да, знаю, что там много плюшек, но это основное применение) мне не совсем это нужно...

BattleCoder ★★★★★
()

boost - набор инструментов для владельцев прямых рук и мозгов со здравым смыслом.

Однако в нем «отрываются» гики мета-программирования. Такой код без тренировки читать можно, но отлаживать все равно жесть (стек вызовов 10x10 экранов :).

Но! Есть очень много юзабельных вещей, например offset_ptr и intrusive. IMHO вменяемый программист C++ может полностью отказаться от subj только по «религиозным» причинам. Ну fusion, spirit и т.д. - на любителя.

ly
()
Ответ на: комментарий от namezys

> я широко использваю boost::bind, boost::function

вменяемый программист?

anonymous
()
Ответ на: комментарий от Booster

Автоматически генерируются разные типа callback

Свяжусь параметры, и тд

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

> Но вообще на фоне Руби, Скалы, С# или Эрланга часть библиотек кажется УГ, а часть и является самым настоящим УГ, на любом фоне.

fixed

geekless ★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.