Russian Qt Forum
Ноябрь 23, 2024, 02:58
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Войти
Начало
Форум
WIKI (Вики)
FAQ
Помощь
Поиск
Войти
Регистрация
Russian Qt Forum
>
Forum
>
Разное
>
Говорилка
>
В чем профит буста или как его готовить?
Страниц: [
1
]
2
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: В чем профит буста или как его готовить? (Прочитано 12696 раз)
Пантер
Administrator
Джедай : наставник для всех
Offline
Сообщений: 5876
Жаждущий знаний
В чем профит буста или как его готовить?
«
:
Сентябрь 02, 2010, 12:58 »
После многочисленных криков одного человека о том, что "Кьют говно, а буст это круто", решил пощупать данную вещь. Собрать под масдаем получилось почти сразу, только нашел в инете какой-то фак по этому (на оффсайте не нашел руководства по сборке, может, плохо искал). Вот что сразу не понравилось:
1. Не нашел книг по бусту.
2. В документации ничего не могу понять. Какая-то она неадекватная. Может, просто настроиться на нее нужно?
Взял, реальную задачу, которую уже решал при помощи stl и Qt. В задаче требовалась работа с ФС. Подключил boost::filesystem, написал прогу и отгреб следующие нехорошести:
1. Исключения, которые пришлось перехватывать через try/catch. Не нашел как от них отказаться.
2. Ограничение на длину имени файла как и в stl, что очень огорчило.
В общем, по работе с ФС буст сливает Кьюту по-полной. Поправьте, если я не верно понял. Так в чем его профит? И если профит есть, то как нужно подходить к его изучению.
П.С. никого не хочу обидеть сим постом. Если я не прав по отношению к бусту, прошу прощения, так как сильно его не ковырял.
Записан
1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
Wicked_Digger
Гость
Re: В чем профит буста или как его готовить?
«
Ответ #1 :
Сентябрь 02, 2010, 13:31 »
Мне кажеться, что выбор фреймворка зависит от задачи и ее масштабов.
Я вижу это так:
- если проект небольшой и имеет гуй, то достаточно Qt.
- если проект небольшой и без гуя, то Qt избыточен, лучше boost использовать.
- если проект большой, проектируется с расчетом на длительный жизненный цикл, имеет гуй, то лучше использовать оба, для ябра проекта boost (в любом случае придется писать дофига своего, или использовать 3-rd party компоненты), для гуя Qt (опять-же для некоторых платформ придется использовать что-то другое).
Записан
kuzulis
Джедай : наставник для всех
Offline
Сообщений: 2812
Re: В чем профит буста или как его готовить?
«
Ответ #2 :
Сентябрь 02, 2010, 13:41 »
Не знаю зачем буст нужен, но таки оазработчики KDE прикручивают к нему помимо Qt еще и Boost. По крайней мере у меня в лине по зависимостям так и выходит. Не знаю чем им Qt не устроил. Зачем в кучу все мешать то..
Записан
ArchLinux x86_64 / Win10 64 bit
serg_hd
Хакер
Offline
Сообщений: 668
Re: В чем профит буста или как его готовить?
«
Ответ #3 :
Сентябрь 02, 2010, 13:50 »
Тоже буст пробовал, но даже он не идеален. Скачал самую новую версию, при статической линковке код с boost_thread не компилился, с динамической всё ок. Такую же проблему нашёл на другом форуме (как вариант решения - более ранние версии), т.е. этот факт особо не впечатлил. Использовать в деле его не пробовал, так как нет пока нужды (проектов подходящего масштаба нет), но проверить связку boost+Qt хотелось бы.
Записан
kubuntu/Win7/x64/NetBeans
Sancho_s_rancho
Гость
Re: В чем профит буста или как его готовить?
«
Ответ #4 :
Сентябрь 02, 2010, 14:00 »
1. На русском почти нет, на англицком - имеется.
2. Качество документации разнится в зависимости от автора. Часть мне показалась не очень приятной для восприятия, какой-то формальной. Да и разные части буста несут разную смысловую нагрузку. Смысл этой штуки
http://www.boost.org/doc/libs/1_44_0/doc/html/tribool.html
мне вообще непонятен (я думаю, что программист такую логику сам в состоянии налабать).
Исключения - дело вкуса. Я считаю, что реализация в с++ невкусная. Отказаться от них ,на сколько я знаю, нельзя (хотя если глобальный catch считать отказом, то можно).
Единственный профит - там есть такие штуки, которых нет в Qt (asio, crc, bind, GIL, math, spirit, uBLAS и др.).
Если какой-то неадекват говорит, что Qt говно, а boost рулит, то пусть пишет кроссплатформенный гуй на boost. Но ежели ,к примеру, вам нужно парсить что-то нетривиальное, то почему не взять Boost Spirit?
«
Последнее редактирование: Сентябрь 02, 2010, 14:03 от Sancho_s_rancho
»
Записан
BlackTass
Гость
Re: В чем профит буста или как его готовить?
«
Ответ #5 :
Сентябрь 06, 2010, 15:36 »
По поводу фс и буста. В свое время нужно было быстро работать с файловой системой (построение дерева каталогов и файлов). Сначала пробовали стандартные кьютовые модели, потом слегка их покастомизировали, в итоге написали на бусте. Прирост скорости решения на бусте примерно 100-150 процентов.
Записан
vipet
Бывалый
Offline
Сообщений: 452
Re: В чем профит буста или как его готовить?
«
Ответ #6 :
Сентябрь 06, 2010, 18:29 »
Новый стандарт С++ читали? Там много именно из буста взято.
VS 2010 уже кстати поддерживает новые фишки, в частности по параллельному выполнению есть простой синтаксис. Используется Intel TBB, afair
Записан
Sancho_s_rancho
Гость
Re: В чем профит буста или как его готовить?
«
Ответ #7 :
Сентябрь 06, 2010, 18:57 »
Цитата: vipet от Сентябрь 06, 2010, 18:29
Новый стандарт С++ читали? Там много именно из буста взято.
VS 2010 уже кстати поддерживает новые фишки, в частности по параллельному выполнению есть простой синтаксис. Используется Intel TBB, afair
Помню пробегался глазами по драфту и никакого параллельного программирования с простым синтаксисом там небыло. Из буста в стандарт взято немного. Чтобы хоть когда-то принять стандарт они повыкидывали почти все. Хотя много/мало понятие относительное. Для кого-то умные указатели+пара контейнеров+еще что-то - это много, для кого-то - не очень.
Записан
Wicked_Digger
Гость
Re: В чем профит буста или как его готовить?
«
Ответ #8 :
Сентябрь 06, 2010, 19:18 »
Цитата: vipet от Сентябрь 06, 2010, 18:29
Новый стандарт С++ читали? Там много именно из буста взято.
Стандарт и старый то не реализовывася в промышленных компиляторах полностью (раздельная компиляция теплейтов например), так что ждать реализации нового можно еще долго
Записан
vregess
Гость
Re: В чем профит буста или как его готовить?
«
Ответ #9 :
Сентябрь 06, 2010, 20:06 »
Книга по бусту есть.
Björn Karlsson. Beyond the C++ Standard Library: An Introduction to Boost
Если не найдешь, могу скинуть.
Стандартная документация хорошо описывает API, но не всегда очевидно где что применить.
Относись к boost, как к дополнению к стандартной библиотеки с++. Ну и с Qt сравнивать вроде как не корректно.
Чтобы нормально ориентироваться в нем (ну или в большей его части), надо разбираться в шаблонах.
Например boost.spirit писали инопланетяне имхо. Поражает, что все это написано на шаблонах.
Если ищешь, где его заюзать в Qt проекте, то, наверное, единственное адекватное место - это ядро проекта (если разделять проект на GUI и core, как сказал выше Wicked_Digger).
В boost достаточно много полезных вещей, но в Qt они частично продублированы, поэтому может буст тебе и не пригодится никогда, если ты всю жизнь будешь Qt использовать.
Например smart_ptr - коллекция умных указателей, может пригодиться.
Или boost.asio для работы с сетью.
Есть там реализация foreach циклов, но в Qt это тоже есть.
boost.test для тестирования.
boost.string_algo значительно расширит возможности по работе со строками, правда есть QString...
boost.spirit - фреймворк для реализации всяческих парсеров. Можно использовать вместо всяких bison/flex и тд.
Вот внезапно понадобится тебе скриптовый движок для своего DSL - boost.spirit ну и boost.wave мб.
Итераторы всякие.
В общем заходишь в раздел Libraries и там написано, что есть в boost.
Дофига там всего. Полезная штука.
Я вот посмотрел в дистрибутиве boost 1.41
Есть boost_1_41_0/more/getting_started/index.html Может поможет.
А вообще там примеры еще есть.
Хедеры в boost_1_41_0/boost, а примеры и некоторая документация в boost_1_41_0/libs
Посмотри еще раздел Tools в доках. Там есть полезная (если использовать boost) утилита bcp.
Записан
alexcpp
Гость
Re: В чем профит буста или как его готовить?
«
Ответ #10 :
Декабрь 19, 2010, 01:05 »
Цитата: serg_hd от Сентябрь 02, 2010, 13:50
Тоже буст пробовал, но даже он не идеален. Скачал самую новую версию, при статической линковке код с boost_thread не компилился, с динамической всё ок. Такую же проблему нашёл на другом форуме (как вариант решения - более ранние версии), т.е. этот факт особо не впечатлил. Использовать в деле его не пробовал, так как нет пока нужды (проектов подходящего масштаба нет), но проверить связку boost+Qt хотелось бы.
ВЫ лгун! Самого главного не упомянули! Что этапроблема только в виндоус.
А в списке рассылки буста, этому посвящена целая тема! И там объяснено почему и отчего эта проблема! И сказано что это изза версии mingw-runtime!
Уверен что вы лжец! Но возможно ошибаюсь и вы просто глупец!
Записан
ufna
Гость
Re: В чем профит буста или как его готовить?
«
Ответ #11 :
Декабрь 19, 2010, 01:10 »
alexcpp,
уйбейтесь, пожалуйса, об стену
Записан
alexcpp
Гость
Re: В чем профит буста или как его готовить?
«
Ответ #12 :
Декабрь 19, 2010, 01:40 »
Пантер
,
Цитировать
stl и Qt. В задаче требовалась работа с ФС
ПОкжите где в STL есть хоть чтото посвященое работе с ФС
Записан
alexcpp
Гость
Re: В чем профит буста или как его готовить?
«
Ответ #13 :
Декабрь 19, 2010, 01:41 »
Цитата: ufna от Декабрь 19, 2010, 01:10
alexcpp,
уйбейтесь, пожалуйса, об стену
Most essential
Записан
Пантер
Administrator
Джедай : наставник для всех
Offline
Сообщений: 5876
Жаждущий знаний
Re: В чем профит буста или как его готовить?
«
Ответ #14 :
Декабрь 20, 2010, 10:42 »
alexcpp, тебе предупреждение. Убери оскорбление из своего поста.
Цитата: alexcpp от Декабрь 19, 2010, 01:40
Пантер
,
Цитировать
stl и Qt. В задаче требовалась работа с ФС
ПОкжите где в STL есть хоть чтото посвященое работе с ФС
Я имел ввиду стандартную библиотеку.
Записан
1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
Страниц: [
1
]
2
Вверх
Печать
« предыдущая тема
следующая тема »
Перейти в:
Пожалуйста, выберите назначение:
-----------------------------
Qt
-----------------------------
=> Вопросы новичков
=> Уроки и статьи
=> Установка, сборка, отладка, тестирование
=> Общие вопросы
=> Пользовательский интерфейс (GUI)
=> Qt Quick
=> Model-View (MV)
=> Базы данных
=> Работа с сетью
=> Многопоточное программирование, процессы
=> Мультимедиа
=> 2D и 3D графика
=> OpenGL
=> Печать
=> Интернационализация, локализация
=> QSS
=> XML
=> Qt Script, QtWebKit
=> ActiveX
=> Qt Embedded
=> Дополнительные компоненты
=> Кладовая готовых решений
=> Вклад сообщества в Qt
=> Qt-инструментарий
-----------------------------
Программирование
-----------------------------
=> Общий
=> С/C++
=> Python
=> Алгоритмы
=> Базы данных
=> Разработка игр
-----------------------------
Компиляторы и платформы
-----------------------------
=> Linux
=> Windows
=> Mac OS X
=> Компиляторы
===> Visual C++
-----------------------------
Разное
-----------------------------
=> Новости
===> Новости Qt сообщества
===> Новости IT сферы
=> Говорилка
=> Юмор
=> Объявления
Загружается...