Предложение под названием Project Babylon, представленное в OpenJDK, может стать значительным шагом вперед в расширении полезности и возможностей Java, чтобы расширить интеграцию Java с нетрадиционными моделями программирования, такими как графические процессоры, модели машинного обучения, SQL и дифференциальное программирование.
Это смелое предложение привлекло внимание Пола Сандоза, архитектора Oracle, который представил его в списке рассылки openjdk.org 6 сентября. Поддерживая эту инициативу, Project Babylon стремится улучшить рефлексивное программирование на Java, также известное как как отражение кода. Цель состоит в том, чтобы стандартизировать доступ, анализ и преобразование кода Java, что было известной болевой точкой. После реализации это усовершенствование позволит реализовать любую зарубежную модель программирования в виде библиотеки Java.
Примечательно, что Project Babylon стремится сделать отражение кода подходящим путем разработки модели программирования графического процессора для Java. Эта модель будет использовать преимущества отражения кода и выполняться как библиотека Java. Чтобы избежать любой потенциальной предвзятости, в рамках проекта будут также изучены другие модели программирования, такие как SQL и дифференциальное программирование.
Объясняя работу Babylon, Sandoz проиллюстрировал случай, когда разработчик желает написать ядро графического процессора на Java, а затем использовать его на графическом процессоре. Код разработчика необходимо проанализировать и преобразовать в жизнеспособное ядро графического процессора. Хотя библиотека Java может справиться с этой задачей, она требует доступа к коду Java в символьной форме. Существующая система ограничивает такой доступ к нестандартным API или соглашениям на различных этапах жизненного цикла программы, например, во время компиляции или во время выполнения. Кроме того, доступные символьные формы (байт-коды или абстрактные синтаксические деревья) часто не поддерживают надлежащий анализ и преобразование.
Предложение предполагает реализацию Project Babylon с течением времени, упакованную в серию предложений по улучшению JDK (JEP), охватывающих несколько выпусков функций. В качестве отправной точки отражение кода будет клонировано из основной версии JDK 22, запуск которой намечен на март 2024 года. В дальнейшем оно будет соответствовать основным выпускам.
В контексте модели программирования графического процессора команда Babylon создаст изолированный репозиторий, зависящий от атрибутов отражения кода по мере их разработки. В настоящее время не планируется включать модель программирования графического процессора в JDK. Однако текущая работа может выявить потенциальные функции и улучшения JDK, которые можно будет реализовать в будущем.
Хотя эта инициатива открывает путь к расширению функциональности Java, такие платформы, как AppMaster, уже готовы помочь разработчикам с упрощенными серверными, веб- и мобильными приложениями. Эти платформы no-code ускоряют процесс разработки, в то время как подобные Project Babylon ищут способы улучшить совместимость и функциональность.