powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / Куда катится C++
25 сообщений из 285, страница 6 из 12
Куда катится C++
    #39301333
kT_________
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В начале писали о неподъемности Boost, могу сказать что не залезая в исходники этих библиотек можно спокойно продолжать программировать с их использованием, но когда понимаешь, что не понимаешь как работает например Spirit, когда любопытно и медитируешь на Proto, тогда да, понимаешь что в этом языке есть куда расти, и что изучать. Помните, чем больше я изучаю С++ тем меньше я понимаю С++?
Реально не хватает экосистемы, простых и удобных фреймворков, но есть конечно надежда что всё измениться, и тогда-то я перестану кодить на Scala (да, я уже запланировал комбэк), и вернусь обратно, и будет уже совершенно другое кодовство, будет ФП по жесткой схеме, а не только макро-магия прекомпила.
...
Рейтинг: 0 / 0
Куда катится C++
    #39301444
alexy_black
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
народ, чем отличаеются темы
"В какую сторону движется C++?" от "Куда катится C++" ? :) или я чего-то не догнал?
...
Рейтинг: 0 / 0
Куда катится C++
    #39301488
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alexy_black,

В одном оптимисты, в другом — пессимисты,
Которые как известно просто хорошо информированные оптимисты
...
Рейтинг: 0 / 0
Куда катится C++
    #39301494
alexy_black
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Изопропил, гы, какая животрепещющая тема ))
...
Рейтинг: 0 / 0
Куда катится C++
    #39302357
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alexy_blackнарод, чем отличаеются темы
"В какую сторону движется C++?" от "Куда катится C++" ? :) или я чего-то не догнал?
Да. Топики действительно похожи.

Но насколько я понял месседж. MasterZiv считает что развитие С++ стоит на распутье.
Создатели не могут развивать одновременно два направления. ФП и мета-программинг.

Я-бы голосовал за ФП т.к. считаю что у него больше возможностей и он интереснее.
Мета-кодинг исчерпал сам себя. Мы уже больше ничего высосать из него не можем.
Осталось постулировать понятие ЧИСЛА через шаблоны и определить базовые
алгебры. Есть в этом какой-то философский тупик. Получается что С++ ники
каг-бе решают фундаментальные проблемы которые по принципиально отсутствуют
к примеру в Delphi. Или подобно космомольцам сами создают себе трудности
которые решают.

Но каково бизнес-value шаблонов - никто сказать не может. Или не может
провести исследование и доказать что шаблоны очень сильно необходимы
бизнесу.

Скорее всего это просто игры разума.

Как-то так.

По сабжу я не являюсь шаблоно-хейтером. Я просто инженер который искренне
удивляется умению других инженеров создавать себе трудности.
...
Рейтинг: 0 / 0
Куда катится C++
    #39302359
egorych
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonНо каково бизнес-value шаблонов - никто сказать не может. Или не может
провести исследование и доказать что шаблоны очень сильно необходимы
бизнесу.мне шаблоны реально сокращают рутинный код в разы. Можно теперь сказать, что шаблоны необходимы бизнесу? ;-)
...
Рейтинг: 0 / 0
Куда катится C++
    #39302361
Вася Уткин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
egorychmaytonНо каково бизнес-value шаблонов - никто сказать не может. Или не может
провести исследование и доказать что шаблоны очень сильно необходимы
бизнесу.мне шаблоны реально сокращают рутинный код в разы. Можно теперь сказать, что шаблоны необходимы бизнесу? ;-)
Нет, теперь должен провести исследование и доказать Вот то-то же, ждет философский тупик.
...
Рейтинг: 0 / 0
Куда катится C++
    #39302364
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonЯ-бы голосовал за ФП т.к. считаю что у него больше возможностей и он интереснее.Вот сижу, думаю. А чего нам в С++ сейчас не хватает чтобы использовать ФП? И прихожу к выводу что уже сейчас все есть. Тут надо не язык развивать, а программистов обучать.
Что такое ФП? Это ж всего-навсего полный запрет обращаться к переменным из внешней области видимости. И все.
Получила функция на вход переменную, обработала, отдала результат другой функции ... и так пока не решим всю задачу.
Как ни странно, но ФП не подразумевает полную имплементацию лямбда-исчисления.
maytonМета-кодинг исчерпал сам себя.Вот если хочешь полноценное лямбда-исчисление получить тогда и мета-программирование понадобится, иначе абстракции сделать не получиться. Впрочем тут я не уверен на все сто. Просто я как зачет сдал по лямбдам, так и забыл их...

maytonНо каково бизнес-value шаблонов - никто сказать не может. Или не может
провести исследование и доказать что шаблоны очень сильно необходимы
бизнесу.Шаблоны могут быть слегка полезны как заменитель вариантных типов. Этакое решение для бедных и только на этапе компиляции. Но и все.

maytonПо сабжу я не являюсь шаблоно-хейтером. Я просто инженер который искренне
удивляется умению других инженеров создавать себе трудности.Поздно. Тебя уже записали :)
...
Рейтинг: 0 / 0
Куда катится C++
    #39302367
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
egorychmaytonНо каково бизнес-value шаблонов - никто сказать не может. Или не может
провести исследование и доказать что шаблоны очень сильно необходимы
бизнесу.мне шаблоны реально сокращают рутинный код в разы. Можно теперь сказать, что шаблоны необходимы бизнесу? ;-)Мне жутко хочется посмотреть на этот рутинный код который сокращается шаблонами.
...
Рейтинг: 0 / 0
Куда катится C++
    #39302377
Фотография Anatoly Moskovsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
White OwlМне жутко хочется посмотреть на этот рутинный код который сокращается шаблонами.
Самый простейший пример: std:string и std::wstring код которых без шаблонов пришлось бы продублировать, а так это просто две строки с typedef и один общий шаблон.
...
Рейтинг: 0 / 0
Куда катится C++
    #39302394
alex_k
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
White OwlМне жутко хочется посмотреть на этот рутинный код который сокращается шаблонами.

Если клянетесь не воровать! :)

Код: plaintext
1.
2.
3.
4.
5.
6.
private:
	template<typename Types, typename Type>
	bool findTypeByModelId(const Render::ContentId& modelId, Types& types, Type*& typePtr);

	template<typename Type>
	void fillTypeInfo(const Render::ContentId& contentId, Type& type, Gameplay::EmitterDataList& emittersList);


Использование
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
		Gameplay::UnitType* unitTypePtr = nullptr;
		if (findTypeByModelId(contentId, gameProject.getUnitTypesHolder(), unitTypePtr)) {
			assertValidPtr(unitTypePtr);
			fillTypeInfo(contentId, *unitTypePtr, list);
		}

		Gameplay::EnvType* envTypePtr = nullptr;
		if (findTypeByModelId(contentId, gameProject.getEnvTypesHolder(), envTypePtr)) {
			assertValidPtr(envTypePtr);
			fillTypeInfo(contentId, *envTypePtr, list);
		}


Использование тоже можно было бы щаблонизировать, но пока копипаст :)
Появится еще один тип игровых объектов - методы find... и fill... останутся теми же. Но на этапе компиляции будут предъявлены определенные требования к новому типу игровых объектов. Не забалуешь :)

И вообще - очень много где используем. Если есть копипаст - надо подумать как применить шаблоны.
...
Рейтинг: 0 / 0
Куда катится C++
    #39302396
Фотография CEMb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
White OwlМне жутко хочется посмотреть на этот рутинный код который сокращается шаблонамида std::vector же, иначе пришлось бы или каждый раз делать работу с массивом данных, или организовывать свою иерархию, как это делается в классических примерах про виртуальные функции в с++
alex_kЕсли клянетесь не воровать! :)"мы украли твою идею, теперь станем миллионерами" :)
...
Рейтинг: 0 / 0
Куда катится C++
    #39302428
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
White OwlmaytonЯ-бы голосовал за ФП т.к. считаю что у него больше возможностей и он интереснее.Вот сижу, думаю. А чего нам в С++ сейчас не хватает чтобы использовать ФП? И прихожу к выводу что уже сейчас все есть. Тут надо не язык развивать, а программистов обучать.
Что такое ФП? Это ж всего-навсего полный запрет обращаться к переменным из внешней области видимости. И все.
Получила функция на вход переменную, обработала, отдала результат другой функции ... и так пока не решим всю задачу.
Как ни странно, но ФП не подразумевает полную имплементацию лямбда-исчисления.
Ну... прежде всего надо формализовать список в понимании ФП. И дать возможность
толкать в него микс из типов. А это требует RTTI. То о чем говорил Илья.

Такое должно работать.
Код: plaintext
1.
list = [ 1, "two", 3.0f, true, [], NIL ];
...
Рейтинг: 0 / 0
Куда катится C++
    #39302444
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
White OwlШаблоны могут быть слегка полезны как заменитель вариантных типов. Этакое решение для бедных и только на этапе компиляции. Но и все.
Если рассматривать std::vector, std::map - как набор алгоритмов "над ccылками" (опять гребаный RTTI) то нам шаблонизация
и не очень нужна. Возможно имеет смысл оценить контракты "сравнения" и "хеширования" двух объектов а это
ближе к интерфейсам чем к шаблонам.

Вобщем взять курс на пересмотр необходимости.
...
Рейтинг: 0 / 0
Куда катится C++
    #39302524
Фотография CEMb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
я ещё вспомнил примерчик, модульная надстройка над классами.
Код: plaintext
1.
2.
3.
4.
template<class T> class C : public T
{
//...
};



и куча других прикольных веществ вещей от Александреску
...
Рейтинг: 0 / 0
Куда катится C++
    #39302534
egorych
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
White OwlМне жутко хочется посмотреть на этот рутинный код который сокращается шаблонами.ничего военного. Добавление справочника в главное меню. Создать QAction, добавить его в главное меню, написать для него слот. Шаблоном это делается в одну строку, без шаблона - 7 строк для каждого справочника. Справочников - порядка 50 на приложение.
...
Рейтинг: 0 / 0
Куда катится C++
    #39302675
alexy_black
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton, спасибо :)

мне кажется, что это не мешает друг другу... ну dynamic_cast никак не мешает тому, что есть шаблоны, а шыблоны никак не мешают тому, что есть dynamic_cast..

чтобы убрать шаблоны, у всех классов и, возможно, функций, должен быть один общий суперкласс.. лучшу уж шаблоны :) а то придется от вектора димамокастить в нужный тебе класс..
...
Рейтинг: 0 / 0
Куда катится C++
    #39302697
Фотография Anatoly Moskovsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonТакое должно работать.
Код: plaintext
1.
list = [ 1, "two", 3.0f, true, [], NIL ];


Пожалуйста
Код: plaintext
1.
auto list = std::make_tuple(1, "two", 3.0f, true, std::make_tuple(), nullptr) ;
...
Рейтинг: 0 / 0
Куда катится C++
    #39302700
Фотография Anatoly Moskovsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alexy_blackлучшу уж шаблоны
Вы так говорите, как будто шаблоны это что-то плохое, и мы вынуждены их терпеть, потому что без них еще хуже
...
Рейтинг: 0 / 0
Куда катится C++
    #39302722
Вася Уткин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
alexy_blackmayton, спасибо :)

мне кажется, что это не мешает друг другу... ну dynamic_cast никак не мешает тому, что есть шаблоны, а шыблоны никак не мешают тому, что есть dynamic_cast..

чтобы убрать шаблоны, у всех классов и, возможно, функций, должен быть один общий суперкласс.. лучшу уж шаблоны :) а то придется от вектора димамокастить в нужный тебе класс..
С шаблонами (compile time polymorphism) при несоответствии типов будет ошибка компилятора, а без шаблонов с RTTI (runtime polymorphism) не будет ошибки компилятора. Очевидно же что RTTI лучше, т.к. нет ошибки
Вообще компилятора не должен выдавать ошибки, тогда все программы будут правильными.
...
Рейтинг: 0 / 0
Куда катится C++
    #39302743
alex_k
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alexy_blackdynamic_cast делает runtime check. Это работа процессора, которую можно было бы избежать, делая проверки на этапе компиляции.

Работа процессора, к стати, это потраченная электроэнергия. Единственный способ процессору потратить электроэнегрию - выделить тепло. Ну а тепло будет рассеяно во вселенной, увеличивая энтропию.

dynamic_cast увеличивает энтропию!
...
Рейтинг: 0 / 0
Куда катится C++
    #39302760
alexy_black
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alex_kalexy_blackdynamic_cast делает runtime check. Это работа процессора, которую можно было бы избежать, делая проверки на этапе компиляции.

Работа процессора, к стати, это потраченная электроэнергия. Единственный способ процессору потратить электроэнегрию - выделить тепло. Ну а тепло будет рассеяно во вселенной, увеличивая энтропию.

dynamic_cast увеличивает энтропию!да, я об этом же :)
поэтому считаю шаблоны полезными - без них все будет в рантайме, а это не гуд. я за мир во всем мире и за чистую экологию!
...
Рейтинг: 0 / 0
Куда катится C++
    #39302857
Владимир2012
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alexy_blackя за мир во всем мире и за чистую экологию!Можно и "лучше" сказать.
"Трахтор в поли дыр, дыр, дыр. Мы за мыр! Мы за мыр!" /Павло Тычына/

PS: Ни кто не против STL и template.
Разве кто-то утверждал обратное?
ИМХНО мне этот подход и его реализация не нравится.
Но из этого абсолютно не следует, что их использовать не буду.
Буду - когда посчитаю уместным ...

Такой же подход у любого из форумчан ...
Что обсуждаете то и что друг другу доказываете /и пытаетесь убедить/?

Нет еще "идеального" языка программирования и не только ...

ИМХНО самая большая польза от этого и других форумах может быть лишь в том, чтобы научиться не хамить,
настаивать на своем, уважать мнение других, ...

Остальное ... ... ...
...
Рейтинг: 0 / 0
Куда катится C++
    #39302865
alexy_black
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Владимир2012, да, мне тоже не нравится.. или я двже не знаю как к этому относится :)

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

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

поэтому мне нормально, что это сделано на шаблонах. а для подсчета и операций, можно использовать, например, подход boost.locale - там нужно указать что ты хочешь получить, кол-во символов, слов и т.д.
...
Рейтинг: 0 / 0
Куда катится C++
    #39302881
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
White OwlМне жутко хочется посмотреть на этот рутинный код который сокращается шаблонами.
Anatoly MoskovskyСамый простейший пример: std:string и std::wstring код которых без шаблонов пришлось бы продублировать, а так это просто две строки с typedef и один общий шаблон.ммм... может быть. Однако мне как пользователю библиотеки абсолютно до лампочки как именно организован код внутри библиотеки, даже если там будет полноценный копи-паст. До тех пор пока библиотека работает мне не важно сколько там строк внутри.
А когда я пишу собственный класс для строк, я его делаю на основе юникода (с наследованием от ICU) и никакие std::w?string мне не нужны вообще.

alex_kЕсли клянетесь не воровать! :)Не вижу в приведенном примере проверки типов на этапе компиляции. Зато проверку типов в рантайме вижу. Не засчитано.

CEMbда std::vector же, иначе пришлось бы или каждый раз делать работу с массивом данных, или организовывать свою иерархию, как это делается в классических примерах про виртуальные функции в с++Угу. Работа со списками это пожалуй единственное более-менее оправданное использование шаблонов.


egorychничего военного. Добавление справочника в главное меню. Создать QAction, добавить его в главное меню, написать для него слот. Шаблоном это делается в одну строку, без шаблона - 7 строк для каждого справочника. Справочников - порядка 50 на приложение. Уточни, что есть "справочник" в данной задаче?
У меня в качестве справочников всегда используются различные варианты хешей/мапов со строковыми ключами и комментариями. Ни разу не видел нужды их унифицировать на основе шаблонов.
...
Рейтинг: 0 / 0
25 сообщений из 285, страница 6 из 12
Форумы / C++ [игнор отключен] [закрыт для гостей] / Куда катится C++
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]