Привет, друзья! Наверное, все практикующие программисты время от времени хотят улучшить свой повседневный инструмент — язык программирования. Существует множество способов, как это можно сделать. В случае Java, один из них — это Project Amber.
У меня очень много свободного времени, поэтому я начну издалека. Как вообще можно улучшить ваш язык програаммирования? Ну, способов несколько:
Что я вообще захотел добавить в язык Java? Короткий ответ — Either monad — https://medium.freecodecamp.org/a-survival-guide-to-the-either-monad-in-scala-7293a680006.
Почему я вообще решил попробовать это сделать? Ответов, на самом деле, несколько:
В общем, я решил попробовать добавить Either в язык. Ну, либо узнать, почему это невозможно сделать.
Небольшое отступление. Как вы, наверное, знаете, в Java-мире есть несколько крупных Проектов, в каждом из которых решается какая-то большая задача языка или виртуальной машины:
Собственно, добавление в java монады Either — это ровно Project Amber. Ведь это чисто языковая фича, никак не связанная с виртуальной машиной.
Перед тем, как создавать JEP, нужно провалидировать свою идею. Для этого, вам нужно зарегистрироваться в email рассылки проекта Amber — https://mail.openjdk.java.net/mailman/listinfo/amber-dev. Далее, вы можете предложить свою идею, отправив вопрос на почту — amber-dev@openjdk.java.net.
Вот вопрос про добавление Either — https://mail.openjdk.java.net/pipermail/amber-dev/2019-April/004291.html. Как вы можете видеть, там дан отказ. Причем, ответил один из главных Архитекторов по разработке Java языка — Brian Goetz.
Причины отказа:
Что же. Отказ — это тоже результат. Вполне мог быть и игнор, что ещё хуже. В любом случае, мы хотя бы узнали официальную позицию Архитекторов, и теперь можно жить с этим знанием дальше. Из положительного — получилось увидеть чучуть лучше, как устроен процесс разработки Языка, что тоже очень интересно.
Категории: Программирование