زبان برنامه نویسی جاوا در اوایل دهه ی ۱۹۹۰ میلادی توسط جیمز گاسلینگ و همکارانش در شرکت سان مایکروسیستمز پایه ریزی شد که در ابتدا Oak به معنی «بلوط» نام داشت. در حقیقت آقای گاسلینگ از اصول برنامه نویسی در زبان ++C خیلی احساس رضایت نمی کرد و یک سری نارسایی های این زبان برنامه نویسی موجب شد که وی زبان جاوا را بر مبنای زبان ++C طراحی کند به نحوی که بتواند ایده های مد نظر او را به نحو بهتری اجرا کند. از همان ابتدا شعار آقای گاسلینگ و سایر توسعه دهندگان این زبان برنامه نویسی این بود که «یک بار بنویس، همه جا اجراش کن!» و همین شعار بود که توانست انقلابی در دنیای برنامه نویسی ایجاد کند.
داستان های زیادی در ارتباط با وجه تسمیه ی زبان جاوا وجود دارد که یکی از آنها به این داستان اشاره دارد که جیمز گاسلینگ در حین طراحی این زبان برنامه نویسی جدید، اتاق کارش مشرف به یک درخت بلوط بود که این درخت همواره نظر وی را به خود جلب می کرد. اما پس از مدتی مدیران شرکت سان مایکروسیستمز تصمیم گرفتند نام بهتری برای این زبان برنامه نویسی جدید انتخاب نمایند از این رو توسعه دهندگان این زبان به کافی شاپی در نزدیکی شرکت رفتند تا برای انتخاب نام جدید با یکدیگر به توافق برسند. پس از نیم روزی بحث و تبادل نظر، نام Java که مخفف نام های James Gosling و Arthur Van Hoff و همچنین Andy Bechtolsheim بود انتخاب شد و از آنجا که مراسم نام گذاری در یک کافی شاپ صورت گرفته بود نماد این زبان یک فنجان قهوه داغ در نظر گرفته شد. در عین حال، معتبرترین داستان این است که جیمز گاسلینگ به نوعی قهوه علاقه داشت که در جزیرهای به نام جاوا که در اندونزی در جنوب شرقی آسیا است می روید.
به هر حال، این زبان برنامه نویسی موفق که در سال ۱۹۹۵ به طور رسمی به بازار معرفی شد، توانست چنان محبوبیتی در جهان پیدا کند که در حال حاضر در بیش از ۳ میلیارد سیستم مورد استفاده قرار گرفته و تاکنون بیش از ۱۰۰۰ جلد کتاب پیرامون آن به رشته تحریر درآمده است. این زبان داری ساختار یا Syntax مشابه زبان های C و ++C می باشد اما از سادگی بیشتری برخوردار است.
ایدهی اولیهی ساخت جاوا بر این بود که این زبان به گونهای ساخته شود که پیچیدگیهای زبان مطرح سی پلاس پلاس را نداشته باشد. یعنی جاوا زبانی شیء گرا است (OOP) اما مدل شیء گرایی سادهتری نسبت به سی پلاس پلاس دارد. به عنوان مثال در جاوا ارث بری چندگانه به شکلی که در ++C قابل پیادهسازی است، وجود ندارد و یا جاوا دارای Garbage Collector است که مدیریت حافظهی هیپ را بر عهده دارد. همچنین این زبان مستقل از سخت افزار و نرمافزار است. از آنجایی که شعار جاوا «یکبار بنویس و همه جا اجرا کن» بود، یکباره جاوا به یکی از محبوبترین زبان های برنامه نویسی جهان تبدیل شد. در نهایت هم شرکت سان مایکروسیستمز در سال ۲۰۱۰ توسط شرکت بزرگ اوراکل خریداری شد و از آن زمان تاکنون، توسعه ی نسخه های جدید این زبان برنامه نویسی به عهده ی شرکت اوراکل است.
یکبار بنویس و همهجا اجرا کن :
خب این مسئله چطور میشود که با یک بار نوشتن بتوانی آن را بر روی هر سیستم و یا ابزاری که میخواهی اجرا کنی؟
اینجاست که ما به Java Virtual Machine و یا ماشین مجازی جاوا (JVM) نیاز پیدا میکنیم. کاری که این ماشین مجازی برای ما انجام میدهد به دو صورت است:
- ایجاد یک محیط برای اجرای کد در سیستم های مختلف
- بهینه سازی و مدیریت حافظه آن سیستم
در حقیقت شما یکبار برنامه را مینویسید و به کمک ماشین مجازی جاوا (JVM) آنرا در سایر پلتفرمها اجرا میکنید، به همین دلیل است که میگوییم جاوا یک زبان چندسکویی (Cross Platform) است، همین امر در ابتدای کار به شدت بر محبوبیت این زبان افزود.
شاید این سوال بوجود بیایید که دقیقا این ماشین مجازی چه کاری انجام میدهد که این زبان را اینقدر قابل انعطاف کرده؟
هنگامی که شما یک سری کد را مینویسید و آن را اجرا میکنید، برنامه شما به مجموعه کدها به نام بایت کد تبدیل میشود که ماشین مجازی درک کاملی از آن ها دارد. اینجا ماشین مجازی خودی نشان میدهد و این بایت کد ها را بر اساس تنظیمات و تعاریف خاص، برای سیستم عامل ترجمه و قابل اجرا میکند. در حقیقت معجزه جاوا نه خود زبان بلکه این ماشین مجازی است.
اهداف اولیهی جاوا
همانطور که گفتیم جیمز گاسلینگ این زبان را با هدف جایگزینی برای ++C توسعه داد، از این رو اهداف خاصی نیز برای آن در نظر گرفته شد که عبارت بودند از:
- ساده و مشهور بودن
- قابلیت شئگرایی قدرتمند
- کارایی و عملکرد بالا و بهینه
- قابلیت انتقال و پرتابل بودن
- ضریب اطمینان بالا و خطای کم
- زبانی پویا با قابلیت نخکشی (Treading)
نسخههای مختلف جاوا
شرکت سان مایکروسیستمز، کیت توسعه نرمافزاری (JDK) شماره 1.0 جاوا را در سال 1995 منتشر کرده است. این JDK نخست برای توسعه اپلیکیشنهای دسکتاپ و اَپلت (applet) مورد استفاده قرار گرفت. متعاقباً جاوا برنامهنویسی دستگاههای موبایل و سرورهای تجاری را نیز در این کیت میسر ساخت. ذخیرهسازی همه کتابخانهها در یک JDK منفرد باعث شده که این کیت بسیار بزرگتر از حد مناسب برای توزیع شود. البته باید این نکته را در نظر داشته باشید که توزیع نرمافزارها در دهه 1990 توسط CD های اندازه کوچک و یا از طریق سرعتهای پایین شبکه صورت میگرفته است. از آنجا که اغلب توسعهدهندگان به همه API ها نیاز نداشتند (یک توسعهدهنده اپلیکیشنهای دسکتاپ به ندرت به API های سرورهای تجاری نیاز پیدا میکند) شرکت Sun این مشکل توزیع را با تقسیم جاوا به سه نسخه حل کرد. این نسخهها نهایتاً به نام JAVA SE، JAVA EE و JAVA ME نامیده شدند که در ادامه هر کدام را توضیح دادهایم.
- پلتفرم جاوا، نسخه استاندارد (Java SE)- این نسخه از جاوا برای توسعه اپلیکیشنهای سمت کلاینت که روی رایانههای رومیزی اجرا میشوند، و اپلتها که روی مرورگرهای وب اجرا میشوند، طراحی شده است.
- پلتفرم جاوا نسخه انترپرایز (Java EE)- این نسخه از جاوا بر مبنای JAVA SE طراحی شده و به طور انحصاری برای توسعه اپلیکیشنهای سرور با گرایش سازمانی استفاده میشود. اپلیکیشنهای سمت سرور شامل سرولتها (Servlet) میشود که برنامههای جاوای مشابه اپلت هستند؛ اما به جای کلاینت روی سرور اجرا میشوند. سرولتها از API Java EE Servlet استفاده میکنند.
- پلتفرم جاوا، نسخه میکرو (Java ME) – این نسخه از جاوا بر مبنای JAVA SE طراحی شده است. این پلتفرم برای توسعه میدلتها (MIDlet) استفاده میشود که برنامههای جاوایی هستند که روی دستگاههای اطلاعاتی موبایل اجرا میشوند. ایکسلت (Xlet) ها نیز برنامههای جاوایی هستند که روی دستگاههای مونتاژی اجرا میشوند.
مزایا و ویژگی های زبان برنامه نویس جاوا به زبان ساده
- جاوا پرتابل است و برنامههایی که در یک پلت فرم نوشته شدهاند میتوانند روی کامپیوترهای رومیزی, موبایل و انواع دستگاهها اجرا شوند.
- جاوا آزاد، ساده، شی گرا، توزیعشده و دارای پشتیبانی چند رسانهای و شبکه است.
- جاوا یک زبان بالغ است، بنابراین پایدار و قابلپیشبینی است. کتابخانه کلاس جاوا توسعه پلتفرم کراس را ممکن میسازد.
- جاوا در سطح شبکه طراحی شده است. جاوا یک جامعهی بزرگ ارتباطی دارد که از آن پشتیبانی میکند.
- برخلاف c و c + +, برنامههای جاوا مستقل از پلت فرم در زبان بایت کد هستند که به همین برنامه اجازه میدهد تا روی هر دستگاهی اجرا شود.
- جاوا ابزار توسعه قدرتمندی مثل Eclipse SDK و NetBeans دارد که قابلیت debugging دارند و محیط توسعه یکپارچهای را ارائه میدهند.
- تنوع زبانی، که در سازگاری با java با Scala، Groovy، JRuby و Clojure وجود دارد.
آسان رایان بستری امن برای کسب و کار اینترنتی شما