در این مطلب قصد دارم معرفی مختصر و مفیدی درباره زبان برنامه نویسی جاوا (Java) ارائه بدهم. ولی در ابتدا به دو انگاره غلطی که در مورد جاوا وجود دارد می پردازم (البته این انگاره ها در افراد ناآشنا با برنامه نویسی وجود دارد). اول اینکه جاوا سیستم عامل گوشی های تلفن همراه نیست. متاسفانه بعضی افراد به سیستم عامل های گوشی که می توانند برنامه های نوشته شده به زبان جاوا را اجرا کنند به اشتباه جاوا می گویند. دوم اینکه زبان برنامه نویسی جاوا هیچ ربطی به زبان برنامه نویسی جاوا اسکریپت (Java Script) ندارد و این دو هریک زبان برنامه نویسی مستقلی هستند. (امیدوارم در آینده ای نزدیک بتوانم مطلبی در مورد معرفی زبان جاوا اسکریپت بنویسم.)


جاوا

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

جاوا یک زبان کاملا شی گرا، همه منظوره و مستقل از سکو است که قواعد نحوی یا syntax آن بسیار شبیه به زبان سی پلاس پلاس است و یادگیری جاوا برای کسانی که با سی پلاس پلاس آشنا هستند بسیار آسان است. منظور از همه منظوره اینست که می توان با این زبان انواع بسیار مختلفی از برنامه ها را بنویسید از برنامه های کامپیوترهای رو میزی که فقط روی یک کامپیوتر اجرا می شوند تا برنامه های تحت وب و توزیع شده، برنامه های موبایل و حتی بازی های کامپیوتری.


تاریخچه

زبان جاوا حدود سال 1992 در شرکت سان میکروسیستمز توسط جیمز گاسلینگ ساخته شد. هدف جاوا ارایه زبانی بود که مستقل باشد، یعنی برنامه های آن روی هر سیستم عامل و سخت افزاری نصب و اجرا شود. اولین انتشار رسمی جاوا در سال 1996 انجام شد. در سال 2008 شرکت سان میکروسیستمز توسط شرکت اوراکل خریداری شد.


شعار جاوا

"یک بار بنویس، همه جا اجراش کن!" این شعار پدیدآورندگان جاوا و سایر توسعه دهندگان جاوا ست. این شعار به مهمترین ویژگی زبان جاوا اشاره دارد و همین ویژگی بود که توانست انقلابی در دنیای برنامه نویسی ایجاد کند. این شعار به این معنی است که برنامه ای که با زبان جاوا نوشته شده با یک بار کامپایل، روی هر سیستمی که ماشین مجازی جاوا رویش نصب باشد از ویندوز گرفته تا مکینتاش ولینوکس و ... قابل اجرا هستند و نیازی به کامپایل های متعدد برای سیستم عامل های مختلف نیست. به این ویژگی اصطلاحا Multi Platform (چند سکو) یا Cross platform (مستقل از سکو) گفته می شود.

یکی دیگر از ویژگی های جاوا کنترل خودکار حافظه است که حافظه تخصیص داده شده را مدیریت کرده و به موقع آزاد می کند تا این حافظه ی آزاد شده بتواند توسط سایر بخش های سیستم مورد استفاده قرار گیرد.


جاوا چگونه کار می کند؟

شیوة کارکرد جاوا بسیار جالب است. در این زبان وقتی شما برنامه ای می نویسید و آنرا کامپایل می کنید، برنامه کامپایل شده مستقیما قابل اجرا نیست، نتیجه کامپایل برنامه کدهای میانی است که به آنها «بایت کد» گفته می شود. بایت کدها توسط برنامه واسطه ای که به آن «ماشین مجازی جاوا» یا JVM گفته می شود روی سیستم عامل مورد نظر تطبیق داده شده و اجرا می شوند. این مطلب در شکل زیر نشان داده شده است.


کار JVM تطبیق برنامه شما با محلی است که برنامه قرار است روی آن اجرا شود، بنابراین لازم نیست به اینکه برنامه تان قرار است کجا اجرا شود فکر کنید. این موضوع مسئولیت JVM است که قبلا آنرا روی سیستم خود نصب کرده اید. تصویر زیر جزئیات بیشتری از عملکرد ماشین مجازی جاوا را نشان می دهد.




ویرایش های مختلف جاوا

جاوا در چند ویرایش ارائه می شود که معروفترین آنها JavaSE، JavaME و JavaEEهستند. ویرایش JavaSE ویرایش استاندارد جاواست که برای یادگیری ویرایش های دیگر حتما باید ابتدا این ویرایش را یاد بگیرید. از این ویرایش غالبا برای تولید برنامه های دسکتاپ استفاده می شود. در ضمن برای برنامه نویسی اندروید هم باید ابتدا این ویرایش را یاد بگیرید. ویرایش JavaME ویرایش میکرو جاوا هست که در گذشته بیشتر برای برنامه نویسی گوشی های موبایل استفاده می شد ولی در حال حاضر بدلیل وجود موبایل های هوشمند کمتر مورد استفاده قرار می گیرد و غالبا برای تولید برنامه برای لوازم خانگی، اسباب بازی ها و .. استفاده می شود. ویرایش JavaEE ویرایش جاوا اینترپرایز ، ویرایش سازمانی جاوا است و اکثریت کاربرد جاوا هم در جاوا اینترپرایز است. از این ویرایش برای تولید برنامه های بسیار بزرگ با تعداد کاربران زیاد و برنامه های تحت وب و توزیع شده استفاده می شود.


نسخه های جاوا

اولین نسخه جاوا در سال 1996 به طور رسمی معرفی شد و آخرین نسخه جاوا در حال حاضر نسخه 10 است.

نسخه‌های جاوا به همراه تاریخ انتشار آنها:

  • JDK 1.0، انتشار در ژانویه ۱۹۹۶
  • JDK 1.1، انتشار در فوریه ۱۹۹۷
  • J2SE 1.2، انتشار در دسامبر ۱۹۹۸
  • J2SE 1.3، انتشار در می ۲۰۰۰
  • J2SE 1.4، انتشار در فوریه ۲۰۰۲
  • J2SE 1.5، انتشار در سپتامبر ۲۰۰۴
  • Java SE 6، انتشار در دسامبر ۲۰۰۶
  • Java SE 7، انتشار در ژوئیه ۲۰۱۱
  • Java SE 8، انتشار در مارچ ۲۰۱۴
  • Java SE 9، انتشار در سپتامبر 2017
  • Java SE 10، انتشار در مارس 2018

محیط برنامه نویسی

از معروفترین محیط های برنامه نویسی که برای برنامه نویسی به زبان جاوا استفاده می شود می توان به Eclipse ، IntelliJ IDEA و NetBeans اشاره کرد.

برای شروع به برنامه نویسی با جاوا علاوه بر نصب یکی از محیط های برنامه نویسی باید JRE و JDK را بر روی کامپیوتر خود نصب کنید.

JRE چیست؟

JRE یا همان Java Runtime Environment شامل یک ماشین مجازی جاوا (JVM) و همچنین یک سری فایل کتابخانه ای (کد های از پیش آماده کامپایل شده) از جاوا است که قادر است برنامه های جاوا را روی سیستم ما اجرا کند .

JDK چیست؟

JDK یا همان Java Development Kit بسته ای است شامل کامپایلر جاوا، ابزارهای اشکال زدایی و دیگر ابزار های مورد نیاز برای برنامه نویسی با زبان جاواست. این بسته همچنین شامل یک نسخه JRE نیز می باشد یعنی با نصب JDK نیازی به نصب جداگانه JRE وجود ندارد.

در حالت کلی می توان این گونه نتیجه گرفت که JRE برای اجرای برنامه های نوشته شده با جاوا و JDK برای برنامه نویسی با زبان جاوا مورد نیاز است.

کدام نسخه JDK را دانلود و نصب کنیم ؟ x86 یا x64 ؟

نسخه x86 همان نسخه 32 بیتی JDK است و نسخه x64 همان نسخه 64 بیتی JDK است . ملزومات استفاده از نسخه 64 بیتی , داشتن یک پردازنده 64 بیتی و همچنین یک سیستم عامل 64 بیتی است. مرجع رسمی برای دانلود JDK سایت شرکت اوراکل می باشد که آی پی های کشور ایران را تحریم کرده است ولی سایت های بسیاری هستند که می توانید JDK را بدون هیچ مشکلی از آنها دانلود کنید.


منابع آموزشی

منابع زیادی برای آموزش زبان جاوا ارائه شده است که بیشتر به زبان انگلیسی است. فهرست زیر شامل منابع پر طرفدار و با کیفیت خوب آموزش جاوا به زبان فارسی و انگلیسی است.

منابع فارسی
  • فیلم های آموزشی سایت جاواکاپ
  • ترجمه کتاب "چگونه به زبان جاوا برنامه بنویسیم" دایتل
  • کتاب "برنامه نویسی به زبان جاوا" از مهندس صدیقی
منابع انگلیسی
  • کتاب How To Program Java از Paul Deitel و Harvey Deitel
  • کتاب Beginning Java از Ivor Horton
  • کتاب Head First Java از Kathy Sierra و Bert Bates
  • کتاب JAVA The Complete Reference از Herbert Schildt