Russian Qt Forum
Ноябрь 23, 2024, 00:12
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Войти
Начало
Форум
WIKI (Вики)
FAQ
Помощь
Поиск
Войти
Регистрация
Russian Qt Forum
>
Forum
>
Разное
>
Говорилка
>
Плюсолюбителям
Страниц:
1
...
4
5
[
6
]
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: Плюсолюбителям (Прочитано 42953 раз)
PinkPanther
Самовар
Offline
Сообщений: 169
Re: Плюсолюбителям
«
Ответ #75 :
Март 17, 2015, 01:46 »
Выделение "про запас" плохо не столько с технической точки зрения, сколько алогично: в коде, где память живет независимо от данных, легко запутаться, необходимо помнить о времени-месте возврата, и, к тому же, необходимо вводить счетчик, отделяющий полезную память буфера от бесполезной. На вопрос, почему буфер - 100 элементов, а не 7394, тоже может возникнуть, а значит, придется отвечать, если нет желания запоминать число 100. Такое решение говорит о недостаточно хорошо продуманном алгоритме (ошибке в подходе к данным, их размещению и обработке). Код должен оперировать только полезной информацией, а выделенная под нее память должна освобождаться сразу же, как только исчезает необходимость в обработке данных. Все остальное создает неоднозначности и коллизии. Если нас интересует размер объекта в байтах, этот интерес тоже должен иметь логическое продолжение, быть частью алгоритма.
Цитировать
А вас не интересовало никогда, с практической точки зрения, сколько памяти занимает объект? Например QObject (это всего лишь пример!). Анализируя с помощью valgrind код, интересные вещи узнаёшь, о которых никогда бы не подумал, что там узкое место.
Нет. При высоких затратах я выигрываю в скорости разработки сносно работающей программы. Умственная лень и бабло победили добро, развратила дешевая RAM и гигагерцы.
Qt - черный ящик, лезть внутрь нет желания. Но хочется потрогать кнопочки, чтобы представлять пределы фантазии создателей. Если мои проекты на Qt будут развиваться, и окажется, что программы с QObject жрут слишком много и не работают на нужных машинах, поинтересуюсь, сколько захватывают QObject, QVariant,... ужаснусь, напишу что-нибудь свое, на базе простых типов. Есть расчетные задачи, где нужно считать такты CPU, но построение GUI к ним не относятся. GUI сложен и строится один раз, а Qt - это, в первую очередь, GUI.
Учитывая потребность рынка софта за последние 25 лет, выгоднее создать системы программирования для фермеров, чем рассчитывать на узкую прослойку "программистов от бога", умеющих создавать безошибочные, логически стройные программы малыми средствами. Спрос на "правильный" софт остался, но он нишевой. Программы, написанные реднеками при помощи разных адских фреймворков дешевы, разнообразны, и удивляют необычными результатами.
То, что каждую вторую программулину приходится удалять сразу после инсталляции, пользователей обычно не напрягает.
Этих проблем можно избежать, если пользоваться базовыми типами данных, либо типами данных, которые имеют четкие спецификации. В противном случае вы - заложник библиотеки, объекты которой могут не только занимать много места при создании, но и раздуваться, плодя буферы неизвестного размера... Сегодня считается, что риск оправдан (если вам нужно 100% рабочее приложение - не оправдан). Qt - любительская библиотека, хотя сегодня ее продают за деньги. Это преступление? Юридически - нет, логически - да.
Записан
Эвтаназия - наше хобби!
AzazelloAV
Гость
Re: Плюсолюбителям
«
Ответ #76 :
Март 17, 2015, 06:45 »
Цитата: PinkPanther от Март 17, 2015, 01:46
Нет. При высоких затратах я выигрываю в скорости разработки сносно работающей программы. Умственная лень и бабло победили добро, развратила дешевая RAM и гигагерцы.
Дешёвую RAM и мегагерцы засунули в одно место обычные батарейки. Абсолютно верное высказывание, но лет 6-7 назад. Достаточно сравнить Java и Objective-C. Но это лирика. Существую задачи, где производительность GUI критична, в моем случае это векторная графика. И важность скорости разработки сильно преувеличина. Прям волны какие-то изменения трендов разработки. Вспомните, почему умер Delphi - именно из за высокой скорости разработки. Так все научились формошлёпить (кому не лень), что среда приобрела статус "ненадёжной" абсолютно по субъективным причинам (а делфистов вообще за людей не считали)
«
Последнее редактирование: Март 17, 2015, 06:54 от AzazelloAV
»
Записан
Igors
Джедай : наставник для всех
Offline
Сообщений: 11445
Re: Плюсолюбителям
«
Ответ #77 :
Март 17, 2015, 11:22 »
Цитата: AzazelloAV от Март 16, 2015, 20:13
А вас не интересовало никогда, с практической точки зрения, сколько памяти занимает объект? Например QObject (это всего лишь пример!).
Ну почему же никогда? Подсчитывали и на этом форуме (захотите найдете). Но в этом нет необходимости. Если QObject имеет мощный ф-ционал, значит он "жирный", это нормально, все чего-то стоит. Нормальный программист интуитивно/рефлекторно решает нужен ли такой мощный объект или нет.
Цитата: AzazelloAV от Март 16, 2015, 20:13
Да и память не плохо выделять с запасом иногда, блоками, что в этом плохого. Что плохого, что QVector будет выделять память с запасом по 16К (подсознание выплюнуло), чем сотни вызовов выделения памяти.
А так все практически все контейнеры и делают (и QVector тоже), никто не выделяет на каждый чих
Записан
AzazelloAV
Гость
Re: Плюсолюбителям
«
Ответ #78 :
Март 18, 2015, 00:42 »
Цитата: Авварон от Март 16, 2015, 00:30
Что-то старожилы совсем опозорились в данном топике. Хоть топикстартер и пишет фигню по большей части, но здесь .....
Чисто интерес, про какую фигню вы говорите. Если нет желания, лучше не отвечайте, иначе про фигню более конкретно.
Записан
Авварон
Джедай : наставник для всех
Offline
Сообщений: 3260
Re: Плюсолюбителям
«
Ответ #79 :
Март 22, 2015, 01:03 »
Цитата: AzazelloAV от Март 18, 2015, 00:42
Чисто интерес, про какую фигню вы говорите.
Соседний топик, где вы ноете про закрытость.
Записан
AzazelloAV
Гость
Re: Плюсолюбителям
«
Ответ #80 :
Март 25, 2015, 15:39 »
Цитата: Авварон от Март 22, 2015, 01:03
Цитата: AzazelloAV от Март 18, 2015, 00:42
Чисто интерес, про какую фигню вы говорите.
Соседний топик, где вы ноете про закрытость.
Ну а чего не могу поныть то? Чем запрещается нытьё в нытной теме (говорилке). Тем более в соседней ветке. Вот вы поймите, я всегда не понимал людей (без обид), которые влазят в другие нытные темы, чтобы сказать, что они ноют. Т.е становятся участниками нытья. Ладно там в общественном месте каком, где эти разговоры доступны всем (всилу распростастронения звуковых волн), но тут что вас заставило? Мало того что зайти, так ещё и ответить. Прям присоединение к бабушкам на скамеечке. Но вы же на такой?
P.S. Нивкоем случае не хочу вас обидеть, также (на самом деле) считаю что на "бабушкиных скамеечках" можно выражать своё Я, но только осторожно, чтобы не обидеть других. А то "карга старая" каждый может бросить.
«
Последнее редактирование: Март 25, 2015, 15:58 от AzazelloAV
»
Записан
Авварон
Джедай : наставник для всех
Offline
Сообщений: 3260
Re: Плюсолюбителям
«
Ответ #81 :
Март 25, 2015, 16:23 »
Цитата: AzazelloAV от Март 25, 2015, 15:39
Ну а чего не могу поныть то? Чем запрещается нытьё в нытной теме (говорилке). Тем более в соседней ветке. Вот вы поймите, я всегда не понимал людей (без обид), которые влазят в другие нытные темы, чтобы сказать, что они ноют. Т.е становятся участниками нытья. Ладно там в общественном месте каком, где эти разговоры доступны всем (всилу распростастронения звуковых волн), но тут что вас заставило? Мало того что зайти, так ещё и ответить. Прям присоединение к бабушкам на скамеечке. Но вы же на такой?
P.S. Нивкоем случае не хочу вас обидеть, также (на самом деле) считаю что на "бабушкиных скамеечках" можно выражать своё Я, но только осторожно, чтобы не обидеть других. А то "карга старая" каждый может бросить.
Ну вы же не по делу ноете:)
Записан
AzazelloAV
Гость
Re: Плюсолюбителям
«
Ответ #82 :
Март 26, 2015, 02:18 »
Цитата: Авварон от Март 25, 2015, 16:23
Ну вы же не по делу ноете:)
Не хотел отвечать, но не выдержал. Вы такой же нытик..... По какому делу вы сейчас проныли?
Записан
Страниц:
1
...
4
5
[
6
]
Вверх
Печать
« предыдущая тема
следующая тема »
Перейти в:
Пожалуйста, выберите назначение:
-----------------------------
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 сферы
=> Говорилка
=> Юмор
=> Объявления
Загружается...