170 похожих чатов

Кстати об атрибутах. Они ведь в C++ имеют весьма комплексную

синтаксическую поддержку - даже "вызываемые" атрибуты и собственные пространства имен под них завезли. С самими же атрибутами все очень печально пока что. Это такой tease (да-да, когда-нибудь это все будет использоваться, но ты до этого момента не доживешь)? Потому что для реализации кастомных атрибутов потребуется мощная рефлексия и программирование компиляторов далеко за рамками классических шаблонов (в сторону пользовательских атрибутов кивают пространства имен, хотя на данном этапе они скорее для компиляторов). А сам стандарт что-то не особо торопится этим всем функционалом пользоваться. Зачем нужно было заморачиваться теряя и так (как можно видеть) драгоценное время на функционал, который даже близко в полной мере не используется и использоваться не может, по сути?

9 ответов

7 просмотров

>> Зачем нужно было заморачиваться теряя и так (как можно видеть) драгоценное время на функционал? Вы ошибочно считаете, что сэкономив человеко-часы на одной фиче, удастся быстрее закончить другую, более важную Кроме того, эта фича так или иначе будет востребована в будущем и если под неё сейчас есть юзкейсы (пусть, и не частые), то нет смысла изобретать для них костыли

Sergey-Anisimov Автор вопроса
Ofee Oficsu
>> Зачем нужно было заморачиваться теряя и так (ка...

Вы обладаете каким-то подробным знанием того, как именно в стандарт въезжали атрибуты, какие группы в этом процессе были задействованы и чем бы они занимались в противном случае?

Sergey Anisimov
Вы обладаете каким-то подробным знанием того, как ...

Проблема в том, что ответ на последний вопрос никто не знает, именно поэтому ни у вас, ни у меня нет оснований полагать, что участники разработки стандарта, занимавшиеся аттрибутами, потребуй мы ими не заниматься, пошли бы разрабатывать более полезные фичи, а не играть в компьютерные игры или пить алкоголь Более того, я склонен ценить полезный вклад каждого из участников и было бы глупо требовать от сообщества (а это именно сообщество, а не организация, чем либо обязанная нам) уделять время вещам, ценным именно для меня, не вкладывая в это собственное время и силы

Sergey-Anisimov Автор вопроса
Ofee Oficsu
Проблема в том, что ответ на последний вопрос никт...

Вы абсолютно правы по поводу отсутствия оснований полагать. Именно поэтому я не начал свои сообщения с фразы "Вы ошибочно полагаете". И да, стандарт - это обалдеть какое несообщество. Там тонны коммерческих подвязок и корпоративных интересов (хватит одного того, что они вообще-то продукт за деньги выпускают, с этой ТЗ к дистрибьютеру (коим является сама ISO, емнип) даже ЗоЗПП применим). Да и не требовал я от них ничего вроде как нигде, а лишь полюбопытствовал насчет соображений о стоящих за теми или иными их действиями решениях.

Sergey Anisimov
Вы абсолютно правы по поводу отсутствия оснований ...

Собственно, я пытался донести, что зачастую за теми или иными решениями стоит не строгий план по реализацию конкретных фич, написанный на столетие вперёд, а желание сообщества/вендоров заниматься той или иной фичей и принципиальная возможность её добавления Просто учитывайте, что для некоторых это альтернативный способ расслабиться и решить собственные проблемы, а не прямая обязанность В случае с атрибутами — их возможно было реализовать, а также, после их реализации в стандарте они, во-первых, смогут быть основой для будущих частных механизмов интроспекции, во-вторых, они могут быть использованы для некоторых компиляторо-зависимых вещей (noreturn, deprecated, fallthrough, nodiscard...), в которых, очевидно, сообщество было заинтересовано и которые бы в противном случае потребовали ad-hoc решений О мотивации тех или иных решений можно почитать в мейлинг-листе, а также, некоторые подробности на GitHub, где иногда можно встретить результаты опросов по отдельным идеям или предложениям

Sergey-Anisimov Автор вопроса
Sergey Anisimov
Я Вас понял, благодарю за ответ.

Собственно, обоснования многих принятых в стандарт решений можно поискать на этой странице, там есть ссылки на соответствующие предложения, обычно сопровождающиеся мотивацией. Например, вот бумага по атрибутам: In the pre-Oxford mailing, n2224 [n2224] makes a case for extensible syntax without overloading the keyword space. It references a large number of existing C++0x proposals that would benefit from such a proposal. This paper will examine the extensible syntax mechanism through the authors’ experience with its implementation in an existing C++ compiler. Если проследовать по ссылке, то можно увидеть мотивацию необходимости такого механизма: The evolution of C++ faces a serious problem selecting new keywords. This problem is confronted directly in Beman Dawes paper N2105, where the risk of collision with existing users' names clearly restricts our ability to select clear, descriptive keywords in the future

Ofee Oficsu
Собственно, обоснования многих принятых в стандарт...

N2224: Seeking a Syntax for Attributes in C++09 (by Alisdair Meredith) (2007-03-12)

Похожие вопросы

Обсуждают сегодня

Anyone here suffers from unexplained aural migraines, who would be up for talking for a bit? Doesn't *have* to be aural, but I am not asking about headaches, I mean actual mi...
Martin Rys
55
Я тут за тем, чтобы задать вопрос, так как не знаю ассемблер, учу с/с++. Короче, насколько дорога операция перехода в функцию при ее вызове? Дело в том, что в с++ есть макросы...
Максим Рябцев
12
А какие чаты вообще в ходу? Auto aim? И что еше
do you think you're better off alone? А
13
hello friends. Do you know how can I learn getx? I have a software project that I should deliver it up to 5 weeks later and I need to learn firebase too. I will be thankfull
AmirHossein Razavi
15
Привет, нужен совет старших товарищей. Есть глобальная переменная var DefaultDataFolder:string; инициализируем DefaultDataFolder:='a:\_OUT\'; есть примитивная процедур...
Max Otto
14
Доброе время суток! у меня тут иноды закончились. и понял почему по сути кстит, я периодически очищаю постгрес и сентри контайнер: postgres=# DELETE FROM nodestore_node WHER...
Юсиф Насиров
9
Вопрос. Теоретический. Есть список команд. Команды отправляю в обработку некой функции, по очереди. Разные команды могут давать разные результаты после обработки. В зависимос...
Serjone
7
Какой дос блять?
007
9
lazarus-3.2.0/gtk, linux патч "имя проекта по умолчанию project1 -> prj" день добрый не нравится "именя проекта по умолчанию" (project1), к.раз приходится переименовывать (н...
livontiy
5
Коллеги, а в чём сейчас хорошо писать на перле, в смысле ide? Пробовал в идее с плагином, подсветка есть, даже какие-то предупреждения есть, но рефакторинга считай нет. Перене...
Дмитрий Петров
9
Карта сайта