Size: a a a

2018 July 20

ПФ

Паша Финкельштейн in graalvm_ru
JBaruch 🎩
всем Groovy AST Transformations, посоны. Не ругайтесь.
Ты знаешь что в идее structural search and replace на груви работает и по нему нету доки нормальной? К груви доверия нет!
источник

J🎩

JBaruch 🎩 in graalvm_ru
Паша Финкельштейн
Ты знаешь что в идее structural search and replace на груви работает и по нему нету доки нормальной? К груви доверия нет!
ты перепутал, это к идее доверия нет!
источник

ПФ

Паша Финкельштейн in graalvm_ru
JBaruch 🎩
ты перепутал, это к идее доверия нет!
Не, если бы оно было написано на нормальном (ТМ) языке - дока бы была
источник

NK

ID:414983998 in graalvm_ru
вы еще назовите синтаксический сахар - кодогенерацией, этап парсинга и генерации AST - кодогенерация. Когда я говорю про кодогенерацию я имею ввиду, что это делает не компилятор а отдельная тулза (например go generate) и все это отвязано от семантики языка
источник

J🎩

JBaruch 🎩 in graalvm_ru
ID:414983998
вы еще назовите синтаксический сахар - кодогенерацией, этап парсинга и генерации AST - кодогенерация. Когда я говорю про кодогенерацию я имею ввиду, что это делает не компилятор а отдельная тулза (например go generate) и все это отвязано от семантики языка
a, так jax-b для SOAP в J2EE есть!
источник

ПФ

Паша Финкельштейн in graalvm_ru
ID:414983998
вы еще назовите синтаксический сахар - кодогенерацией, этап парсинга и генерации AST - кодогенерация. Когда я говорю про кодогенерацию я имею ввиду, что это делает не компилятор а отдельная тулза (например go generate) и все это отвязано от семантики языка
А, то есть когда в джаве код генерируется прямо компилятором это норм, не кодогенерация. Я спокоен, ребята
источник

NK

ID:414983998 in graalvm_ru
Не знаю где там в Java происходит кодогенерация, вам виднее)
источник

ПФ

Паша Финкельштейн in graalvm_ru
А у меня ещё вопрос. Если я генерирую не код, а байткод во время компиляции - это кодогенерация или не очень?
источник

ПФ

Паша Финкельштейн in graalvm_ru
ID:414983998
Не знаю где там в Java происходит кодогенерация, вам виднее)
Прям компилятор генерирует
источник

NK

ID:414983998 in graalvm_ru
Это транспиляция в IR
источник

ПФ

Паша Финкельштейн in graalvm_ru
ID:414983998
Это транспиляция в IR
Но я это делаю по аннотациям в моём коде
источник

ПФ

Паша Финкельштейн in graalvm_ru
С помощью библиотеки, которая позволяет генерировать валидный байткод
источник

NK

ID:414983998 in graalvm_ru
Я не знаю, плохо знаком с Java. Но не стоит путать метапрограммирование и кодогенерацию
источник

ПФ

Паша Финкельштейн in graalvm_ru
ID:414983998
Я не знаю, плохо знаком с Java. Но не стоит путать метапрограммирование и кодогенерацию
Хах. Просто в джаве можно пойти любым путём. И нет разницы между генерацией текста и бинаря по аннотациям
источник

ПФ

Паша Финкельштейн in graalvm_ru
Всё равно оно попадёт в итоговый пакет и будет работать
источник

NK

ID:414983998 in graalvm_ru
В общем, что такое кодогенерация как для меня - это двухэтапный процесс, когда у нас имеется некий шаблонизатор и директивный язык со своей семантикой, который генерит с помошью отдельной утилиты собственно сам код, который уже на втором этапе обрабатывается основным компилятором. Макросы и дженерики - это уже часть семантики основного ЯП, они управляются, валидируются и генерируются на этапе компиляции (препроцессинга)
источник

ПФ

Паша Финкельштейн in graalvm_ru
ID:414983998
В общем, что такое кодогенерация как для меня - это двухэтапный процесс, когда у нас имеется некий шаблонизатор и директивный язык со своей семантикой, который генерит с помошью отдельной утилиты собственно сам код, который уже на втором этапе обрабатывается основным компилятором. Макросы и дженерики - это уже часть семантики основного ЯП, они управляются, валидируются и генерируются на этапе компиляции (препроцессинга)
Тогда в джаве всё хорошо. Обожаю сгенерированный код
источник

ПФ

Паша Финкельштейн in graalvm_ru
Этапа там два, но утилита одна - javac
источник

ПФ

Паша Финкельштейн in graalvm_ru
А генерировать можно из чего угодно. Я, например, генерировал из написанного вручную кода, из кастомных аннотаций и из базы данных
источник

NK

ID:414983998 in graalvm_ru
Хаха
источник