ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Четверг
21 ноября
1041740 Топик полностью
Kabdim (02.10.2020 18:29, просмотров: 697) ответил fk0 на Твой тезис именно в том, что вот какой-то функционал ты объявляешь априори плохим ссылаясь на свою негативную практику и аппелируешь к тому, что в "промышленных" ЯВУ (вроде C#) такого функционала нет. В конце концов раз для тебя плохой -- не пользуйся. Но наличие возможности всегда лучше её отсутствия. В других языках такой возможности нет. Плохая она или хорошая. А насколько плохая -- очень субъективная оценка. Вот я считаю -- что хорошая. А твоя негативная
>> Твой тезис именно в том, что вот какой-то функционал ты объявляешь априори плохим ссылаясь на свою негативную практику 

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

>> У кого-то она есть и положительная.

Буду рад увидеть таковую, расскажи про свой опыт нетривального использования, который был бы по какому-то параметру лучше. Да, у меня он негативный, буду рад увидеть другую сторону и поменять мнение. Насколько я вижу практически всё нетривиальное сосредоточено в бусте, видимо от того что написать нормально с использованием МП очень легко.

>> А что значит плохой, какие критерии понятия "плохой"?

https://lesswrong.ru/w/%D0%A1%D0%BF%D0%BE%D1%80%D1%8B_%D0%BE%D0%B1_%D0%BE%D0%BF%D1%80%D0%B5%D0%B4%D0%B5%D0%BB%D0%B5%D0%BD%D0%B8%D1%8F%D1%85

>> Как раз C++ и примечателен тем, что таких костылей нет, кроме упомянутого initializer_list (но это уж совсем базовый примитив, элемент языка, а не какой-то конретный тип), остальное реализуется посредством метапрограммирования.

лямбды, рейнджед луп, в будущем концепты...

>> Но какова альтернатива?

Другие языки - https://doc.rust-lang.org/book/ch19-06-macros.html декларативные макросы с учетом синтаксиса параметров.

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

У меня вопрос, ты им пользовался в каких-то нетривиальных задачах? Неужто ни разу не видел ошибок компиляции на пару десятков страниц?

>> Сложно отлаживать -- это что, повод вообще не программировать или вернуться к ассемблеру? И есть, наконец, инструменты, я ссылки давал

Какое это имеет отношения к отладки шаблонов? Оно либо компилируется, либо нет. Сейчас ситуация получше, но раньше он просто слал километровые списки невнятных ошибок, если что-то было чуть-чуть не в порядке, без намеков на реальные причины.

>> Если сравнивать с Rust, то там как раз метапрограммирование практически лишено смысла. Система шаблонов в C++ попросту намного функциональней

Ну да, это ведь в расте нельзя сделать разбор AST программно и переделать его так как угодно.

>> Он принципиально ничем не лучше, а только хуже C++ оказывается. Про использование в embedded лучше видимо вообще забыть.

И где аргументы в этом утверждении? Я вот вижу обратное - постепенно начинают пользоваться.