W OpenJDK wprowadzono propozycję o nazwie Project Babylon, która może stanowić znaczący krok naprzód w rozszerzaniu użyteczności i zasięgu języka Java, w celu rozszerzenia integracji Java na niekonwencjonalne modele programowania, takie jak procesory graficzne, modele uczenia maszynowego, SQL i programowanie różnicowe.
Ta odważna propozycja została nagłośniona przez Paula Sandoza, architekta w Oracle, który 6 września umieścił ją na liście mailingowej openjdk.org. Wspierając tę inicjatywę, Project Babylon ma na celu ulepszenie programowania refleksyjnego w Javie, znanego również jako odbicie kodu. Celem jest standaryzacja dostępu, analizowanie i przekształcanie kodu Java, co było znanym problemem. Po wdrożeniu ulepszenie umożliwiłoby implementację dowolnego obcego modelu programowania jako biblioteki Java.
W szczególności celem projektu Babylon jest zapewnienie odpowiedniej refleksji kodu poprzez opracowanie modelu programowania procesora graficznego dla języka Java. Model ten wykorzystałby zalety odbicia kodu i byłby wykonywany jako biblioteka Java. Aby uniknąć potencjalnych stronniczości, w ramach projektu zbadane zostaną także inne modele programowania, takie jak SQL i programowanie różnicowe.
Wyjaśniając działanie Babylon, Sandoz zilustrował przykład, w którym programista chce napisać jądro GPU w Javie, a następnie obsługiwać je na GPU. Kod programisty musi zostać przeanalizowany i przekształcony w działające jądro GPU. Chociaż biblioteka Java mogłaby sobie z tym poradzić, wymaga dostępu do kodu Java w formie symbolicznej. Obecny system ogranicza taki dostęp do niestandardowych interfejsów API lub konwencji na różnych etapach cyklu życia programu, takich jak czas kompilacji lub czas wykonania. Poza tym dostępne formy symboliczne (kody bajtowe lub abstrakcyjne drzewa składni) często nie obsługują właściwej analizy i transformacji.
Propozycja przewiduje realizację Projektu Babylon w miarę upływu czasu, ujętą w serię propozycji ulepszeń JDK (JEP) obejmujących wiele wydań funkcji. Na początek odbicie kodu zostanie sklonowane z głównego wydania JDK 22, które ma zostać wydane w marcu 2024 r. Odtąd będzie zgodne z głównymi wydaniami.
W kontekście modelu programowania GPU zespół odpowiedzialny za Babylon stworzyłby izolowane repozytorium oparte na atrybutach odbicia kodu w miarę ich opracowywania. Obecnie nie ma planu włączenia modelu programowania GPU do JDK. Jednakże trwające prace pozwolą zidentyfikować potencjalne funkcje i ulepszenia JDK, którymi można będzie zająć się w przyszłości.
Chociaż inicjatywa ta toruje drogę do rozszerzenia funkcjonalności Java, platformy takie jak AppMaster już teraz pomagają programistom w tworzeniu uproszczonych aplikacji backendowych, internetowych i mobilnych. Te platformy no-code przyspieszają proces programowania, podczas gdy projekty takie jak Project Babylon szukają sposobów na zwiększenie kompatybilności i funkcjonalności.