Size: a a a

2021 February 09

СД

Сергей Дюков... in Ada
Alexey Veselovsky
макросы в расте прям огонь. писанины, в принципе, меньше. cargo -- огонь
Макросы в ЯП — это из за слабости изобразительных средств ЯП. На всех ЯП, за исключением СИ (тут уж никуда не денешься), нужно писать без макросов, только используя синтаксические конструкции. Макросы — это трудности при отображении исходников и страшная головная боль при отладке!
источник

AV

Alexey Veselovsky in Ada
Сергей Дюков
Макросы в ЯП — это из за слабости изобразительных средств ЯП. На всех ЯП, за исключением СИ (тут уж никуда не денешься), нужно писать без макросов, только используя синтаксические конструкции. Макросы — это трудности при отображении исходников и страшная головная боль при отладке!
Я не имею в виду сишные макросы
источник

W

Wild_Wind in Ada
Сергей Дюков
Макросы в ЯП — это из за слабости изобразительных средств ЯП. На всех ЯП, за исключением СИ (тут уж никуда не денешься), нужно писать без макросов, только используя синтаксические конструкции. Макросы — это трудности при отображении исходников и страшная головная боль при отладке!
Не, в расте нормальные макросы. Не лисп, но схоже.
источник

СД

Сергей Дюков... in Ada
Wild_Wind
Не, в расте нормальные макросы. Не лисп, но схоже.
Может быть. Я раста не знаю. Но часто в СИ++ проектах макрос на макросе сидит и макросом погоняет!
источник

AV

Alexey Veselovsky in Ada
Сергей Дюков
Может быть. Я раста не знаю. Но часто в СИ++ проектах макрос на макросе сидит и макросом погоняет!
Адские дженерики - тоже разновидность макросов, с++ шаблоны — тоже. А вот java дженерики — нет
источник

AV

Alexey Veselovsky in Ada
А си-макросы — одна из самых простых и убогих разновидностей макросов в принципе
источник

СД

Сергей Дюков... in Ada
Alexey Veselovsky
Адские дженерики - тоже разновидность макросов, с++ шаблоны — тоже. А вот java дженерики — нет
Дженерики и шаблоны это чёткие синтаксические конструкции а не макросы. Компиляторы их компилируют, а не расширяют тексты.
источник

AV

Alexey Veselovsky in Ada
макросы, в нормальном виде, оперируют таки AST например и могут учитывать типы
источник

AV

Alexey Veselovsky in Ada
и таки даже в Си у макросов есть некторые зачатки синтаксиса четкого. и даже типы они научились учитывать. но на выходе у них да -- простой текст. у сишного убожества то есть
источник

AV

Alexey Veselovsky in Ada
а не у макросов вообще
источник

W

Wild_Wind in Ada
Сергей Дюков
Может быть. Я раста не знаю. Но часто в СИ++ проектах макрос на макросе сидит и макросом погоняет!
Ну да, сишный препроцессор неоч.
Но упоротые и не такое на нём пилят:
https://github.com/Hirrolot/datatype99
источник

AV

Alexey Veselovsky in Ada
еще раз - адские дженерики подпадают под категорию макросов. это макросы и есть. это не значит, что они и сишные дефайны -- это одно и то же.
источник

AV

Alexey Veselovsky in Ada
Wild_Wind
Ну да, сишный препроцессор неоч.
Но упоротые и не такое на нём пилят:
https://github.com/Hirrolot/datatype99
хорошая аватарка у чела 🙂
источник

W

Wild_Wind in Ada
Wild_Wind
Ну да, сишный препроцессор неоч.
Но упоротые и не такое на нём пилят:
https://github.com/Hirrolot/datatype99
adt на препроцессоре!
источник

W

Wild_Wind in Ada
Alexey Veselovsky
хорошая аватарка у чела 🙂
Ага. И код хорошо упоротый.
источник

СД

Сергей Дюков... in Ada
Чистая замена фрагментов текста на другие! Обработка типов и всё прочее происходит после расширения макросов.
источник

AV

Alexey Veselovsky in Ada
Сергей Дюков
Чистая замена фрагментов текста на другие! Обработка типов и всё прочее происходит после расширения макросов.
это частный и очень узкий случай вариантов макросов
источник

AV

Alexey Veselovsky in Ada
это понятие шире и Си его не монополизировал
источник

V

V in Ada
Сергей Дюков
Чистая замена фрагментов текста на другие! Обработка типов и всё прочее происходит после расширения макросов.
Да это обсуждалось же уже. После этой обработки сишным препроцессором ide уже не в состоянии отобразить обратно в исходный текст со всеми возможностями ide
источник

V

V in Ada
Поставить точку останова, слежение за переменными и т.п. всё это в си/си++ уже не работает
источник