اخبار

جاوا 25 ساله شد!

در ۲۳ می سال ۱۹۹۵، شرکت سان‌مایکروسیستمز، جاوا را منتشر کرد. این به این معنی است که اکنون جاوا ۲۵ ساله شده‌است و ما چیزی برای جشن گرفتن داریم! ۲۵ سالگی برای یک زبان برنامه‌نویسی سن نسبتا زیادی محسوب می‌شود. نظر شما چیست؟ بیایید زبان برنامه‌نویسی، اکوسیستم، جامعه کاربری و آینده‌ٔ جاوا را نگاهی بیاندازیم و تصمیم بگیریم که جاوا با افزایش سن تکامل‌یافته و بالغ‌تر شده یا رو به کهولت گذاشته.

اگرچه جنبه‌ها و تغییراتی در جاوا وجود دارد که همه با آن‌ها موافق نیستند (یا موفق نشده‌اند خودشان را با آن‌ها تطبیق بدهند) اما جاوا همچنان اکوسیستم پویایی دارد و به سرعت در حال تکامل و بلوغ است.

جیمز گاسلینگ، مایک شرایدن و پاتریک ناتون، پروژهٔ زبان برنامه‌نویسی جاوا را در سال ۱۹۹۱ میلادی کلید زدند. در سال ۱۹۹۵، شرکت سان‌مایکروسیستمز نسخهٔ اولیه را منتشر کرد. جیمز گاسلینگ زبان را با استایل سینتکسی مشابه ++C/C  طراحی‌کرده‌بود تا برنامه‌نویسان به راحتی با آن ارتباط برقرار کنند. هدف طراحی زبان، اجرای یک کد واحد بر روی انواع سیستم‌ها بود. رسیدن به اصل «یک‌بار بنویس و همه‌جا اجرا کن»، با انتشار JVM برای پلتفرم‌های مختلف ممکن شد.

در ۲۵ سالگی ممکن است برخی منتقدین بگویند که جاوا قدیمی شده‌است و دیگر جایی برای زبان جاوا نیست اما اگر دقیق نگاه کنیم جاوا همچنان یکی از پرطرفدارترین زبان‌های موجود است. ضمنا زبان‌های محبوبِ دیگر مثل جاوااسکریپت و پایتون هم قدمت مشابهی دارند. جاوا اسکریپت در سال ۱۹۹۵ و پایتون در اوایل دهه ۱۹۹۰ منتشر شدند.

 

اکوسیستم جاوا

جاوا تنها یک زبان نیست، ماشین مجازی جاوا (JVM) و اکوسیستمش در طی سال‌ها تکامل یافته. همچنین زبان‌های دیگر نیز برای اجرا روی JVM طراحی شده‌اند و آن‌ها نیز محبوب شده‌اند. برای مثال scala و groovy و اخیرا هم kotlin. اگرچه با مراجعه به گزارش سال 2020 ماشین مجازی جاوا در می‌یابیم که خود همچنان جاوا محبوب‌ترین زبان روی JVM است.

آخرین نسخه جاوا (در لحظهٔ انتشار این مطلب) ۱۴ است که در ۱۷ مارچ ۲۰۲۰ منتشر شده. این نسخه قابلیت‌های جدیدی مثل عبارات سوییچِ بهبودیافته، بلوک‌های متنی، خطاهای NullPointer بهبودیافته و ریکوردها را اضافه کرده است که به سادگی، فرضیهٔ اینکه جاوا مرده‌است یا تکامل نمی‌یابد را رد می‌کند. حتی جاوا با سرعتی بیش‌تر از گذشته در حال تکامل است، سرعتی که برنامه‌نویسان جاوا نتوانند خودشان را با آن به‌روز نگه دارند. گزارش سال 2020 ماشین مجازی جاوا همچنین نشان می‌دهد که برنامه‌نویس‌ها عموما تمایلی به بروزرسانی نسخه جاوای مورد استفاده خود ندارند. صرف‌نظر از اینکه توسعه دهندگان از روند جدید پیروی کنند یا خیر، جاوا زنده و پویاست.

همچنین می‌دانیم که اکوسیستم جاوا چیزی فراتر از ماشین مجازی جاوا و زبان‌هایی است که روی آن اجرا می‌شوند. با معرفی پکیج‌منیجرهایی مثل Maven در ۲۰۰۲ و Gradle در ۲۰۰۷،  استفاده از کتاب‌خانه‌ها و فریم‌ورک‌های شخص‌ثالث در زبان‌های جاوایی بسیار ساده‌تر شده. کتاب‌خانه‌های شناخته‌شده‌ای مثل Apache Commons و Eclipse Collections و هزاران کتاب‌خانه دیگر باعث غنی شدن اکوسیستم می‌شوند. در کل فریم‌ورک‌هایی مثل Quarkus و اسپرینگ‌ (بوت) باعث تسهیل در توسعهٔ برنامه‌ها می‌شوند. در حال حاضر اسپرینگ، فریم‌ورک غالب در اکوسیستم جاواست و جزئی لاینفک از بسیاری از نرم‌افزارها به شما می‌رود.

 

به‌روز‌ ماندن

جاوا و اکوسیستمش با سرعت زیادی در حال رشد هستند. قابلیت‌های جدید و بچ‌ها به سرعت در خود زبان و کتاب‌خانه‌ها و فریم‌ورک‌های شخص‌ثالث ظاهر می‌شوند. با جامعه عظیم کاربرانِ حامی زبان،  توزیع‌های متفاوت JDK و نگهداری از کتاب‌خانه‌های متن‌باز، اکوسیستم با سرعت زیادی پیش می‌رود. بزرگ‌ترین مشکل توسعه‌دهندگان، به‌روز ماندن با این سرعت تغییرات است. نه تنها ما شاهد این موضوع هستیم که از نسخه‌های قدیمی جاوا استفاده می‌شود (در ابتدای ۲۰۲۰، ۶۴ درصد توسعه‌دهندگان همچنان از جاوا ۸ در محصولات خود استفاده می‌کنند.) همین قاعده برای استفاده از کتاب‌خانه‌ها و فریم‌ورک‌های قدیمی نیز صدق می‌کند.

وابستگی (dependency) های قدیمی و تاریخ‌گذشته، در وهله اول شما را در مقابل مخاطرات شناخته‌شده (که در نسخه‌های آینده برطرف شده‌اند) آسیب‌پذیر می‌کند. در ادامه هرچه آپدیت با به تاخیر بیاندازید، اینکار سخت‌تر و سخت‌تر می‌شود و باعث بدهی فنی‌ای می‌شود که به مرور بیش‌تر و بیش‌تر می‌شود.

مقایسه میزان استفاده از نسخه‌های مختلف جاوا

نتیجه‌گیری

جاوا همچنان یک اکوسیستم و زبان پویاست، این امر به کمک جامعه بزرگ و فعال کاربران ممکن شده‌است. اگرچه که برخی تغییرات هنوز به راحتی توسط همه پذیرفته نمی‌شوند، اما می‌توانیم نتیچه بگیریم که زبان همچنان به سرعت در حال رشد و تکامل است.

جاوا، تولد ۲۵ سالگی‌ات مبارک!

 

این مطلب ترجمه‌ای از این مطلب در وبسایت snyk.io است.

.

.

.

با ما همراه باشید

آدرس کانال تلگرام: JavaCupIR@

آدرس اکانت توییتر: JavaCupIR@

آدرس صفحه اینستاگرام: javacup.ir

آدرس گروه لینکدین: Iranian Java Developers

 

نوشته های مشابه

‫2 دیدگاه ها

  1. سلام
    ممنون از مقاله خوبتون، منتهی منبع مقاله چه وبسایتی هست؟ synk.io این یک وبسایت موسیقی است! عمدی است؟ ‌؛)

    1. سلام
      ممنون که اطلاع دادید. لینک مقاله اصلی، در انتهای مطلب به درسته درج شده بود. اما آدرس سایت اشتباه تایپی داشت که اصلاح شد. snyk.io درست است.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا