Модераторы: Daevaorn

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> QTL or STL? 
V
    Опции темы
bsa
Дата 23.11.2011, 13:40 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

Репутация: 63
Всего: 196



Цитата(boostcoder @  23.11.2011,  14:24 Найти цитируемый пост)
конечно, саттер, александреску, майерс, и еще куча известных и авторитетных личнойстей заблуждаются. и ты с борисом правы. 

Все правы. Только у каждого правда своя. Мейерс и Александреску пытаются сделать минималистичные УНИВЕРСАЛЬНЫЕ и надежные инструменты - кирпичики. А Qt делает более узкозаточенные - панели. Из кирпичей собрать можно все что угодно, а вот из панелей жилого здания храм сложно сложить. Но можно. Правда, не очень эффективно. Зато жилой дом будет построен за меньшее время, чем из кирпичей. Тем более, что крышу (GUI) по любому из последних не сделать.
Поэтому, ты можешь приводить кучу списков умных и достойных людей, поддерживающих буст, но ни один не убедит меня писать гуи или пользовательскую программу, работающую с БД исключительно на бусте. В тоже время, никто не убедит меня писать высоконагруженный сервер на Qt.
Qt не содержит ряд функций, которые имеются в бусте и стандарте. И это довольно сильно напрягает, если ставить задачу специально не использовать STL и boost.
PM   Вверх
boostcoder
Дата 23.11.2011, 13:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


pattern`щик
****


Профиль
Группа: Завсегдатай
Сообщений: 5458
Регистрация: 1.4.2010

Репутация: 49
Всего: 110



банальный пример разделения гуй+логики+автобиндинг сигналов/слотов.
Код

template<typename impl_type, typename bind_map>
struct window: QWidget {
   Q_OBJECT
   window(impl_type& impl, const bind_map& map, QObject* parent=0)
      :QObject(parent)
      ,_map(map)
   { _map.bind_all(impl, *this); }
private:
   bind_map _map;
};

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

Добавлено @ 14:09
bsa, а ведь предложение писать гуй с использованием буст не было.
но вот работать с БД используя куте - это снова кривое решение основанное на _постоянных_кастах_всего_ руками!

Это сообщение отредактировал(а) boostcoder - 23.11.2011, 14:10
PM WWW   Вверх
spyswamp
Дата 23.11.2011, 15:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 349
Регистрация: 18.8.2006

Репутация: 1
Всего: 7



Цитата

основанное на _постоянных_кастах_всего_ руками

Например?


--------------------
- why you call it beta?
- cuz it's betta then nothin'
PM MAIL   Вверх
borisbn
Дата 23.11.2011, 15:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 4875
Регистрация: 6.2.2010
Где: Ростов-на-Дону

Репутация: 22
Всего: 135



Цитата(spyswamp @  23.11.2011,  15:33 Найти цитируемый пост)
Например?

Код

iParam = record.value( "IPARAM" ).toInt();
i64Param = record.value( "I64PARAM" ).toULongLong();
dateTime = record.value( "TIME_START" ).toDateTime();
rawData = record.value( "SOME_BLOB" ).toByteArray();


Добавлено через 2 минуты и 23 секунды
Интересно, а API каких СУБД это не так ?


--------------------
Женщины отличаются от программистов тем, что у них чары состоят из стрингов
PM MAIL Jabber   Вверх
Sahab
Дата 23.11.2011, 15:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 151
Регистрация: 1.9.2009

Репутация: нет
Всего: 3



но ведь в том же SOCI...

Это сообщение отредактировал(а) Sahab - 23.11.2011, 15:51
PM MAIL   Вверх
boostcoder
Дата 23.11.2011, 16:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


pattern`щик
****


Профиль
Группа: Завсегдатай
Сообщений: 5458
Регистрация: 1.4.2010

Репутация: 49
Всего: 110



Цитата(borisbn @  23.11.2011,  15:38 Найти цитируемый пост)
а API каких СУБД это не так ? 

акцент был на "руками". специально во избежании подобных вопросов, жирным выделил.

Это сообщение отредактировал(а) boostcoder - 23.11.2011, 16:01
PM WWW   Вверх
spyswamp
Дата 23.11.2011, 16:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 349
Регистрация: 18.8.2006

Репутация: 1
Всего: 7



Код

int id = ...;
string name;
int salary;

sql << "select name, salary from persons where id = " << id,
       into(name), into(salary);


? Оно? В чем прикол?


--------------------
- why you call it beta?
- cuz it's betta then nothin'
PM MAIL   Вверх
boostcoder
Дата 23.11.2011, 16:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


pattern`щик
****


Профиль
Группа: Завсегдатай
Сообщений: 5458
Регистрация: 1.4.2010

Репутация: 49
Всего: 110



spyswamp, ты, по всей видимости, при работе с БД, извлекаешь все в отдельные переменные? и кортежи в паре с boost.fusion для работы с ними, тебе не знакомы? - тогда вопрос не к тебе.
страшно представить как выглядит твой код при использовании средненькой БД. куча переменных, циклов, проверок, повторений кода во множестве фрагментов smile

Добавлено через 2 минуты и 40 секунд
да и чего это мы к БД скатились? давайте о гуе! покажите пожалуйста как заставить работать мой пример в куте. сам недоежаю.

Это сообщение отредактировал(а) boostcoder - 23.11.2011, 16:06
PM WWW   Вверх
bsa
Дата 23.11.2011, 16:19 (ссылка) |    (голосов:3) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

Репутация: 63
Всего: 196



boostcoder, мы просто не доезжаем, зачем это может быть нужно...
PM   Вверх
boostcoder
Дата 23.11.2011, 16:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


pattern`щик
****


Профиль
Группа: Завсегдатай
Сообщений: 5458
Регистрация: 1.4.2010

Репутация: 49
Всего: 110



Цитата(bsa @  23.11.2011,  16:19 Найти цитируемый пост)
зачем это может быть нужно

для чего разделять гуй и реализацию? smile

Добавлено через 4 минуты и 23 секунды
заранее знаю, что мой вопрос так и останется без ответа. зато предложат костылей в духе куте.
в тему больше не ходок.
PM WWW   Вверх
bsa
Дата 23.11.2011, 16:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

Репутация: 63
Всего: 196



кто тебе мешает сделать реализации в виде отдельных классов, имеющих общего предка? Причем, в этом случае ты можешь использовать шаблоны.
PM   Вверх
spyswamp
Дата 23.11.2011, 16:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 349
Регистрация: 18.8.2006

Репутация: 1
Всего: 7



boostcoder, ты прав, с БД в Qt я работаю месяца два всего, до этого как-то не приходилось (только если с легаси кодом на java, гибернейты всякие и т.п.). Мне и самому пока страшно, не то что тебе, великому гуру. smile Но я буду благодарен, если ты мне подскажешь правильное направление. Поизучаю.

> куча переменных, циклов, проверок, повторений кода во множестве фрагментов

Для этого, кстати, модели есть. Можно вообще с переменными и циклами дел не иметь. Ну а про повторения кода - это ты уже куда-то не туда полез. 

А по поводу твоего примера: давно уже есть MVC и прочие альтернативы ему.


--------------------
- why you call it beta?
- cuz it's betta then nothin'
PM MAIL   Вверх
mes
Дата 23.11.2011, 20:00 (ссылка) |    (голосов:3) Загрузка ... Загрузка ... Быстрая цитата Цитата


любитель
****


Профиль
Группа: Участник Клуба
Сообщений: 7954
Регистрация: 14.1.2006

Репутация: 144
Всего: 250



Цитата(boostcoder @  23.11.2011,  11:14 Найти цитируемый пост)
вот и я о том же. оно не дает кодить мне в привычной для меня манере.

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

Цитата(boostcoder @  23.11.2011,  11:02 Найти цитируемый пост)
Qt дает иные гарантии
какие, например? 

если речь до сих пор о контейнерах (которые повторяют стлные) то в частности их бинарная совместимость..


Цитата(boostcoder @  23.11.2011,  12:24 Найти цитируемый пост)
конечно, саттер, александреску, майерс, и еще куча известных и авторитетных личнойстей заблуждаются. 

не красиво приводить группу известных авторитетов для отстаивания своей позиции, когда названные авторитеты не могут между собой общего языка найти smile

Добавлено через 1 минуту и 46 секунд
Цитата(boostcoder @  23.11.2011,  12:57 Найти цитируемый пост)
вместо этого кутешники городят кучу сущностей, полиморфизм, оверхеда, ран-тайм ошибок, и говорят что у них получилось прямое решение

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

Добавлено через 4 минуты и 52 секунды
Цитата(boostcoder @  23.11.2011,  15:21 Найти цитируемый пост)
для чего разделять гуй и реализацию?

гуй и реализацию можно делить как минимум двумя способами,
1. отделить  окно от его объзательств..
2. отделить набор окон (условно законченный гуи) от их обязательств.. 
для большинства задач второй вариант предпочтителен и Qt не оказывает никаких препядствий на пути к этому..

Добавлено через 5 минут и 54 секунды
Цитата(boostcoder @  23.11.2011,  15:21 Найти цитируемый пост)
заранее знаю, что мой вопрос так и останется без ответа. зато предложат костылей в духе куте.
в тему больше не ходок. 

если все ж зайдете, уточните какой именно вопрос имеете ввиду..

Добавлено через 7 минут и 39 секунд
P.S.  я не выгораживаю Qt.. она написана ужасно.. но альтернативы (из тех что удовлетворили бы boostcoder'a) для той области в которой она применяется, пока нет..

Добавлено через 9 минут и 35 секунд
кстати даже в бусте есть вещи, которые желали бы лучшего.. но как можно сравнивать (как тут правильно назвали) академическую библиотеку и  обычный продукт нацеленный на покрытие определенной области.. 



--------------------
PM MAIL WWW   Вверх
mes
Дата 23.11.2011, 22:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


любитель
****


Профиль
Группа: Участник Клуба
Сообщений: 7954
Регистрация: 14.1.2006

Репутация: 144
Всего: 250



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


--------------------
PM MAIL WWW   Вверх
spyswamp
Дата 24.11.2011, 10:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 349
Регистрация: 18.8.2006

Репутация: 1
Всего: 7



mes, он в тему больше не ходок. smile Говна и ###кода кинул и слился. Такое опенсорсное поведение. smile


--------------------
- why you call it beta?
- cuz it's betta then nothin'
PM MAIL   Вверх
Страницы: (4) Все 1 2 [3] 4 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0948 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.