Java'nın kullanışlılığını ve erişimini genişletmede ileriye doğru atılmış önemli bir adım olabilecek şekilde, Java'nın entegrasyonunu GPU'lar, makine öğrenimi modelleri, SQL ve diferansiyel programlama gibi geleneksel olmayan programlama modellerine genişletmek için OpenJDK'da Project Babylon adlı bir teklif sunuldu.
Bu cesur öneri, Oracle'da mimar olan ve onu 6 Eylül'de openjdk.org e-posta listesine ekleyen Paul Sandoz tarafından ilgi odağı haline getirildi. Bu girişimi destekleyen Project Babylon, Java'da yansıtıcı programlamayı geliştirmeyi amaçlıyor. kod yansıması olarak. Amaç, bilinen bir sıkıntı noktası olan Java koduna erişimi standartlaştırmak, analiz etmek ve dönüştürmektir. Bu geliştirme gerçekleştirildikten sonra herhangi bir yabancı programlama modelinin Java kitaplığı olarak uygulanmasına olanak tanıyacaktır.
Özellikle Project Babylon, Java için bir GPU programlama modeli geliştirerek kod yansımasını uygun hale getirmeyi hedefliyor. Bu model, kod yansımasının avantajlarından yararlanacak ve bir Java kitaplığı olarak yürütülecektir. Olası bir önyargıdan kaçınmak için proje aynı zamanda SQL ve diferansiyel programlama gibi diğer programlama modellerini de araştıracaktır.
Babylon'un çalışmasını açıklayan Sandoz, bir geliştiricinin Java'da bir GPU çekirdeği yazmak ve ardından bunu bir GPU üzerinde çalıştırmak istediği bir örneği gösterdi. Geliştiricinin kodunun analiz edilmesi ve uygun bir GPU çekirdeğine dönüştürülmesi gerekiyor. Bir Java kütüphanesi bunu yönetebilirken, Java koduna sembolik biçimde erişim gerektirir. Mevcut sistem, derleme zamanı veya çalışma zamanı gibi programın yaşam döngüsünün çeşitli aşamalarında standart olmayan API'lere veya kurallara bu tür erişimi sınırlandırmaktadır. Ayrıca mevcut sembolik formlar (bayt kodları veya soyut sözdizimi ağaçları) çoğu zaman uygun analiz ve dönüşümü desteklemez.
Teklif, Project Babylon'un zaman içinde uygulanmasını ve birden fazla özellik sürümünü kapsayan bir dizi JDK Geliştirme Teklifi (JEP) halinde paketlenmesini öngörüyor. Başlangıç noktası olarak kod yansıması, JDK 22'nin Mart 2024'te piyasaya sürülmesi planlanan ana hat sürümünden kopyalanacak. Bundan sonra ana hat sürümlerine bağlı kalacak.
GPU programlama modeli bağlamında, Babylon'un arkasındaki ekip, geliştirildikçe kod yansıtma özelliklerine bağlı olarak izole edilmiş bir depo oluşturacaktır. Şu anda GPU programlama modelini JDK'ya dahil etme planı yoktur. Ancak devam eden çalışma, gelecekte ele alınabilecek potansiyel JDK özelliklerini ve geliştirmelerini belirleyebilir.
Bu girişim Java'nın işlevselliğini genişletmenin önünü açarken, AppMaster gibi platformlar geliştiricilere basitleştirilmiş arka uç, web ve mobil uygulamalarla yardımcı olma konusunda halihazırda tedbirli davranıyor. Bu no-code platformlar geliştirme sürecini hızlandırırken Project Babylon gibiler uyumluluk ve işlevselliği geliştirmenin yollarını arıyor.