Чтобы это работало нужно либо иметь либо полные исходники, либо полное представление программы в байт-коде. Просто какой-то расширенной информации о типах будет недостаточно. Если к примеру при генерации вызывается существующая функция программы, а в программе компилятор ее заинлайнил. Иными словами сначала придется сделать какой-то байт код, добавить JIT в стандартную блиотеку, сделать рефлексию времени выполнения как в шарпе, привести в порядок ООП в языке и т.п. Объем работы и изменений в языке здесь такой, что раньше второго пришествия комитет это не осилит.
Нормальный код делающий ту же задачу называется интерпретатор. По этому и возникает такой прирост производительности за счет компиляции на лету в нативный код и отсутствия интер-опа
Вам просто не надо занимать позицию интеллектуального превосходства заявляя, что на С++ задачи огого, а в шарпе люди только json из базы перекладывают. Я использую шарп и С++ и многие шарп-задачи делать на С++ не просто нецелесообразно, а просто физически нельзя т.к. в С++ не существует такой функциональности.
Мой совет всем С++ разработчикам поменьше "легко представлять" и побольше знакомится с реальностью.
Что касается анализа различных потоков на лету то здесь есть и другая сторона медали. Я когда впервые в шарпе сгенерировал класс на лету и оценил какой прирост производительности это дало, то сразу же осознал насколько нелепы претензии С++ на всю сферу высокой производительности (о чем так любят кричать адепты С++ с крыш домов). Высокая у вас будет только на статических задачах с фиксированными методами анализа. Там где методы определяет пользователь у С++ перед шарпом ноль шансов.
Не льстите себе. Без лоскутного одеяла возможностей С++ вполне можно обойтись. Когда же что-то делаешь в шарпе то часто себя ловишь на мысли, что в С++ это фактически не реализуемо.
Проблема в том что комитет не в состоянии поправить баги в языке обнаруженные еще более 10 лет назад.
И какие у это реальные области применения?
Очевидно же что все области где правила или логика определяются пользователем и при этом требуется высокая производительность.
Вы там ниже сами привели пример, отвечающий на этот вопрос (структуры->кортежи).
Т.е. нигде. Потому что задачи преобразования структуры в кортеж не существует.
Начните в своих шарпах и жавах со специализаций и родов выше * -> *, а там посмотрим.
Вы слишком переоцениваете ценность этих "концепций" и "парадигм" которые нагородили в современном С++. Я пишу на С++ и шарпе и еще ни разу в шарпе мне не потребовалась функциональность из С++.
Пропозал по этой проблеме (вложенных классов) был еще в 2013 году. С тех пор воз и ныне там.
Метапрограммирование в джаве и шарпе сделано на недостижимой для С++ высоте. Вы можете создавать классы на лету и генерировать байт код который JIT превратит в машинный. В С++ метапрограммирование ограничено временем компиляции, что делает его неприменимым во множестве сценариев. Вот сейчас лепят очередное ноу-хау - статическую рефлексию. А кому эта статическая рефлексия нужна? Опять возникнет миллион костылей для организации динамической рефлексии на базе статической. И когда говорят о метапрограммировании в С++ мне становится смешно. Посмотрите хотя бы на реализацию костыля из boost который преобразует структуру в кортеж. Под капотом у него сгенерированный скриптом код для ограниченного количества сценариев. В чем смысл этого метапрограммирования если оно постоянно упирается в нереализованные возможности и баги языка которые принципиально не исправляются?
Когда вы напишите предложение и реализуете прототип в компиляторе.
Совет из разряда обратитесь в спортлото. Комитет не заинтересован в развитии языка, писать бесполезно. И ожидаемый через "пару" лет выход неполноценного огрызка рефлексии это доказывает. Напомню, что рефлексия является мейнстримом в языках программирования уже более 20 лет (27 лет назад реализована в java) и формулировки мы хотим успеть выпустить в 26-м звучат особенно издевательски.
Комитет уже не исправить. Возможно форк языка со сменой модели разработки мог бы существенно улучшить ситуацию, но мне кажется, что время для этого уже упущено.
Россия - самая передовая страна на планете. Сначала все тестируют у нас, потом внедряют на планете. Однопартийная диктатура - сначала в СССР потом в КНР. Конфедерация республик - сначала в СССР потом в ЕС. Теперь денежные суррогаты в виде цифровой валюты. Был бы жив М. Ганди он бы наверняка посоветовал бойкотировать этот эксперимент, что бы от нас наконец отвязались.
Всех "клиентов" уже выдоили насухо за 10 лет значит пора принять закон. Много лет говорилось об эффективности управления государством в ручном режиме, но слово ручное видимо от слова ручник.
Возможно мы столкнемся не с избытком информации, а с ее дефицитом. Если умрут все тематические форумы где ИИ будет брать данные для обучения? Возможно даже новые технологии окажутся под угрозой внедрения из-за того, что о них ничего не знает ИИ. Но мне кажется, что скорее всего возникнет определенный баланс.
Самокат больше выглядит как затыкание дыр, нежели как решение сложной задачи. Решение должно быть как минимум всепогодным и безопасным для окружающих. А у самоката нет ни того ни другого.
С 1 сентября с улиц Парижа исчезнут электросамокаты, которые предоставлялись частными компаниями напрокат. Решение было принято после референдума, состоявшегося во французской столице в апреле. Тогда почти 90% горожан проголосовали за запрет электросамокатов
Тот случай когда надо перенимать передовой опыт соседних стран.
То что вы так реагируете это как раз и подтверждает тезис, что система работает как надо. Эта сторона действует крайне топорно и выпукло, чтобы вы бурно реагировали, желательно каждый день, и ни на что другое внимания не обращали.
Особенно на то, что бессменный резидент РФ, конгломерат полуиностранных граждан вокруг него и их иностранные партнеры - это все одна большая дружная семья которая решение принимает согласованно. Почему так быстро, массово и неизбирательно накидывают санкции на простых россиян и так аккуратно на "центры принятия решений"? Вот например отмена роуминга в канаде фактически блокировка российских мобильных номеров - это против кого санкции? И в то же время на голикову и ко санкции евросоюз ввел только спустя 9 месяцев после начала событий. Вполне комфортное время чтобы не спеша распродать все активы и вывести.
Когда надо заклятым "врагам" передаются ядерные технологии, технологии реактивных двигателей см. Rolls-Royce Nene он же Климов ВК-1 и другое. И даже граждане массово выдаются на расправу см. операция Килхол. Когда здесь наука не нужна ее по сигналу "партнеров" начинают ломать об колено. С разгоном академии и посадками ученых занятых критически важными военными разработками.
Вот вы пишите что госолигархия предала науку. А в чем логика. Зачем предавать то на чем можно было бы заработать? И зачем было выводить 300 ярд денег в страны вероятного противника из которых сейчас фактически финансируются боевые действия. Объяснить это ошибками невозможно. Это продуманная целенаправленная политика согласованная с иностранными партнерами.
Ответить вам не смогу т.к. бдительные граждане с верой в святых эльфов почистили карму.
Чтобы это работало нужно либо иметь либо полные исходники, либо полное представление программы в байт-коде. Просто какой-то расширенной информации о типах будет недостаточно. Если к примеру при генерации вызывается существующая функция программы, а в программе компилятор ее заинлайнил. Иными словами сначала придется сделать какой-то байт код, добавить JIT в стандартную блиотеку, сделать рефлексию времени выполнения как в шарпе, привести в порядок ООП в языке и т.п. Объем работы и изменений в языке здесь такой, что раньше второго пришествия комитет это не осилит.
Нормальный код делающий ту же задачу называется интерпретатор. По этому и возникает такой прирост производительности за счет компиляции на лету в нативный код и отсутствия интер-опа
А почему вы для C# выбираете какие-то тривиальные примеры? А для С++ какие-то потоки и dpi.
Если бы вы написали: "легко представить, что на С# вы используете Unity, а на С++ Unreal" это было бы равноценно.
Вот показываю пальцем:
Вам просто не надо занимать позицию интеллектуального превосходства заявляя, что на С++ задачи огого, а в шарпе люди только json из базы перекладывают. Я использую шарп и С++ и многие шарп-задачи делать на С++ не просто нецелесообразно, а просто физически нельзя т.к. в С++ не существует такой функциональности.
Мой совет всем С++ разработчикам поменьше "легко представлять" и побольше знакомится с реальностью.
Что касается анализа различных потоков на лету то здесь есть и другая сторона медали. Я когда впервые в шарпе сгенерировал класс на лету и оценил какой прирост производительности это дало, то сразу же осознал насколько нелепы претензии С++ на всю сферу высокой производительности (о чем так любят кричать адепты С++ с крыш домов). Высокая у вас будет только на статических задачах с фиксированными методами анализа. Там где методы определяет пользователь у С++ перед шарпом ноль шансов.
Не льстите себе. Без лоскутного одеяла возможностей С++ вполне можно обойтись. Когда же что-то делаешь в шарпе то часто себя ловишь на мысли, что в С++ это фактически не реализуемо.
Рефлексия нужна, она позволяет без костылей делать многие вещи.
Чего в С++ очевидно никогда не будет, а следовательно производительность шарпа и явы в таких сценариях будет недостижима.
Проблема в том что комитет не в состоянии поправить баги в языке обнаруженные еще более 10 лет назад.
Очевидно же что все области где правила или логика определяются пользователем и при этом требуется высокая производительность.
Т.е. нигде. Потому что задачи преобразования структуры в кортеж не существует.
Вы слишком переоцениваете ценность этих "концепций" и "парадигм" которые нагородили в современном С++. Я пишу на С++ и шарпе и еще ни разу в шарпе мне не потребовалась функциональность из С++.
Пропозал по этой проблеме (вложенных классов) был еще в 2013 году. С тех пор воз и ныне там.
Метапрограммирование в джаве и шарпе сделано на недостижимой для С++ высоте. Вы можете создавать классы на лету и генерировать байт код который JIT превратит в машинный. В С++ метапрограммирование ограничено временем компиляции, что делает его неприменимым во множестве сценариев. Вот сейчас лепят очередное ноу-хау - статическую рефлексию. А кому эта статическая рефлексия нужна? Опять возникнет миллион костылей для организации динамической рефлексии на базе статической. И когда говорят о метапрограммировании в С++ мне становится смешно. Посмотрите хотя бы на реализацию костыля из boost который преобразует структуру в кортеж. Под капотом у него сгенерированный скриптом код для ограниченного количества сценариев. В чем смысл этого метапрограммирования если оно постоянно упирается в нереализованные возможности и баги языка которые принципиально не исправляются?
Совет из разряда обратитесь в спортлото. Комитет не заинтересован в развитии языка, писать бесполезно. И ожидаемый через "пару" лет выход неполноценного огрызка рефлексии это доказывает. Напомню, что рефлексия является мейнстримом в языках программирования уже более 20 лет (27 лет назад реализована в java) и формулировки мы хотим успеть выпустить в 26-м звучат особенно издевательски.
Комитет уже не исправить. Возможно форк языка со сменой модели разработки мог бы существенно улучшить ситуацию, но мне кажется, что время для этого уже упущено.
текущее предложение по рефлексии не позволяет работать с атрибутами.
Комитет как всегда в своем репертуаре. Принципиально делают так чтобы было невозможно использовать без костылей и не наступая на грабли.
^^ выглядит ужасно. Символ ` (обратный апостроф) не используется в С++ могли бы его использовать.
Опережающее описание для вложенных классов сделают хоть в каком-то столетии?
class Foo;class Foo::Bar; // когда это будет работать?void test(Foo::Bar*);Россия - самая передовая страна на планете. Сначала все тестируют у нас, потом внедряют на планете. Однопартийная диктатура - сначала в СССР потом в КНР. Конфедерация республик - сначала в СССР потом в ЕС. Теперь денежные суррогаты в виде цифровой валюты. Был бы жив М. Ганди он бы наверняка посоветовал бойкотировать этот эксперимент, что бы от нас наконец отвязались.
Всех "клиентов" уже выдоили насухо за 10 лет значит пора принять закон. Много лет говорилось об эффективности управления государством в ручном режиме, но слово ручное видимо от слова ручник.
Возможно мы столкнемся не с избытком информации, а с ее дефицитом. Если умрут все тематические форумы где ИИ будет брать данные для обучения? Возможно даже новые технологии окажутся под угрозой внедрения из-за того, что о них ничего не знает ИИ. Но мне кажется, что скорее всего возникнет определенный баланс.
Самокат больше выглядит как затыкание дыр, нежели как решение сложной задачи. Решение должно быть как минимум всепогодным и безопасным для окружающих. А у самоката нет ни того ни другого.
С 1 сентября с улиц Парижа исчезнут электросамокаты, которые предоставлялись частными компаниями напрокат. Решение было принято после референдума, состоявшегося во французской столице в апреле. Тогда почти 90% горожан проголосовали за запрет электросамокатов
Тот случай когда надо перенимать передовой опыт соседних стран.
Для начала нужно названия хотя бы научится придумывать оригинальные, чтобы они не звучали максимально вторично как рутуб или рустор.
То что вы так реагируете это как раз и подтверждает тезис, что система работает как надо. Эта сторона действует крайне топорно и выпукло, чтобы вы бурно реагировали, желательно каждый день, и ни на что другое внимания не обращали.
Особенно на то, что бессменный резидент РФ, конгломерат полуиностранных граждан вокруг него и их иностранные партнеры - это все одна большая дружная семья которая решение принимает согласованно. Почему так быстро, массово и неизбирательно накидывают санкции на простых россиян и так аккуратно на "центры принятия решений"? Вот например отмена роуминга в канаде фактически блокировка российских мобильных номеров - это против кого санкции? И в то же время на голикову и ко санкции евросоюз ввел только спустя 9 месяцев после начала событий. Вполне комфортное время чтобы не спеша распродать все активы и вывести.
Когда надо заклятым "врагам" передаются ядерные технологии, технологии реактивных двигателей см. Rolls-Royce Nene он же Климов ВК-1 и другое. И даже граждане массово выдаются на расправу см. операция Килхол. Когда здесь наука не нужна ее по сигналу "партнеров" начинают ломать об колено. С разгоном академии и посадками ученых занятых критически важными военными разработками.
Вот вы пишите что госолигархия предала науку. А в чем логика. Зачем предавать то на чем можно было бы заработать? И зачем было выводить 300 ярд денег в страны вероятного противника из которых сейчас фактически финансируются боевые действия. Объяснить это ошибками невозможно. Это продуманная целенаправленная политика согласованная с иностранными партнерами.
Ответить вам не смогу т.к. бдительные граждане с верой в святых эльфов почистили карму.
Разрыв связей с научными учреждениями это не железный занавес?