موضوع مقاله: تاریخچه نگارش جاوا | مخاطب: عمومی | لحن: دانشنامه‌ای | ساختار: عنوان، مقدمه، 3 بخش، جمع‌بندی | مقاله: | # تاریخچه نگارش جاوا | مقدمه: زبان جاوا از زمان عرضهٔ جی‌دی‌کا ۱٫۰ تغییرات بیشماری را پشت سر گذاشته‌است که شامل اضافه‌شدن کلاس‌هایی به کتاب‌خانه‌ی استاندارد آن بوده‌است. | ## بخش 1: تاریخچه نگارش جاوا | ج) قرار گرفته‌است که از درخواست‌های خصوصیات جاوا (جی‌اس‌آرها) برای ارایهٔ و تعیین تغییرات صورت گرفته بر روی سکوی جاوا استفاده می‌نماید. علاوه بر تغییرات زبان، تغییرات زیادی در طول سالیان متمادی بر روی کتابخانهٔ جاوا صورت گرفته‌است. از چند صد کلاس در جاوا ۱٫۰ به بیش از هزاران کلاس در جاوای نگارش استاندارد ۵٫۰ رسیده‌است. تمام رابط‌های برنامه‌نویس کاربردی مانند سوینگ و جاوای دوبعدی به جاوا اضافه شده و بسیاری از کلاس‌های جی‌دی‌کا ۱٫۰ بازنشسته شده‌اند. برخی از برنامه به کابرانش این اجازه را می‌دهد تا برنامه‌ها را از یک نگارش سکوی جاوا به نگارش‌های قدیمی‌تر تبدیل نمایند. برای مثال تبدیل برنامه‌ایی از جاوا ۵٫۰ به جاوای نگارش ۱٫۴ که به آن عقبگرد جاوا می‌گویند. جی‌دی‌کا ۱٫۱jdk (۱ اسفند ۱۳۷۵) اضافه‌شدن‌هایی عظیمی صورت گرفت، از قبیل: پیش انتشار نگارش ۱٫۱، سان. تجهیز وسیع به مدل رویدادی ای‌دبلیوتی امکان کلاس‌های داخلی به زبان اضافه شد جاوابینز جی‌بی‌بی‌سی آرام‌آی بازتاب که با تنها از درون‌گرایی حمایت می‌نماید و هیچ تغییر در زمان اجرا ممکن نیست. این نگارش و انتشارهای بعدی بعدی آن تا زمان J2SE ۵٫۰ با نام جاوا ۲ و نامِ نگارشی J2SE (سکوی ۲ جاوا، نگارش استاندارد) برای ایجاد تمایز بین سکوی پایه از سکوی جاوا، نسخه سازمانی، سکوی جاوا، نسخه میکرو مزین گردید. کلمهٔ کلیدی strictfp رابط برنامه‌نویسی سوینگ به کلاس‌های هستهٔ جاوا اضافه شد ماشین مجازی جاوا برای اولین بار به ترجمه در زمان مجهز شد افزونه جاوا جاوا ای‌دی‌ال، زبان توصیف رابط که با همکاری کوربا پیاده‌سازی شد. ج J2SE 1.2 عرضه شد) آرام‌آی برای پشتیبانی از کوربا صدا جاوا کلاس‌های پروکسی ترکیبی جی‌ان‌دی‌آی در هسته مستقر شد (قبلاً به صورت افزونه بود) جی‌دی‌پی‌ای جی۲ اس‌ایی ۱٫۴ (۱۷ بهمن ۱۳۸۰) مرلین نام رمزی این انتشار بود. تغییران زبان assert (اعلان) به عنوان کلمهٔ کلیدی اضافه‌شد (در جی‌ای‌ار ۴۱ شرح داده شده‌است) بهبود کتابخانه زنجیره استثنا که اجازهٔ می‌هد تا یک استثنا در پایین‌ترین سطح کپسوله شود عبارات باقاعده که بعد از زبان پرل مدلسازی شد پشتیبانی از ای‌پی‌وی۶ عدم جلوگیری از ان‌ای‌او (در جی‌اس‌ار ۵۱ توصیف شده‌است) جی۲ ای‌ایی ۵٫۰ (۹ مهر ۱۳۸۳) نام رمزی ببر ، که با عدد ۱٫۵ نمایش داده می‌شود. | ## بخش 2: تاریخچه نگارش جاوا | این نگارش در تاریخ ۲۰ فروردین ۱۳۸۷ به پایان عمر خود رسید و از تاریخ ۱۲ آبان ۱۳۸۸ دیگر مورد پشتیبانی قرار نگرفت.جاوا اس‌ایی، دانلود نگارشهای قبلی جی‌دی‌کا تغییرات زیادی در ویژگی‌های زبانیِ این نگارش صورت گرفتنگارش ۱٫۵ منتشر شد. عمومی سازی: به مجموعه‌ها امکان ترجمهٔ در زمان (ایستا) را داده و اطمینان نوع را با حذف تبدیل نوع را می‌دهد. این ویژگی به زبان این امکان را می‌دهد تا سازندهٔ کلاس و متدهای به فراداده‌هایی پیوست شده که می‌توانید توسط ابزارهای خاصی مورد پردازش قرار گیرند. بهبود حلقهٔ for each : عبارت حلقهٔ for به صورت خاصی توسعه داده‌شد تا بتواند برای هر عضو از آرایه یا هر چیز قابل پیمایشی مانند مجموعه، شناسایی نموده و عملیات را بر روی آن‌ها انجام دهد. از این نگارش به بعد عبارت جی۲اس‌ایی به عبارت جاوا اس‌ایی جایگزین شد(J2SE به Java SE تبدیل شد) و از بخش عددی نگارش، «.۰» حذف شد. اگرچه روش شماره‌گذاری به منظور توسعه به همان روش سابق باقی‌ماند، ۱٫۶٫۰.نگارش ۶، جاوا وب‌نوشته، سان. نگارش کنونی که روزآمدی ۲۶م است در خرداد ۱۳۹۰ منتشر شد تغییرات عمدهٔ صورت گرفته در این نگارش عبارتند از:نگارش ۱٫۶ منتشر شد. به صورت غیررسمی روزآمدی هفتم نگارش ۶، آخرین جاوایی بود که بر روی آن‌های کار می‌کرد. هات اسپاتِ موستانگ ، وبلاگ سان پشتیبانی از جی‌دی‌بی‌سی (جی‌اس‌از ۲۲۱) بهبودهای چشمگیر در واسط گرافیکی که از آن میان می‌توان به سوینگ‌ورکر در رابط برنامه‌نویسی اشاره نمود، اعمال فیلتر و مرتب‌سازی در جداول. بهبود جی‌وی‌ام: افزایش کارایی در همزمان سازی و ترجمه و نیز ارائه یک الگوریتم جدید به همراه بهینه‌سازی زباله‌جمع کن از دیگر بهبود سازی‌های صورت گرفته بود. زمان توسعه در ۱۳ مرحلهٔ اساسی تقسیم شد، که در ۲۹ بهمن ۱۳۸۹ آخرین مرحلهٔ اساسی خود را طی نمود فهرست ویژگی‌های جاوا ۷: ماشین مجازی جاوا امکان پشتیبانی از زبان برنامه‌نویسی پویا را ایجاد نمود. پیمانه‌ای نمودن جی‌دی‌کا تحت پروژه جیگ‌ساو این انتشار شامل ویژگی‌هایی بود که برای نسخهٔ ۷ برنامه‌ریزی شده اما بعداً حذف و در این نسخه منتشر شد. | ## بخش 3: تاریخچه نگارش جاوا | JSR 335 و JEP 126: شاملِ پشتیبانی در سطح زبان برایِ عبارات لامبدا که به صورت رسمی «عبارات لامبدا» نام گرفته ولی به صورت غیررسمی از آن به عنوانِ کلژور تحت پروژهٔ لامبدا یاد می‌شود. و متدهای پیشفرض (متدهای افزونهٔ مجازی) که ارث‌بری چندگانه در جاوا را ممکن می‌سازد. این موضوع موجب بحث‌هایی در جامعهٔ جاوا شد که آیا اساساً لامبدا به جاوا اضافه شود یا خیر. سان بعداً اعلام کرد که بعدا عبارات جاوا در جاوا قرار خواهد کرد و در اینباره از جامعه جاوا نظر خواهی خواهد کرد. پشتیبانی از لامبدا همچنین اجازه می‌دهد تا عملیات‌هایی تابع-مانند بر روی المان‌های مانندِ نگاشت‌کاهش که تبدیلاتی بر روی مجموعه را فراهم کرد. متدها پیش‌فرض این امکان را فراهم می‌کند که نویسندهٔ API (فاصل برنامه کمکی) متدهایی را به فاصل اضافه نماید بدون آنکه کد قبلی دستکاری شود. پیمانه‌ای نمودن جی‌دی‌کا تحت پروژه جیگ‌ساو این انتشار شامل ویژگی‌هایی بود که برای نسخهٔ 8 برنامه‌ریزی شده اما بعداً حذف و در این نسخه منتشر شد. JSR 335 و JEP 126: شاملِ پشتیبانی در سطح زبان برایِ عبارات لامبدا که به صورت رسمی «عبارات لامبدا» نام گرفته ولی به صورت غیررسمی از آن به عنوانِ کلژور تحت پروژهٔ لامبدا یاد می‌شود. و متدهای پیشفرض (متدهای افزونهٔ مجازی) که ارث‌بری چندگانه در جاوا را ممکن می‌سازد. این موضوع موجب بحث‌هایی در جامعهٔ جاوا شد که آیا اساساً لامبدا به جاوا اضافه شود یا خیر. سان بعداً اعلام کرد که بعدا عبارات جاوا در جاوا قرار خواهد کرد و در اینباره از جامعه جاوا نظر خواهی خواهد کرد. پشتیبانی از لامبدا همچنین اجازه می‌دهد تا عملیات‌هایی تابع-مانند بر روی المان‌های مانندِ نگاشت‌کاهش که تبدیلاتی بر روی مجموعه را فراهم کرد. | ## جمع‌بندی | متدها پیش‌فرض این امکان را فراهم می‌کند که نویسندهٔ API (فاصل برنامه کمکی) متدهایی را به فاصل اضافه نماید بدون آنکه کد قبلی دستکاری شود.