فيما يمكن أن يكون خطوة مهمة إلى الأمام في توسيع نطاق فائدة Java ومدى وصولها، تم تقديم اقتراح يسمى Project Babylon في OpenJDK لتوسيع تكامل Java ليشمل نماذج البرمجة غير التقليدية مثل وحدات معالجة الرسومات، ونماذج التعلم الآلي، وSQL، والبرمجة التفاضلية.
تم تسليط الضوء على هذا الاقتراح الجريء من قبل بول ساندوز، وهو مهندس معماري في شركة أوراكل، والذي قدمه إلى القائمة البريدية openjdk.org في 6 سبتمبر. ودعمًا لهذه المبادرة، يهدف مشروع بابل إلى تحسين البرمجة الانعكاسية في جافا، والمعروفة أيضًا كانعكاس للكود. الهدف هو توحيد الوصول إلى كود Java وتحليله وتحويله، وهو ما يمثل نقطة ضعف معروفة. بمجرد تحقيق ذلك، سيسمح التحسين بتنفيذ أي نموذج برمجة أجنبي كمكتبة جافا.
والجدير بالذكر أن مشروع Babylon يهدف إلى جعل انعكاس التعليمات البرمجية مناسبًا من خلال تطوير نموذج برمجة GPU لـ Java. سيستفيد هذا النموذج من مزايا انعكاس التعليمات البرمجية وسيتم تنفيذه كمكتبة Java. ولتجنب أي تحيز محتمل، سيستكشف المشروع أيضًا نماذج برمجة أخرى مثل SQL والبرمجة التفاضلية.
أثناء شرح عمل Babylon، أوضح Sandoz مثالًا حيث يرغب أحد المطورين في كتابة نواة GPU بلغة Java ثم تشغيلها على GPU. يحتاج كود المطور إلى التحليل وتحويله إلى نواة GPU قابلة للحياة. على الرغم من أن مكتبة Java يمكنها إدارة ذلك، إلا أنها تتطلب الوصول إلى كود Java في شكل رمزي. يحد النظام الحالي من هذا الوصول إلى واجهات برمجة التطبيقات أو الاتفاقيات غير القياسية في مراحل مختلفة من دورة حياة البرنامج، مثل وقت الترجمة أو وقت التشغيل. علاوة على ذلك، فإن الأشكال الرمزية المتاحة (الرموز الثانوية أو أشجار بناء الجملة المجردة) لا تدعم في كثير من الأحيان التحليل والتحويل المناسبين.
يتصور الاقتراح تنفيذ مشروع Babylon بمرور الوقت، ويتم تجميعه في سلسلة من مقترحات تحسين JDK (JEP) الممتدة على إصدارات ميزات متعددة. كنقطة بداية، سيتم استنساخ انعكاس التعليمات البرمجية من الإصدار الرئيسي لـ JDK 22، المقرر إطلاقه في مارس 2024. ومن الآن فصاعدًا، سوف يلتزم بالإصدارات الرئيسية.
في سياق نموذج برمجة GPU، سيقوم الفريق الذي يقف وراء Babylon بإنشاء مستودع معزول يعتمد على سمات انعكاس التعليمات البرمجية أثناء تطويرها. في الوقت الحالي، لا توجد خطة لدمج نموذج برمجة GPU في JDK. ومع ذلك، يمكن للعمل الجاري تحديد ميزات وتحسينات JDK المحتملة التي يمكن التعامل معها في المستقبل.
في حين أن هذه المبادرة تمهد الطريق لتوسيع وظائف Java، فإن الأنظمة الأساسية مثل AppMaster توفر بالفعل مساعدة للمطورين من خلال تطبيقات الواجهة الخلفية والويب والهاتف المحمول المبسطة. تعمل هذه الأنظمة no-code على تسريع عملية التطوير بينما تبحث أمثال Project Babylon عن طرق لتحسين التوافق والوظائف.