জাভার ইউটিলিটি এবং নাগালের সম্প্রসারণের ক্ষেত্রে একটি উল্লেখযোগ্য পদক্ষেপ কি হতে পারে, প্রোজেক্ট ব্যাবিলন নামে একটি প্রস্তাব ওপেনজেডিকে-তে চালু করা হয়েছে যাতে জাভার অপ্রচলিত প্রোগ্রামিং মডেল যেমন জিপিইউ, মেশিন লার্নিং মডেল, এসকিউএল, এবং ডিফারেনশিয়াল প্রোগ্রামিং-এর সাথে সম্প্রসারিত হয়।
এই সাহসী প্রস্তাবটি ওরাকলের একজন স্থপতি পল স্যান্ডোজের দ্বারা লাইম-লাইটে আনা হয়েছিল, যিনি এটিকে 6 সেপ্টেম্বর openjdk.org মেইলিং তালিকায় প্রবর্তন করেছিলেন। এই উদ্যোগকে ব্যাক আপ করে, প্রজেক্ট ব্যাবিলনের লক্ষ্য জাভাতে প্রতিফলিত প্রোগ্রামিং উন্নত করা। কোড প্রতিফলন হিসাবে। লক্ষ্য হল অ্যাক্সেস, বিশ্লেষণ এবং জাভা কোডকে রূপান্তরিত করা, যা একটি পরিচিত ব্যথা বিন্দু। একবার উপলব্ধি করা গেলে, বর্ধিতকরণটি জাভা লাইব্রেরি হিসাবে যেকোনো বিদেশী প্রোগ্রামিং মডেল বাস্তবায়নের অনুমতি দেবে।
উল্লেখযোগ্যভাবে, প্রজেক্ট ব্যাবিলন জাভার জন্য একটি GPU প্রোগ্রামিং মডেল তৈরি করে কোড প্রতিফলনকে উপযোগী করে তোলার লক্ষ্য রাখে। এই মডেলটি কোড প্রতিফলনের সুবিধাগুলি ব্যবহার করবে এবং একটি জাভা লাইব্রেরি হিসাবে কার্যকর করা হবে। কোনো সম্ভাব্য পক্ষপাত এড়াতে, প্রকল্পটি এসকিউএল এবং ডিফারেনশিয়াল প্রোগ্রামিংয়ের মতো অন্যান্য প্রোগ্রামিং মডেলগুলিও অন্বেষণ করবে।
ব্যাবিলনের কাজ ব্যাখ্যা করে, স্যান্ডোজ একটি উদাহরণ চিত্রিত করেছেন যেখানে একজন বিকাশকারী জাভাতে একটি GPU কার্নেল লিখতে এবং তারপর এটি একটি GPU-তে পরিচালনা করতে চায়। বিকাশকারীর কোড বিশ্লেষণ করা এবং একটি কার্যকর GPU কার্নেলে রূপান্তরিত করা প্রয়োজন। যদিও একটি জাভা লাইব্রেরি এটি পরিচালনা করতে পারে, এটির জন্য প্রতীকী আকারে জাভা কোডে অ্যাক্সেস প্রয়োজন। বর্তমান সিস্টেম প্রোগ্রামের জীবনচক্রের বিভিন্ন পর্যায়ে নন-স্ট্যান্ডার্ড API বা কনভেনশনগুলিতে এই ধরনের অ্যাক্সেস সীমিত করে, যেমন কম্পাইল টাইম বা রান টাইম। এছাড়া, উপলব্ধ সিম্বলিক ফর্ম (বাইটকোড বা বিমূর্ত সিনট্যাক্স ট্রি) প্রায়ই সঠিক বিশ্লেষণ এবং রূপান্তর সমর্থন করে না।
প্রস্তাবটি সময়ের সাথে সাথে প্রজেক্ট ব্যাবিলনের বাস্তবায়নের কল্পনা করে, একাধিক বৈশিষ্ট্য প্রকাশের উপর প্রসারিত JDK এনহ্যান্সমেন্ট প্রপোজাল (JEP) এর একটি সিরিজে প্যাকেজ করা হয়েছে। একটি সূচনা বিন্দু হিসাবে, কোডের প্রতিফলন JDK 22 এর মেইনলাইন রিলিজ থেকে ক্লোন করা হবে, যা মার্চ 2024-এ লঞ্চ হতে সেট করা হয়েছে। অতঃপর, এটি মেইনলাইন রিলিজগুলি মেনে চলবে।
GPU প্রোগ্রামিং মডেলের প্রেক্ষাপটে, ব্যাবিলনের পিছনের স্কোয়াডটি বিকাশের সাথে সাথে কোড প্রতিফলন বৈশিষ্ট্যগুলির উপর নির্ভরশীল একটি বিচ্ছিন্ন সংগ্রহস্থল তৈরি করবে। বর্তমানে, JDK-তে GPU প্রোগ্রামিং মডেল অন্তর্ভুক্ত করার কোনো পরিকল্পনা নেই। যাইহোক, চলমান কাজ সম্ভাব্য JDK বৈশিষ্ট্য এবং বর্ধিতকরণ সনাক্ত করতে পারে যা ভবিষ্যতে মোকাবেলা করা যেতে পারে।
যদিও এই উদ্যোগটি জাভার কার্যকারিতা প্রসারিত করার পথ প্রশস্ত করে, AppMaster মতো প্ল্যাটফর্মগুলি ইতিমধ্যেই সরলীকৃত ব্যাকএন্ড, ওয়েব এবং মোবাইল অ্যাপ্লিকেশনগুলির সাহায্যে বিকাশকারীদের সাহায্য করে। এই no-code প্ল্যাটফর্মগুলি উন্নয়ন প্রক্রিয়াকে ত্বরান্বিত করে যখন প্রজেক্ট ব্যাবিলনের পছন্দগুলি সামঞ্জস্য এবং কার্যকারিতা বাড়ানোর উপায় খুঁজছে।