Для тех, кого заинтересовала тема настоящей, цельной, как сгущеное молоко, компиляции java/python/js, рекомендую чат
Есть пара русскоязычных докладчиков, которых тяжело уже слушать на русском и намного интереснее на английском: Витя Гамов и, видимо, Олег Шелаев
Вы можете из java-кода, доставать инфу о том, в каком мы сейчас контексте: рантайм или период компиляции
Штука полезная, но опасная, может начать расползаться по коду, как макросы в C
Также случилось непреодолимое желание собрать ignite и запустить, отличная байда с кучей модулей
Остается один большой вопрос: че там с версиями java/graal vm, там такие же условия жесткого лицензирования, или какой-то свой форк/сборка jvm
Спикер - Никита Коваль работает в JB вместе с Елизарычем над корутинами, ему можно доверять
В качестве примера предлагается написать свой канал: мини-kafka эдакая
Оказывается, в go, горутины как обычно реализованы наивно, через блокировки
Я с go не работал, но замечал, что внутренности php, python, go, такие как vm, gc, concurrency сделаны на уровне 5-классника
Их создатели порой вообще не знают про неблокирующие алгоритмы и продвинутые методы сборки мусора
В целом вся вот эта наша shared memory де-факто привела к тому, что алгоритмическая/многопоточная экспертиза сообщества java/jvm на порядки выше, чем у других. Для жизни сие сложновато, а для инноваций - в самый раз
С другой стороны, kotlin работает на общее снижение интеллектуального уровня коммьюнити (вы можете быть иной позиции), в конечном итоге, мы получим язык, где что такое AtomicInteger и CAS знает только Никита Коваль, о пользователи Kotlin радостно гоняют корутины
Значительная часть алгоритма посвящена разрулированию проблем вокруг работы с каналом, например, буферизация, даст ли она прирост или нет. В целом, подобный ворох проблем всегда крутится вокруг рандеву-like систем, использующие очереди
Этого алгоритма пока нет в kotlin, потому что Никита его еще не замерджил, но perf-tests, уже сделал