تولد پروژه سبز و آغاز کار با اک

چگونه زبانی که قرار بود فقط برای تنظیم‌کننده‌های تلویزیونی تعاملی طراحی شود، به ستون فقرات نرم‌افزارهای سازمانی در بیش از ۶۰ میلیارد سیستم جهان تبدیل شد؟ این پرسش پاسخ یکسانی دارد: یک تیم پژوهشی جوان، یک درخت بلوط جلوی دفتر مدیر، و چرخشی استراتژیک که سرنوشت صنعت برنامه‌نویسی را دگرگون کرد. داستان زبان جاوا دقیقاً از همان نقطه شروع می‌شود.

در ژوئن ۱۹۹۱، هنوز نامی از جاوا در کار نبود. جیمز گاسلینگ، مایک شرایدن و پاتریک ناتون در شرکت سان مایکروسیستمز پروژه‌ای تحت عنوان اک را کلید زدند. اگرچه این گروه درون سازمانی را تیم سبز می‌نامیدند، اما هدفی کاملاً متفاوت از اینترنت رایج امروزی داشتند. فضای فناوری در آن زمان روی اینترنت عمومی چندان تمرکز نکرده بود و اولویت اصلی تیم، خلق زبانی فشرده، مستقل از سخت‌افزار و با قابلیت اجرا روی الکترونیک مصرفی بود. باکس‌های دیجیتال، کنترل‌های هوشمند و لوازم آشپزخانه هدف اولیه این پروژه بودند.

ارزش‌هایی که درون اک ریخته شد

تیم سبز اصولی را در معماری اولیه زبان گنجاند که برای آن دوران به‌طرز عجیبی پیشگامانه به نظر می‌رسید:

  • اجرای یک‌باره روی تمام پلتفرم‌ها قبل از آن که این ادعا به یک شعار صنعتی تبدیل شود
  • استقلال از سخت‌افزار با بهره‌گیری از ماشین مجازی
  • در نظر گرفتن امنیت به‌عنوان یک ویژگی ذاتی و نه پیچ‌و‌هم اضافی
  • مدیریت خودکار حافظه و کاهش وابستگی به برنامه‌نویسی دستی
  • تمرکز بر برقراری ارتباط شبکه‌ای

بازار تلویزیون تعاملی و باکس‌های دیجیتال هرگز به اندازه‌ای رشد نکرد که تیم تصور می‌کرد، اما تصمیم‌های معماری گرفته‌شده دقیقاً همان چیزی بود که نسل بعدی وب با شدت به آن نیاز داشت.

تغییر نام از اک به جاوا

وقتی برای ثبت نام پروژه به جستجوی علامت تجاری پرداختند، متوجه شدند نام اک قبلاً توسط شرکت دیگری ثبت شده است. جلسات طوفان فکری تیم که معمولاً با تعداد زیادی قهوه پیش می‌رفت، سرانجام به گزینه‌ای نو رسید: جاوا. الهام‌گیرنده از دانه‌های قهوه اندونزیایی که در طول شب‌کارهای برنامه‌نویسی مصرف می‌کردند. نام‌های دیگری مانند اوراکل، پپر، نت‌پروسه و حتی نیون هم در حساب‌و‌کتاب‌ها بود. جالب اینکه اگر نام دیگری انتخاب می‌شد، شاید امروز واژه‌ای غیر از جاوا در تمام مستندات توسعه نرم‌افزار می‌درخشید.

چرخش بزرگ به سمت وب و مرورگرها

در سال ۱۹۹۴، پروژه دستخوش یک تغییر مسیر بنیادین شد. تیم تصمیم گرفت تمرکز خود را از دستگاه‌های مصرفی برداشته و با فناوری رو به رشد وب پیوند بخورد. نتیجه این تغییر مسیر، مرورگر هات‌جاوا بود. این اولین مرورگری بود که قادر به بارگذاری و اجرای کدهای جاوا در داخل صفحات وب بود. ایده اجرای کد به‌صورت پویا در مرورگر به‌شدت نوآورانه بود و مشکل مهمی را حل می‌کرد: صفحات وب تا پیش از آن‌ها عملاً ایستا و غیرتعاملی بودند.

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

توسعه دهندگان در حال بررسی کد روی سیستم‌های رایج

خط زمانی تحولات کلیدی

مسیر پیموده‌شده توسط جاوا از سال آغازین پروژه تا امروز، نشان‌دهنده تطابق سریع با نیازهای بازار و رشد تدریجی به سمت مقیاس‌های سازمانی است:

سالماه و روزرویداد کلیدی
۱۹۹۱ژوئنشروع پروژه اک توسط تیم سبز در سان مایکروسیستمز
۱۹۹۵۲۳ مهانتشار رسمی نسخه ۱.۰ جاوا برای عموم
۱۹۹۶۲۳ ژانویهمعرفی JDK ۱.۰ و اعلام پشتیبانی مرورگر نتسکیپ
۱۹۹۷۱۹ فوریهافزودن کلاس‌های درونی، بازتاب داده‌ها و JDBC در JDK ۱.۱
۱۹۹۸۸ دسامبرورود نسخه جاوا ۲ و کتابخانه رابط کاربری سوئینگ
۲۰۱۰تسلیم شدن سان مایکروسیستمز توسط اوراکل به مبلغ ۷.۴ میلیارد دلار
۲۰۲۵۱۸ مارسانتشار نسخه ۲۴ جاوا و تقویت ویژگی‌های مدرن

اولین نسخه ابزار توسعه جاوا اگرچه با استانداردهای امروز بسیار ساده به نظر می‌رسد، اما تنها با ۲۱۲ کلاس در ۸ پکیج پیچیده بود که نشان می‌دهد چالش اصلی در آن زمان نه پیچیدگی کد، بلکه اثبات اثربخشی معماری ماشین مجازی بود.

استحکام معماری اولیه

تصمیم‌های طراحی گرفته‌شده در دهه ۹۰ میلادی تا حد زیادی بر عهده‌ها و خطاهای انسانی تمرکز کرده و عملکرد خام را فدای پایداری و کارایی توسعه‌دهندگان کردند. این انتخاب‌ها به‌طور مستقیم به انطباق جاوا با نیازهای زیرساختی سازمان‌ها کمک کرد:

  • سینتکس قابل پیش‌بینی بر پایه C++ اما بدون پیچیدگی‌های مدیریت حافظه دستی
  • برنامه‌نویسی شیءگرا که ساختار کد را برای تیم‌های بزرگ مقیاس‌پذیر می‌کند
  • محیط ایزوله امنیتی که کد را از اجرای مخرب روی سیستم میزبان دور نگه می‌دارد
  • حذف اشاره‌گرها و کاهش باگ‌های دسترسی به حافظه
  • پردازش همزمان داخلی برای بهره‌برداری از هسته‌های چندگانه
  • لینک دینامیک و بارگذاری در زمان اجرا که بسته‌بندی ماژولار را ممکن می‌سازد

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