جاوا یک زبان برنامه نویسی است که اولین بار توسط شرکت Sun Microsystems در سال ۱۹۹۵ منتشر شد. امروزه جاوا همه جا است و میتوان گفت به یک زبان فراگیر تبدیل شده است. بسیاری از برنامههای کاربردی و وبسایتها مبتنی بر جاوا هستند. کنسولهای بازی تا تلفنهای همراه جاوا بر بازار دنیای تکنولوژی حاکم شده است.
اما این محبوبیت جاوا از کجا نشات میگیرد؟ چرا زبان جاوا به این شدت فراگیر شد؟ قطعا نمیتوانیم تنها با ذکر یک دلیل، به این پرسش پاسخ دهیم. در واقع هرکدام از ویژگیهای اصلی این زبان در فراگیری و محبوبیت آن نقش دارند. در ادامه مقاله، به این پرسش پاسخ میدهیم اما به عنوان چند نمونه از ویژگیهای این زبان، میتوانیم به عام منظوره بودن، پشتیبانی از همروندی، چندنخی و شیگرایی اشاره کرد.

زبان برنامه نویسی جاوا توسط جیمز گاسلینگ و سایر همکارانش در شرکت Sun Microsystems توسعه داده شد و در سال ۱۹۹۵ به دنیا معرفی شد. در ابتدا، نام این زبان برنامهنویسی بلوط بود اما در انتهای این پروژه، این نام به جاوا تغییر پیدا کرد.
تاریخچه انتشار این زبان از سال آغازین انتشار (۱۹۹۵) تاکنون به صورت زیر است:

زبان جاوا به شهرت زیادی دست پیدا کرده و یکی از علل اصلی آن شیگرا بودن این زبان است. استفاده از مفهوم شیگرایی، توسعه نرم افزار را سادهتر میکند. برای آشنایی بیشتر با شیگرایی، باید با مفاهیمی همچون انتزاع، کپسوله کردن، وراثت و چندریختی آشنا شوید که آنها را در مقالات آموزشی برنامه نویسی جاوا دنبال خواهیم کرد.
اما علاوه بر ویژگی شیگرایی، ویژگیهای دیگری نیز وجود دارند که باعث شده توجه توسعهدهندگان و سازمانها به این زبان معطوف شود. برخی از این ویژگیها را در زیر بیان کردیم:
پلتفرمهای جاوا در ادامه معرفی شدند. همه توسعهدهندههایی که از زبان جاوا استفاده میکنند، برای اجرای برنامههای خود باید از این پلتفرمها استفاده کنند. پلتفرمهای جاوا از دو بخش اصلی رابطهای برنامه نویسی کاربردی (API) برای جاوا و ماشین مجازی جاوا (Java Virtual Machine یا به اختصار JVM) تشکیل شدهاند.

رابطهای برنامهنویسی کاربردی در پلتفرم جاوا در واقع کتابخانههایی از کدهای کامپایل شده است که شما میتوانید از آنها در برنامه خود استفاده کنید. این کتابخانهها تقریبا همه چیز را شامل ورودی/خروجی، شبکه، رابط گرافیک کاربری، تجزیه زبان XML، ارتباط با پایگاه داده و غیره دربرمیگیرد.
در نتیجه، نیاز نیست شما برای هرچیزی کد بزنید و فقط از توابع آماده شده در رابط برنامه نویسی کاربردی جاوا استفاده کنید!

برنامههای جاوا توسط برنامه دیگری به نام ماشین مجازی جاوا اجرا (یا تفسیر) میشود. به طور دقیقتر، برنامههای جاوا پس از کامپایل، به دستوراتی تبدیل میشوند که بایت کد نامیده میشوند. این دستورات، که شبیه به دستورات ماشین است، برای ماشین مجازی جاوا قابل فهم است. ماشینهای مجازی جاوا هم با دریافت دستورات بایت کد، آنها را به زبان ماشین تبدیل میکنند و برنامه روی ماشین موردنظر اجرا میشود. بنابراین میتوانیم برنامههای جاوا را روی هر سیستمی که ماشین مجازی جاوا یا به اختصار JVM روی آن نصب شده، اجرا کنیم.
برای مثال، یک برنامه جاوا که در یک کامپیوتر شخصی با سیستم عامل Windows NT، توسعه داده شده است، باید به طور یکسان و بدون هیچ تفاوتی روی یک ماشین کاری با سیستم عامل سولاریس نیز اجرا شود و بر عکس.

۱. (Java SE (Standard Edition: این پلتفرم که با نام J2SE نیز شناخته شده است، شامل کتابخانههای اصلی زبان برنامه نویسی جاوا است و با استفاده از آن، کاربران میتوانند برنامههای جاوا خود را برای دسکتاپ، سرورها و محیطهای جاسازی شده توسعه دهند. مولفههای این پلتفرم، شامل کیت توسعه جاوا (JDK)، محیط زمان اجرای جاوا (JRE) و رابط برنامهنویسی کاربردی (API) این پلتفرم است. کیت توسعه جاوا، شامل JRE، کامپایلرها و اشکال زداهایی است که برای توسعه اپلتها و برنامههای کاربردی موردنیاز است. محیط زمان اجرا هم کتابخانهها، ماشین مجازی جاوا و سایر مولفههای موردنیاز برای اجرای اپلت و برنامههای جاوا را شامل میشود.
۲. (Java EE (Enterprise Edition: این پلتفرم، به عنوان نسخه تجاری برای ساخت وب و برنامههای تجاری ارائه شد. این پلتفرم با نام J2EE شناخته شده است. با کمک این پلتفرم میتوانیم مولفههای سمت سروری ایجاد کنیم که میتواند به درخواست-پاسخ مبتنی بر وب پاسخ بدهد. در نتیجه، میتوانیم برنامههایی ایجاد کنیم که میتواند با کلاینتهای مبتنی بر اینترنت شامل مرورگرهای وب، کلاینتهای مبتنی بر CORBA و حتی سرویسهای وب میتنی بر REST و SOAP، تعامل داشته باشد.
۳. (Java ME (Micro Edition: این نسخه، یک پلتفرم سبک وزن برای توسعه تلفنهای همراه است که در گذشته با عنوان J2ME شناخته میشد. این نسخه، برتری خود را در عرصه توسعه ابزارهای جاسازی شده یا دستگاههای تعبیه شده ثابت کرده و الان در تلاش است در عرصه توسعه گوشیهای هوشمند نیز پیشرو باشد.
۴. Java FX: این پلتفرم، یک پلتفرم پیشرفته واسط گرافیکی کاربر است. به عنوان مثال، JavaFX Scene Builder، یک ابزار طراحی بصری است که کاربر میتواند به صورت بصری و بدون کد زدن، واسطهای گرافیکی موردنظر خود را ایجاد کند. کاربران مولفههای واسط کاربری را از منو مولفهها انتخاب میکنند و این مولفهها، در فضای کاری نمایش داده میشود. سپس کاربر میتواند ویژگیهای این مولفهها را تغییر دهد یا فایلهای css را برای تنظیم شمایل و استایل، به این مولفهها اعمال کند.

درباره برنامه نویسی کامپیوتر چه میدانید؟
برای زبان برنامه نویسی جاوا ، ابزارهای توسعه قدرتمندی مانند Eclipse و NetBeans دارد. شما به عنوان یک برنامه نویس ترجیح میدهید در یک محیط یکپارچه توسعه نرم افزار کد بزنید تا در ویرایشگرهای متنی مانند notepad. در نتیجه میتوان گفت وجود این ابزارهای توسعه نقش مهمی در محبوبیت این زبان برنامهنویسی ایفا میکند.
استفاده از محیطهای توسعه، کد زدن را راحتتر و سریعتر میکند. به عنوان مثال، در صورت وجود هر نوع خطای نحوی، این محیطها به برنامه نویس اخطار میدهند که دستور اشتباه را تصحیح کنند و حتی پیشنهادهایی را هم به آنها ارائه میکنند. این محیطها همچنین امکاناتی مانند جستجو، ساخت مجدد کد، خواندن کد و غیره را برای کاربر فراهم میکنند.

در این بخش، قصد داریم یک برنامه ساده جاوا را با هم بنویسیم و اجرا کنیم. اما پیش از آن، شما باید ابتدا پلت فرم جاوا را روی سیستم کامپیوتری خود نصب کنید.
پلت فرمهای جاوا از طریق وبسایت جاوا ، به صورت رایگان قابل دسترس است. البته متاسفانه این صفحه از سمت شرکت اوراکل برای کشور ما فیلتر است و برای دانلود این پلت فرمها باید از فیلترشکن استفاده کنید. پس از دانلود و نصب پلت فرم جاوا و پیکربندی آن در سیستم، میتوانید اولین برنامه جاوا خود را بنویسید و اجرا کنید.
سادهترین راه برای نوشتن یک برنامه ساده، استفاده از ویرایشگرهای رایج متن است. پس یک ویرایشگر متن باز کنید، برنامه زیر را در آن کپی کنید و آن را با نام ExampleProgram.java یا هر نام دلخواه دیگری ذخیره کنید. توجه داشته باشید که همه برنامههای جاوا، پسوند java. دارند.
برنامه های جاوا به بزرگی و کوچکی حروف حساس هستند. پس اگر قصد دارید خودتان این برنامه را تایپ کنید، به این نکته توجه کنید.
class ExampleProgram {
public static void main(String[] args){
System.out.println("I'm a Simple Program");
}
}برنامه نوشته شده توسط برنامه نویس باید به فرمی تبدیل شود که توسط ماشین مجازی جاوا قابل فهم باشد. این تبدیل با انجام عملیات کامپایل انجام میشود. کامپایل یک برنامه جاوا به معنای آن است که متن برنامه (که توسط برنامه نویس نوشته شده است و عموما به آن کد منبع میگویند) به دستوراتی تبدیل میشود که آن را بایت کد مینامیم. دستورات بایت کد شبیه به دستورات ماشین و مستقل از هر گونه بستری هستند.
کامپایلر جاوا را میتوانید با دستور زیر از طریق پوستههای یونیکس و داس موجود در سیستم عامل خود، فراخوانی کنید:
javac ExampleProgram.javaپس از اجرای کد بالا، فایلی با نام ExampleProgram.class در دایرکتوری فعلی شما ایجاد میشود که در واقع شامل دستورات بایت کد متناظر با برنامه نوشته شده در فایل ExampleProgram.java است.
زمانی که برنامه به صورت موفقیت آمیز به بایت کدهای جاوا تبدیل شد، شما میتوانید آن را برای هر ماشین مجازی جاوا تفسیر کنید و در نهایت برنامه را اجرا کنید. تفسیر و اجرا به این معنی است که ماشین مجازی جاوا را فراخوانی کنید و بایت کد به دست آمده از بخش کامپایل را در اختیار آن قرار دهید.
ماشین مجازی یا مفسر جاوا را میتوانید از طریق پوسته یونیکس یا داس موجود در سیستم عاملهای مختلف، با دستور زیر فراخوانی کنید:
java ExampleProgramاگر مراحل نوشتن، کامپایل و اجرا را به درستی انجام داده باشید، خروجی برنامه که عبارت “I’m a Simple Program” است، در پوسته نمایش داده میشود.
همان طور که گفتیم جاوا به صورت رایگان در دسترس همگان است و در نتیجه، بیشتر افراد و توسعه دهندگان ترجیح میدهند آن را یاد بگیرند. از سوی دیگر، در دسترس بودن ابزارهای توسعه قدرتمند برای این زبان و وجود برنامه نویسان حرفهای، سازمانها را هم ترغیب میکند برای توسعه برنامههای کاربردی خود از این زبان استفاده کنند. در نتیجه جاوا، به اهمیت بالایی در دنیای تکنولوژی دست پیدا کرده است. شما هم اگر دوست دارید به جمع برنامه نویسان حرفهای جاوا بپیوندید، میتوانید آموزشهای برنامه نویسی جاوا را با ما، در کتابخانه آنلاین لیداوب دنبال کنید.
نویسنده:آریان شریف پور