جاوا یک زبان برنامهنویسی سازمانی
زبان برنامهنویسی جاوا بیست و پنجمین سالگرد حضور خود در دنیای فناوری را جشن گرفت. 23 می 2020 بیست و پنج سال از زمانی میگذرد که شرکت سان مایکروسیستمز (Sun Microsystems ) برای اولین بار جاوا را به دنیا معرفی کرد. این زبان برنامهنویسی حتا با وجود رقبای قدرتمندی مثل پایتون و Go همچنان نزد سازمانها و شرکتهای بزرگ محبوب باقی مانده و توسعهدهندگان نرمافزار هنوز هم به آن وفادار هستند و به صورت گستردهای از آن استفاده میکنند. جاوا همچنان در مسیر پیشرفت قرار داد و بهطور منظم قابلیتهای کاربردی به آن اضافه میشود. همین موضوع باعث شده توسعهدهندگانی که سالیان متمادی است از جاوا استفاده میکنند تمایلی به ترک آن نداشته باشند. قابلیتهای کاربردی ارائه شده توسط این زبان به اندازهای زیاد و متنوع هستند که اجازه میدهند از جاوا برای ساخت سامانههای نرمافزاری در مقیاس بزرگ استفاده کرد.آغاز به کار جاوا با پروژه Oak همراه بود که در 23 می سال 1991 (برابر با 2 خرداد 1374) توسط جیمز گاسلینگ طراحی و معرفی شد. سایت معتبر Tiobe اعلام میدارد از سال 2001 تا به امروز جاوا همواره به عنوان اولین یا دومین زبان برنامهنویسی دنیا مطرح بوده است. در شکل 1 جایگاه و نوسان این زبان برنامهنویسی در مقایسه با سایر زبانهای برنامهنویسی در 19 سال گذشته را مشاهده میکنید. روند ساخت زبان جاوا به اوایل دهه 1990 مربوط میشود، زمانی که شرکت سان مایکروسیستمز تصمیم گرفت نسخه بهتری از زبان سی پلاسپلاس را طراحی کند. زبانی که بتوان از آن در هر مکانی استفاده کرد، برای افراد مبتدی مطلوب باشد و به مدیریت خودکار حافظه بپردازد. تحقیقات این شرکت منجر به خلق یک زبان کاملا جدید شد که نام آن از میان دهها نام پیشنهادی انتخاب شد. امروزه لوگوی جاوا به شکل فنجان قهوهای که از آن عطر دلانگیز قهوه متصاعد میشود، به نماد جهانی برنامهنویسی تبدیل شده است.
در واقع دیگر کسی نمیداند که ارتباط برنامهنویسها با کافئین قدیمیتر است یا ارتباطشان با جاوا که امروزه مترادف با قهوه است. جاوا یک زبان برنامهنویسی چندمنظوره و شیگرا است که تا حدود زیادی به C و ++C شباهت دارد، اما استفاده از آن آسانتر است و امکان ساخت برنامههایی قدرتمند با آن وجود دارد. شیگرایی در جاوا باعث شکلگیری شعاری با این مضموم شده که یک بار بنویس، همه جا اجرا کن. دلیل ویژگی فوق این است که ماشین مجازی جاوا (Java Virtual Machine) از پلتفرمهای سختافزاری و سیستمعاملهای گوناگونی پشتیبانی میکند.
اپلتهای جاوا نیز میتوانند از طریق یک صفحه وب اجرا شوند. برای چندین سال اپلتهای جاوا عملکرد بهتری را نسبت به جاوا اسکریپت ارائه میدادند، اما در نهایت با عدم استقبال سازندگان مرورگرها روبرو شدند و در سال 2018 این قابلیت از جاوا حذف شد. با تکامل جاوا و سریعتر، ایمنتر و قابل اطمینانتر شدن آن، شرکت سان یک کامپایلر Just-In-Time، کتابخانههای ثالث، کتابخانههای بانکاطلاعاتی و APIهای گرافیکی قدرتمندی به این زبان اضافه کرد. نتیجه این کار باعث شد تا زمان اجرای کدها به میزان زیادی بهبود پیدا کند. در اواخر سال 2006 جاوا به یک زبان برنامهنویسی متن باز تبدیل شد. در سال 2010 مدیریت این زبان برنامهنویسی از شرکت سان به شرکت اوراکل منتقل شد. این شرکت یک نسخه سازمانی از این زبان برنامهنویسی (Java EE) را در سال 2017 به عنوان بنیان Eclipse توسعه داد، با این حال هنوز هم نسخه استاندارد این زبان برنامهنویسی را حفظ کرده است.
بهطور کلی فناوری جاوا را میتوان به دو بستر Java SE و Java EE تقسیمبندی کرد. Java SE یک پلتفرم شامل کتابخانههای اصلی زبان برنامهنویسی جاوا است و با استفاده از آن، کاربران میتوانند برنامههای جاوای خود را برای دسکتاپ، سرورها و محیطهای جاسازی شده توسعه دهند. مولفههای این پلتفرم، شامل کیت توسعه جاوا (JDK)، محیط زمان اجرای جاوا (JRE) و رابط برنامهنویسی کاربردی (API) این پلتفرم است. کیت توسعه جاوا، شامل JRE، کامپایلرها و اشکالزداهایی است که برای توسعه اپلتها و برنامههای کاربردی نیاز هستند. Java EE به عنوان نسخه تجاری برای ساخت برنامههای وب و تجاری ارائه شد که امروزه این پلتفرم با نام J2EE شناخته میشود. با کمک این پلتفرم میتوانیم برنامههایی ایجاد کنیم که میتوانند با کلاینتهای مبتنی بر اینترنت شامل مرورگرهای وب، کلاینتهای مبتنی بر CORBA و حتا سرویسهای وب مبتنی بر REST و SOAP تعامل داشته باشد. بستر Java SE به همراه ماشین مجازی جاوا اجازه میدهد یک برنامه جاوا تولید و اجرا کنید. Java EE اجازه میدهد برنامههای نوشته شده را به روشهای گوناگون به هم متصل کنید. جاوای استاندارد بر خلاف سنوات گذشته که به ندرت سه سال یکبار منتشر میشد، حالا هر شش ماه بهروزرسانی میشود.
جاوا همچنان در حال پیشرفت است
جاوا همچنان در میان سه زبان برنامهنویسی برتر دنیا قرار دارد و با قدرت به پیشرفت ادامه میدهد. این رتبهبندی بر اساس شاخصهای محبوبیت زبانهای برنامهنویسی مشخص میشود که از جمله آنها میتوان به شاخص وبسایتهای RedMonk، Tiobe و PyPL اشاره کرد. زبان برنامهنویسی جاوا تا قبل از اینکه جایگاهش توسط زبان C گرفته شود به مدت 5 سال به عنوان بهترین زبان برنامهنویسی توسط سایت Tiobe شناخته میشد. دلیل اینکه بعد از 5 سال زبان سی به رتبه اول آمده به کاربرد گسترده زبان برنامه نویسی C در تجهیزات پزشکی و شیوع کووید 19 باز میگردد. با این حال، گستردگی و عظمت اکوسیستم جاوا به اندازهای است که مشاغل مختلفی پیرامون این زبان برنامهنویسی پدید آمدهاند. طبق اعلام اوراکل در سال 2017 تقریبا 9 میلیون توسعهدهنده جاوا در جهان فعالیت اشتغال داشتهاند. اگر جستوجویی در سایت Dice.com انجام دهید متوجه میشوید نزدیک به 12 هزار شغل مربوط به زبان برنامهنویسی جاوا تنها در ایالات متحده وجود دارد در حالی که تقریبا 9000 شغل در ارتباط با زبان جاوااسکریپت و 7600 شغل در ارتباط با زبان برنامهنویسی پایتون وجود دارد. علاوه بر این باید دقت داشته باشید که زبان برنامهنویسی جاوا دارای یک اکوسیستم بسیار قوی با ابزارهای هوشمند است که از جمله این ابزارها میتوان به Spring Framework برای برنامهنویسی اپلیکیشنهای تحت سرور اشاره کرد که توسط شرکتهایی مانند IBM، Red Hat و Oracle برای پلتفرم JavaFX مورد استفاده قرار میگیرد.
آینده جاوا به کجا خواهد رفت
شرکتهایی همچون اوراکل و جامعه توسعهدهندگان OpenJDK که اقدام به توسعه جاوا کردهاند در تلاش هستند که این پلتفرم را کاملا بهروز نگه دارند. نسخه 14 کیت توسعه جاوا یا Java Development Kit (JDK) 14که آوریل منتشر شد امکانات زیادی را ارائه کرده که از جمله آنها میتوان به عبارتهای switch برای سادهتر کردن کدها و JDK Flight Recorder (JFR) Event Streamin برای مصرف مداوم دادههای JFR اشاره کرد. نسخه بعدی جاوا JDK 15 است که قرار است سپتامبر 2020 منتشر شود. در این نسخه نیز قابلیتهای زیادی به جاوا اضافه خواهد شد. تاکنون ویژگیهایی که برای این نسخه در نظر گرفته شده شامل پیشنمایشی از کلاسهای sealed است که کنترل بیشتری را برای مدیریت کدها و رکوردها در اختیار شما قرار میدهد و کلاسهایی را ارائه میدهد که به عنوان حامل شفاف برای دادههای غیرقابل تغییر عمل میکنند. یکی دیگر از ویژگیهایی که در نسخههای آتی زبان برنامهنویسی جاوا ارائه میشود پروژه Leyden است که اجازه میدهد به شکل دقیقتری وضعیت منابع مصرف شده و مسائل مربوط به عملکرد برنامه را پیگیری کنید.
روز جهانی جاوا در دیوان عالی
در طول 25 سال عمر این زبان برنامهنویسی، جاوا دو مرتبه با چالش جدی روبرو شده است. اولین مورد دعوای حقوقی بین شرکت سان و مایکروسافت بود، با این اتهام که مایکروسافت از جاوا در ویندوز استفاده کرده و توافقنامه تعهد و مجوزهای مربوطه را نقض کرده است. مایکروسافت در ازای این کیفر خواست موافقت کرد در سال 2001 بیست میلیون دلار به شرکت سان پرداخت کند. اخیرا نیز بین شرکت اوراکل و گوگل مشکلاتی به وجود آمده که دلیل این مشکلات مالکیت معنوی استفاده از پلتفرم جاوا است، چرا که امروزه گوگل از این پلتفرم برای گوشیهای همراه اندروید خود استفاده میکند. به همین دلیل این پرونده به دیوان عالی ایالات متحده ارسال شده است. در واقع مسئله اصلی این است که آیا شرکت اوراکل میتواند نسبت به حق کپی رایت API-های جاوا که گوگل استفاده کرده است شکایت کند یا نه و در صورتی که بتواند اقدام به انجام این کار کند آیا واقعا شرکت گوگل اقدام به نقض این حق کرده است. بدون شک رای دادگاه عالی ایالات متحده میتواند به میزان بسیار زیادی روی استفاده از این پلتفرم برای گوشیهای همراه اندرویدی شرکت گوگل تاثیرگذار باشد. امروزه بحث درباره این موضوع حتی با وجود شیوع ویروس کرونا نیز جاری است و مشکلات زیادی را برای برخی از افراد به وجود آورده است. در نتیجه باید دید آینده این بحثها به کجا خواهد انجامید.