اوراکل جاوا 24 (Java 24) را منتشر کرده است که 24 پیشنهاد بهبود JDK (JEP) را ارائه میدهد تا به توسعهدهندگان در بهبود بهرهوری و ارتقاء زبان جاوا کمک کند. این انتشار در حالی صورت میگیرد که جاوا به سیامین سالگرد خود در اواخر سال جاری نزدیک میشود.
در جلسهای توجیهی با اعضای تیم جاوا اوراکل، این گروه درباره پیشرفتهای متعدد جاوا 24، از جمله پشتیبانی بهتر از ادغام هوش مصنوعی، رمزنگاری پساکوانتومی و بهینهسازی عملکرد، صحبت کردند.
داستان جاوا 24 که در 18 مارس در کنفرانس JavaOne منتشر شد، فصل مهمی در سفر 30 ساله این زبان برنامهنویسی را نشان میدهد. با 24 JEP و بیش از 3500 بهبود کوچکتر، این آخرین نسخه نوآوریهایی را در ویژگیهای زبان، کتابخانهها و بهبود عملکرد به ارمغان میآورد.
جورج ساب، معاون ارشد پلتفرم جاوا اوراکل و رئیس هیئت حاکمه OpenJDK، به The New Stack گفت: «آمارها قوی هستند، هیجان اطراف جاوا بهتر از همیشه است... هیچکس لزوماً پیشبینی نمیکرد که این مسیری است که ما در حال نزدیک شدن به سیامین سالگرد خود خواهیم بود.»
JEPهای مورد علاقه
همانطور که از دورهی شش ماههی فعلی برای نسخههای اصلی جاوا انتظار داریم، جاوا 24 کار بزرگی را در پیشبرد زبان با سرعت ثابت انجام میدهد و چندین پیشرفت را که در طول چرخههای انتشار گذشته در پسزمینه «در حال پختن» بودهاند، تقویت میکند. این را برد شیمین، معاون و سرپرست تمرین در گروه Futurum، گفت.
او به The New Stack گفت: «در حالی که JEPهای جالب زیادی برای انتخاب وجود دارد، من فکر میکنم یکی از جالبترین آنها JEP 483 است: بارگیری و پیوند کلاس پیش از موعد. من این را دوست دارم زیرا همچنان ما را به سرعت کد بومی برای زمانهای راهاندازی جاوا نزدیکتر میکند. ما این تمرکز یکسان بر بهینهسازی عملکرد را به منظور دستیابی به مقیاس بیشتر با هزینه کمتر به طور گسترده در سراسر چشمانداز فناوری مشاهده میکنیم... و به دلیل خوبی.
همانطور که جنسن هوانگ، مدیر عامل Nvidia، چند لحظه پیش در سخنرانی اصلی خود در GTC گفت، هر مرکز دادهای در آینده با محدودیت انرژی مواجه خواهد شد. اگر میخواهید بدانید که شما به عنوان یک شرکت چقدر میتوانید درآمد کسب کنید، فقط باید به میزان انرژی موجود در مرکز داده خود نگاه کنید.»
JEP 483: بارگیری و پیوند کلاس پیش از موعد: به توسعهدهندگان کمک میکند تا با در دسترس قرار دادن فوری کلاسهای یک برنامه در حالت بارگیری و پیوند شده در هنگام شروع به کار ماشین مجازی HotSpot Java، بهرهوری را افزایش داده و زمان راهاندازی را بهبود بخشند، اوراکل در بیانیهای اعلام کرد. این ویژگی نیازی به استفاده از ابزارهای jlink یا jpackage ندارد و نیازی به هیچ تغییری در نحوه شروع برنامهها از خط فرمان یا هیچ تغییری در کد برنامهها، کتابخانهها یا فریمورکها ندارد. در نتیجه، به ایجاد پایهای برای بهبودهای مداوم در زمان راهاندازی و گرم شدن کمک میکند.
ویژگیهای جدید زبان و کتابخانهها
در همین حال، ویژگیهای جدید زبان شامل انواع ابتدایی در الگوها، بدنههای سازنده انعطافپذیر، اعلانات واردات ماژول و فایلهای منبع ساده برای مبتدیان است.
به عنوان مثال، JEP 488: انواع ابتدایی در الگوها، instanceof و switch در دومین نسخه پیشنمایش خود قرار دارد. این JEP به توسعهدهندگان کمک میکند تا با یکنواختتر و رسا کردن زبان، بهرهوری برنامهنویسی جاوا را افزایش دهند. این ویژگی به توسعهدهندگان کمک میکند تا با حذف محدودیتهای مربوط به انواع ابتدایی که توسعهدهندگان هنگام استفاده از تطبیق الگو، instanceof و switch با آن مواجه میشوند، تطبیق الگو را بهبود بخشند. همچنین به الگوهای نوع ابتدایی در همه زمینههای الگو اجازه میدهد، instanceof را گسترش میدهد و سوئیچها را برای کار با همه انواع ابتدایی تغییر میدهد. اوراکل در بیانیهای اعلام کرد که توسعهدهندگان برنامههای کاربردی که استنتاج هوش مصنوعی را ادغام میکنند، به ویژه از پشتیبانی از انواع ابتدایی بهرهمند خواهند شد.
در همین حال، ویژگیهای جدید کتابخانههای جاوا شامل APIهای Stream Gatherers، Class-File API و بهبودهای Vector API است که به نفع استنتاج هوش مصنوعی است.
JEP 485: Stream Gatherers، به توسعهدهندگان کمک میکند تا با بهبود Stream API برای پشتیبانی از عملیات میانی سفارشی، که به خطوط لوله جریانی اجازه میدهد تا دادهها را به روشهایی تبدیل کنند که به راحتی با عملیات میانی داخلی موجود قابل دستیابی نیستند، در خواندن، نوشتن و نگهداری کد جاوا کارآمدتر شوند.
ریچارد فیچتنر، مدیر عامل XDEV Software GmbH، در بیانیهای گفت: «جاوا 24 Stream Gatherers را معرفی میکند، یک پیشرفت قدرتمند که به توسعهدهندگان کنترل دقیقی بر نحوه گروهبندی و پردازش عناصر در جریانها میدهد. این باعث میشود که تبدیل دادههای پیچیده رسا و کارآمدتر شود. من این ویژگی را دوست دارم زیرا راهکارهایی مانند جمعآوریکنندههای سفارشی یا ژیمناستیک flatMap را حذف میکند و امکان خطوط لوله جریانی خواناتر و قابل نگهداریتر را فراهم میکند.»
«هوش مصنوعی دیگر قدیمی شده»
در حالی که هوش مصنوعی اخیراً بر بحثهای فناوری تسلط داشته است، معماران جاوا در حال حاضر به آینده نگاه میکنند. دونالد اسمیت، معاون مدیریت محصول در اوراکل، در مصاحبهای گفت: «هوش مصنوعی دیگر قدیمی شده. بیایید درباره رمزنگاری پساکوانتومی (PQC) صحبت کنیم. این موضوع داغ جدید است.»
این رویکرد آیندهنگر به نشان تجاری جاوا تبدیل شده است، به طوری که مهندسان در حال حاضر الگوریتمهای رمزنگاری مقاوم در برابر کوانتوم را برای آماده شدن برای آیندهای که در آن روشهای سنتی منسوخ میشوند، پیادهسازی میکنند.
اسمیت گفت که مدیران ارشد اطلاعات و افسران امنیتی به طور فزایندهای میپرسند: «آیا میتوانیم به جاوا برای ارائه راهحلی تکیه کنیم زمانی که منسوخ شدن طرحهای رمزنگاری سنتی اجباری شود؟» پاسخ اوراکل از تجربه ناشی میشود: آنها با موفقیت انتقالات مشابه را با TLS 1.3 پشت سر گذاشتند و در حال به کارگیری آن درسها در امنیت پساکوانتومی هستند، او خاطرنشان کرد.
PQC و امنیت بیشتر
در واقع، JEP 478: API تابع اشتقاق کلید یک ویژگی جدید در پیشنمایش است که به توسعهدهندگان کمک میکند تا با ارائه امنیت رمزنگاری برای دادهها در حال انتقال، برای محیطهای محاسباتی کوانتومی ظهور آماده شوند. این امر محرمانگی و یکپارچگی ارتباطات را بهبود میبخشد.
برنارد تراورسات، معاون توسعه نرمافزار برای پلتفرم جاوا (زبان، JVM، کتابخانهها، امنیت/آسیبپذیری، رابط کاربری، تعبیه شده)، در اوراکل، به The New Stack گفت: «در JEP 478، ما یک API جدید برای مقابله با تابع اشتقاق در الگوریتمهای رمزنگاری معرفی میکنیم. بنابراین اساساً، هدف این است که شما را در مورد تابع کالیبراسیون مبتنی بر HMAC [کد احراز هویت پیام مبتنی بر هش] آگاه کنیم. این نوع استاندارد در حال بیرون آمدن است که افرادی که در فضای PQC هستند اکنون به مکانیسمهای بنیادی برای پیادهسازی پروتکل نگاه میکنند که در حال حاضر مجموعه اولیه پروتکلهای رمزنگاری است که توسط IETF [کارگروه مهندسی اینترنت] قرار داده میشوند.»
علاوه بر این، از دیدگاه تجاری، روشی که رمزنگاری در سه یا چهار سال گذشته در این مرحله پیادهسازی شده است شامل تولید کلیدهای خصوصی بوده است، اسمیت خاطرنشان کرد.
او گفت: «کاری که این JEP انجام میدهد این است که به شما امکان میدهد کلیدهای مقاوم در برابر کوانتوم یا کلیدهایی را که برای الگوریتمهای مقاوم در برابر کوانتوم به آنها نیاز دارید، تولید کنید. و بنابراین به طور کلی به معنای کلیدهای بزرگتر است که حدس زدن و مرتبط کردن آنها سختتر است... و همانطور که برنارد اشاره کرد، نهادهای استاندارد مختلف و گروههای بینالمللی که در مورد این چیزها بحث میکنند. و این پیادهسازی ما از آن است.»
سایر پیشرفتهای امنیتی، علاوه بر ویژگیهای جدید رمزنگاری مقاوم در برابر کوانتوم در API تابع اشتقاق کلید، شامل مکانیسم کپسولهسازی کلید مبتنی بر شبکه ماژول و الگوریتم امضای دیجیتال است.
30 سال جوان
آرنال دایاراتنا، معاون تحقیقات توسعه نرمافزار در IDC، در بیانیهای گفت: «همانطور که جاوا به سیامین سالگرد خود در اواخر سال جاری نزدیک میشود، به گسترش مجموعه ابزارهای خود برای رفع نیازهای در حال تحول توسعهدهندگان، از جمله قابلیتهایی که از توسعه برنامههای کاربردی مبتنی بر هوش مصنوعی پشتیبانی میکنند، ادامه میدهد. طیف گستردهای از قابلیتها در نسخه جدید به افزایش بهرهوری توسعهدهندگان کمک میکند و آنها را قادر میسازد تا برنامههای کاربردی غنی از ویژگیها را سریعتر و کارآمدتر به سازمانها و مشتریان خود ارائه دهند. انتشار جاوا 24 تأکید میکند که جاوا برای توسعه برنامههای کاربردی در مقیاس سازمانی، ماموریتی و حیاتی بینظیر است.»
هولگر مولر، تحلیلگر Constellation Research، گفت که جاوا 30 ساله میشود و مانند بسیاری از افراد 30 ساله واقعی دیگر مانند یک فرد 20 ساله سرکش نیست، اما یک دولتمرد «مسن» نیز نیست.
او به The New Stack گفت: «مانند یک فرد 30 ساله، با افزودن ویژگیهای زبان، کتابخانههای جدید، ابزارها، بهروزرسانیهای زمان اجرا و انیمیشنهای کد منبع، کاملاً آگاه است. اما با افزودن بردارهای هوش مصنوعی خستهکننده نیست و با افزودن شبکههای مقاوم در برابر کوانتوم مسئولیتپذیر است. جاوا با این بهروزرسانی در دهه 30 و بعد از آن فعال خواهد بود.»