Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Тащусь от Qt
|
|||
|---|---|---|---|
|
#18+
ИнтеграторФункторы прекрасно решают эту проблему Функторы, как и интерфейсы - стрельба из пушек по воробьям с точки зрения решения этой конкретной проблемы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2005, 14:10 |
|
||
|
Тащусь от Qt
|
|||
|---|---|---|---|
|
#18+
softwarer ИнтеграторФункторы прекрасно решают эту проблему Функторы, как и интерфейсы - стрельба из пушек по воробьям с точки зрения решения этой конкретной проблемы. Повторяю ещё раз - функторы являются удобными как с точки зрения использования так и с точки зрения эффективности. Единственная проблема - то что некоторые товарищи не умеют толком ими пользоваться. Если вы не согласны с этим - приводите пожалуйста аргументы. Альтернативное решение - идеология Java где всё коллбэки делаются через реализацию интерфейса. Кстати предлагаю закрыть тему обсуждения прелестей убогих дельфятников и прочего ширпотреба ;) либо перейти в соответсвующую ветку - где она была на этом форуме :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2005, 15:35 |
|
||
|
Тащусь от Qt
|
|||
|---|---|---|---|
|
#18+
ИнтеграторПовторяю ещё раз - функторы являются удобными как с точки зрения использования так и с точки зрения эффективности. Функторы не являются чем-то особенным ни с точки зрения использования, ни с точки зрения эффективности. ИнтеграторЕдинственная проблема - то что некоторые товарищи не умеют толком ими пользоваться. Если вы не согласны с этим - приводите пожалуйста аргументы. Привожу. Такие же категорические и неаргументированные утверждения, как и мой уважаемый оппонент :) ИнтеграторАльтернативное решение - идеология Java где всё коллбэки делаются через реализацию интерфейса. Интересно. Я сказал "функторы, как и интерфейсы" - и теперь Вы мне сообщаете, что интерфейсы являются альтернативным решением. Если честно, я не вижу разницы между функторами и интерфейсами. Техническую, конечно, можно найти - но принципиальной не вижу. ИнтеграторКстати предлагаю закрыть тему обсуждения прелестей убогих дельфятников и прочего ширпотреба ;) либо перейти в соответсвующую ветку - где она была на этом форуме :) Без проблем. И функторы - в соответствующую им тему. Договорились? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2005, 18:46 |
|
||
|
Тащусь от Qt
|
|||
|---|---|---|---|
|
#18+
Я любил Делфи. Отношусь к семёре с большим трепетом. Разных слов интересных типа "функтор" незнаю. На сях два креста серьёзно ещё не програмил. Про пушку против воробьёв предлагаю забыть. Ведь если вам завтра сдавать проект вы выберете то средство, на котором быстрей напишете. А КуТэ сильна, имхо, тем, что имея текстовый редактор, qmake, make и gcc можно БЫСТРО и КАЧЕСТВЕННО собрать проект с ПОНЯТНЫМ кодом и КРАСИВЫМ интерфейсом. Где-то читал, что если 99% делфийцев лишить делфи, то они впадут в кому. КуТэшников в кому вогнать навеное труднее. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2005, 00:01 |
|
||
|
Тащусь от Qt
|
|||
|---|---|---|---|
|
#18+
Кстати, учтите ещё что трольь расширил синтаксис С++. За счёт метаобъектов. Это, конечно, ограничивает совместимость (если забыть про moc) со стандартом. Но удобство от этого врядли страдает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2005, 00:03 |
|
||
|
Тащусь от Qt
|
|||
|---|---|---|---|
|
#18+
Интегратору пора открыть тему "Я тащусь от функтороы". Извините, не сдержался, больше не повторится ===== Cat и его покойный друг Chicago ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2005, 07:36 |
|
||
|
Тащусь от Qt
|
|||
|---|---|---|---|
|
#18+
Yet another catИнтегратору пора открыть тему "Я тащусь от функтороы". Извините, не сдержался, больше не повторится ===== Cat и его покойный друг Chicago Я не от чего не тащусь :) Просто уже утомили предубеждения против некоторых языковых крнструкций... Вместо того что бы разобраться и потренироваться в использовании на практике начинается флуд про языковое уродство и сложность. Интересно. Я сказал "функторы, как и интерфейсы" - и теперь Вы мне сообщаете, что интерфейсы являются альтернативным решением. Функторы и интерфейсы являются бузесловно жэквивалентными в плане функциональности конструкцями - но достаточно различными с концептуальной точки зрения и проекторования приложения. Чрезе интерфейс вы не реализуете в одном классе поюддрежку двух разных OnClick например :) Ничем особенным функтиоры не являются - имеено как раз это я и пытался объяснить в ответ на утвердение что реализация концепции СЛОТов в КуТэ - это классно и сверх удобно, а функторы - сложно и непрактично Расширять синтаксис С++ - по моему это вообще безобразие , наболюдался так же в Билдере :). Если вы расширяете С++ - то уж будьте добра называйте не С++ а какой-нить QT++ :), на С++ есть стандарт который все компиляторы обязаны выполнять что бы называться компиляторами С++ ;) Если бы стандарта небыло - то другое дело... А КуТэ сильна, имхо, тем, что имея текстовый редактор, qmake, make и gcc можно БЫСТРО и КАЧЕСТВЕННО собрать проект с ПОНЯТНЫМ кодом и КРАСИВЫМ интерфейсом. С этим никто и не спорит ;) Вот на дельфятнике тоже можно быстро наваять - и это совершенно не значит что библиотека хорошо спроектирована Кстати что качается QT то она правда хороршо продумана в отличии от борладовых детищей - у них как -то всегда туго с проектированием было, один Turbo-Vision чего стоил :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2005, 10:15 |
|
||
|
Тащусь от Qt
|
|||
|---|---|---|---|
|
#18+
2 Интегратор: Странно, я тут тоже пытался сказать, что функторы ничем особенным не являются. И все дело действительно в привычке. // Не обижайтесь, но если вас что-то задолбало, то это только ваша проблема. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2005, 11:09 |
|
||
|
Тащусь от Qt
|
|||
|---|---|---|---|
|
#18+
ИнтеграторКстати предлагаю закрыть тему обсуждения прелестей убогих дельфятников и прочего ширпотреба ;) либо перейти в соответсвующую ветку - где она была на этом форуме :) И следующий пост: ИнтеграторВместо того что бы разобраться и потренироваться в использовании на практике начинается флуд про языковое уродство и сложность. С точки зрения медицины - шизофрения. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2005, 11:11 |
|
||
|
Тащусь от Qt
|
|||
|---|---|---|---|
|
#18+
Несчастный ИнтеграторКстати предлагаю закрыть тему обсуждения прелестей убогих дельфятников и прочего ширпотреба ;) либо перейти в соответсвующую ветку - где она была на этом форуме :) И следующий пост: ИнтеграторВместо того что бы разобраться и потренироваться в использовании на практике начинается флуд про языковое уродство и сложность. С точки зрения медицины - шизофрения. Из серии "Когда заканчиваются аргументыначинают придираться к русскому языку" (с) И какие противоречия вы нашли в этих постах ? Почитайте внимательнее контекст. Странно, я тут тоже пытался сказать, что функторы ничем особенным не являются. И все дело действительно в привычке. Есть ещё один момент - функторы - стандартная идиома С++, концепция слотов - концепция библиотеки QT ;). И ничего особенного красивого в этой концепции нет по сравнению например с функторами - в этом мнении мы кажется сошлись ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2005, 11:59 |
|
||
|
Тащусь от Qt
|
|||
|---|---|---|---|
|
#18+
вторая часть сообщения была к Yet another cat ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2005, 12:00 |
|
||
|
Тащусь от Qt
|
|||
|---|---|---|---|
|
#18+
Путь Дельфы - RAD. И это путь всего программирования под винду. Я думал, что RAD - это круто. Можно не вникать в тонкости типа внутренних наваротов библиотеки. Ведь действительно, зачем задумываться о таких высоких материях, когда надо срочно сваять клиент к базе данных для видеопроката внизу. В дельфе это просто, как хрен знает что. Половина (а то и больше!) времени разработки такой программы - накликивание соответствующих компонентов на форме и установка им нужных пропертис. Потом добавляем пару кнопочек со стандартными запросами и пару диалогов для добавления записей. Всё! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2005, 12:02 |
|
||
|
Тащусь от Qt
|
|||
|---|---|---|---|
|
#18+
ИнтеграторЧрезе интерфейс вы не реализуете в одном классе поюддрежку двух разных OnClick например :) Не уверен, что понял Вашу мысль. Есть какие-то гипотезы и какие-то ответы, но прошу просто пояснить либо набросать пример, что Вы имеете в виду. ИнтеграторРасширять синтаксис С++ - по моему это вообще безобразие .. есть стандарт который все компиляторы Жалко, что такой позиции не придерживались лет пятнадцать-двадцать назад. Тогда C остался бы компактным и красивым языком. Собственно, objective C мне нравился и нравится куда больше, чем C++. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2005, 12:05 |
|
||
|
Тащусь от Qt
|
|||
|---|---|---|---|
|
#18+
ИнтеграторЕсть ещё один момент - функторы - стандартная идиома С++, концепция слотов - концепция библиотеки QT ;). Правда? :) Их разница - в возрасте, и вряд ли в чем-то еще. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2005, 12:07 |
|
||
|
Тащусь от Qt
|
|||
|---|---|---|---|
|
#18+
softwarer ИнтеграторЕсть ещё один момент - функторы - стандартная идиома С++, концепция слотов - концепция библиотеки QT ;). Правда? :) Их разница - в возрасте, и вряд ли в чем-то еще. Неверно. Для реализации слотов и сигналов в Qt - нужен moc, дополнительный препроцессор, не предусмотренный стандартами языка. Для использования функторов достаточно, чтобы компилятор реализовывал стандарт ISO/IEC 14882. Так что тут Интегратор прав. И если нужны только сигналы и не нужны другие компоненты, то Qt использовать неразумно. Модуляризация библиотеки в 4-й версии тут мало что изменит. Все равно в QtCore вместе с сигналами ты потащишь компоненты для работы с файлами, interprocess comunications, текстовые кодеки, контейнерные классы и пр. Это может быть и хорошо, но не во всех случаях. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2005, 12:46 |
|
||
|
Тащусь от Qt
|
|||
|---|---|---|---|
|
#18+
softwarer ИнтеграторЧрезе интерфейс вы не реализуете в одном классе поюддрежку двух разных OnClick например :) Не уверен, что понял Вашу мысль. Есть какие-то гипотезы и какие-то ответы, но прошу просто пояснить либо набросать пример, что Вы имеете в виду. Хочу я в одном классе (вот такое у меня извращённое желание :) ) реализовать коллбэки для некоторого объекта - например той же несчатной кнопки Button. Через интерфейсы я сделаю struct ButtonListener { virtual void onClick(Event&) = 0; }; class MyBigClass : public ButtonListener { void onClick(Event& e) { // обработчик } }; Проблема возникает если я хочу в одном классе поместить два разных обработчик для двухх различных кнопок. Наиболее логичный путь : class MyBigClass { void onButton1Click(Event& e) { // обработчик } void onButton2Click(Event& e) { // обработчик } }; Через функторы это разруливается естественным способом, через интерфейсы придётся извращаться ;) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2005, 13:21 |
|
||
|
Тащусь от Qt
|
|||
|---|---|---|---|
|
#18+
SarinПуть Дельфы - RAD. И это путь всего программирования под винду. Я думал, что RAD - это круто. Можно не вникать в тонкости типа внутренних наваротов библиотеки. Ведь действительно, зачем задумываться о таких высоких материях, когда надо срочно сваять клиент к базе данных для видеопроката внизу. В дельфе это просто, как хрен знает что. Половина (а то и больше!) времени разработки такой программы - накликивание соответствующих компонентов на форме и установка им нужных пропертис. Потом добавляем пару кнопочек со стандартными запросами и пару диалогов для добавления записей. Всё! Да кто же с вами спорит - если надо наваять маленького клиента к СУБД то и VB6 не грех использовать ;) Мы тут скорее поднимаем философский вопрос о качестве и продуманности самой библиотеки а не скорости разработки в ней. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2005, 13:25 |
|
||
|
Тащусь от Qt
|
|||
|---|---|---|---|
|
#18+
Yet another catНеверно. Для реализации слотов и сигналов в Qt - нужен moc, дополнительный препроцессор, не предусмотренный стандартами языка. "Не предусмотренный стандартами" - это довольно обширная область и показатель, зависящий в основном от полезности-распространенности фичи и именно что возраста. Окажутся слоты-сигналы чем-то безусловно полезным - в конце концов войдут в стандарт, как вошла STL. Yet another catДля использования функторов достаточно, чтобы компилятор реализовывал стандарт ISO/IEC 14882. Да в общем-то даже этого не необходимо :) Функторы - просто идея. Плюс те или иные реализации этой идеи. Говорить о "вхождении идеи в стандарт" для меня несколько странно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2005, 13:27 |
|
||
|
Тащусь от Qt
|
|||
|---|---|---|---|
|
#18+
Ты кричишь, что если люди не умеют юзать эти таинственные функторы, то это их проблемы. Согласен. Хотя, что такое функторы не знаю. Но, если тебе не нравятся сигналы и слоты, то это проблемы не КуТэ. Каждому своё. Методика сигналов и слотов мне понравилась сразу. Пусть это расширение стандарта. Пусть нужен moc. Но это в общем-то новаторская технология. Может стандарт их включит когданибудь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2005, 13:32 |
|
||
|
Тащусь от Qt
|
|||
|---|---|---|---|
|
#18+
ИнтеграторНаиболее логичный путь : Как раз тот, который сделан в OP :) ИнтеграторЧерез функторы это разруливается естественным способом, через интерфейсы придётся извращаться ;) Возможно, у нас разное понимание "естественного способа" и "извращаться". Лично для меня естественный способ решения такой задачи на C++/java - Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. Соответственно, будел ли ActionListener интерфейсом или функтором - разницы не вижу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2005, 13:48 |
|
||
|
Тащусь от Qt
|
|||
|---|---|---|---|
|
#18+
softwarer ИнтеграторНаиболее логичный путь : Как раз тот, который сделан в OP :) ИнтеграторЧерез функторы это разруливается естественным способом, через интерфейсы придётся извращаться ;) Возможно, у нас разное понимание "естественного способа" и "извращаться". Лично для меня естественный способ решения такой задачи на C++/java - Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. Соответственно, будел ли ActionListener интерфейсом или функтором - разницы не вижу. я привёл пример - например когда я хочу поместить всех наблюдателей как методы одного класса возникает принципиальная проблема которая с интерфейсами не решается. Например не хочу я классы новые тоннами плодить ;) Конечно что не факт что это нужно (хотя в С++ в отличии от Java всё таки более актульно), но налицо принципиальная неприятность. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2005, 14:02 |
|
||
|
Тащусь от Qt
|
|||
|---|---|---|---|
|
#18+
SarinТы кричишь, что если люди не умеют юзать эти таинственные функторы, то это их проблемы. Согласен. Хотя, что такое функторы не знаю. Но, если тебе не нравятся сигналы и слоты, то это проблемы не КуТэ. Каждому своё. Методика сигналов и слотов мне понравилась сразу. Пусть это расширение стандарта. Пусть нужен moc. Но это в общем-то новаторская технология. Может стандарт их включит когданибудь. Новаторская технология ??? Не смешите народ ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2005, 14:05 |
|
||
|
Тащусь от Qt
|
|||
|---|---|---|---|
|
#18+
Интеграторя привёл пример Вы упускаете из вида, что я просто не понимаю, какую именно реализацию этого примера Вы имеете в виду. Интеграторно налицо принципиальная неприятность. Вот здесь - независимо от предыдущего возражу. Она именно что не принципиальная, а техническая. Теми или иными техническими соображениями может быть обусловлено преимущество именно Вашего подхода и соответственно преимущество функторов в случае конкретной реализации. Но ничего "принципиального" здесь не вижу. Можно, конечно, погрузиться в обсуждение того, что есть "принципиально", но полагаю, это будет перебор. Поэтому - приведите, если не трудно, пример функторной реализации, которую Вы имеете в виду, и давайте закруглим. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2005, 15:20 |
|
||
|
Тащусь от Qt
|
|||
|---|---|---|---|
|
#18+
softwarer Интеграторя привёл пример Вы упускаете из вида, что я просто не понимаю, какую именно реализацию этого примера Вы имеете в виду. Интеграторно налицо принципиальная неприятность. Вот здесь - независимо от предыдущего возражу. Она именно что не принципиальная, а техническая. Теми или иными техническими соображениями может быть обусловлено преимущество именно Вашего подхода и соответственно преимущество функторов в случае конкретной реализации. Но ничего "принципиального" здесь не вижу. В с++ это приведёт к образованию множества ненужных классов и расползанию кода ;) В Java это предусмотрели :) Можно, конечно, погрузиться в обсуждение того, что есть "принципиально", но полагаю, это будет перебор. Поэтому - приведите, если не трудно, пример функторной реализации, которую Вы имеете в виду, и давайте закруглим. Если не возражаете - приведу завтра - сейчас к сожалегию нет времени ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2005, 15:29 |
|
||
|
Тащусь от Qt
|
|||
|---|---|---|---|
|
#18+
Хороший пример из кода не выдеру - вот один из возможных вариантов - всё связывается в рантайме. Привожу специально код без STL - всё написано с нуля (ну кроме smart_ptr:) ) Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2005, 10:31 |
|
||
|
|

start [/forum/topic.php?fid=16&msg=33074480&tid=1347658]: |
0ms |
get settings: |
7ms |
get forum list: |
15ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
58ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
63ms |
get tp. blocked users: |
1ms |
| others: | 239ms |
| total: | 398ms |

| 0 / 0 |
