جاوا چیست؟ آشنایی با ۰ تا ۱۰۰ زبان برنامهنویسی جاوا
مطمئنا تا به حال نام جاوا (Java) را شنیدهاید، یکی از محبوبترین زبانهای برنامهنویسی دنیا که به دلیل چند سکویی (Cross Platform) بودن و همچنین پشتیبانی از ویژگی شئگرایی (OOP) مورد توجه افراد بسیار زیادی در دنیا قرار گرفته است.
جاوا به صورت رایگان در دسترس است و بدون اغراق میتوان آنرا جزو کارآمدترین زبانهای برنامهنویسی سطح بالا دانست، در ادامه با جت اموز همراه باشید تا بیشتر با این زبان دوستداشتنی و تاریخچهی آن آشنا شویم.
از آنجایی که در برنامهنویسی اپلیکشینهای اندروید نیز از این زبان استفاده میکنیم میتوان یکی از مهمترین دلایل محبوبیت آن را، به خصوص در میان برنامهنویسان ایرانی، همین مورد دانست، بسیاری از افراد برای نوشتن برنامههای اندرویدی به سراغ یادگیری جاوا میروند، حال بیایید کمی بیشتر با تاریخچه و نحوهی شکلگیری این زبان آشنا شویم.
تاریخچهی زبان جاوا (Java)
اوایل دههی 1990 میلادی آقای جیمز گاسلینگ و همکارانش از پیچیدگی زبان ++C احساس نارضایتی میکردند و به همین دلیل تصمیم گرفتند، زبانی را ابداع کنند که علاوهبر قدرت زبان ++C از سادگی بیشتری برخوردار باشد، جالب است بدانید آنها در ابتدا نام Oak به معنای “بلوط” را روی این زبان گذاشته بودند، دلیل این امر هم این بود که یک درخت بلوط در مجاورت اتاق کار آقای گاسلینگ قرار داشت، پس از مدتی مدیران شرکت سانمایکروسیستمز (شرکت گاسلینگ و همکارانش) تصمیم گرفتند نام مناسبتری را برای این زبان برگزینند.
برای این منظور به یک کافیشاپ مراجعه کردند و حدود نصف روز به بحث و تبادل نظر در این خصوص پرداختند و در نهایت تصمیم بر این شد که از مخفف نامهای خودشان یعنی James Gosling و Arthur Van Hoff و همچنین Andy Bechtolsheim استفاده کنند و در نهایت نام Java را بر روی این زبان نهادن، هرچند در نقل قولی آمده است Arthur و Andy که در تیم اولیه بودند پس از مدتی از شرکت سان جدا شده و در ادامه جیمز گاسلینگ به همراه دو تن از کارمندان سانمایکروسیستمز به نامهای Mike Sheridan و Patrick Naughton به همراه آقای گاسلینگ توسعهی زبان جاوا را تحت نام پروژهی سبز (Green) ادامه داده و سپس با تغییر نام به جاوا آن را منتشر کردند، اما چیزی که واضح است جیمز کاسلینگ کانادایی نقشی حیاتی در خلق این زبان داشته است.
از آنجایی که مراسم نامگذاری در یک کافیشاپ صورت گرفته بود برای نماد این زبان از یک “فنجان قهوهی داغ” استفاده شد، هرچند برخی میگویند جیمز گاسلینگ به نوعی قهوه که در جزیرهای به نام Java (در اندونزی) وجود داشت علاقهی فراوانی نشان میداد و نام جاوا نیز از همین نوع قهوه گرفتهشده است، نهایتا در سال 1995 زبان Java توسط شرکت Sun Microsystems ارائه و بعدها توسط اواکل خریداری شد.
اهداف اولیهی جاوا
همانطور که گفتیم جیمز گاسلینگ این زبان را با هدف جایگزینی برای ++C توسعه داد، از این رو اهداف خاصی نیز برای آن در نظر گرفته شد که عبارت بودند از:
- ساده و مشهور بودن
- قابلیت شئگرایی قدرتمند
- کارایی و عملکرد بالا و بهینه
- قابلیت انتقال و پرتابل بودن
- ضریب اطمینان بالا و خطای کم
- زبانی پویا با قابلیت نخکشی (Treading)
شعار اصلی جاوا این بود:
یک بار بنویس، همه جا اجرا کن!
در حقیقت شما یکبار برنامه را مینویسید و به کمک ماشین مجازی جاوا (JVM) آنرا در سایر پلتفرمها نیز اجرا میکنید، به همین دلیل است که میگوییم جاوا یک زبان چندسکویی (Cross Platform) است، همین امر در ابتدای کار به شدت بر محبوبیت این زبان افزود.
ماشین مجازی جاوا (JVM) چیست؟
در حقیقت JVM همان چیزیست که شعار معروف این زبان (یک بار بنویس، همه جا اجرا کن) را محقق میسازد، ماشین مجازی جاوا دو هدف اولیه را دنبال میکند:
- فراهم کردن محیطی برای اجرای برنامه در سیستمهای مختلف
- وظیفهی مدیریت و بهینهسازی منابع حافظهی آن سیستم
هنگامی که شما یک برنامه را به زبان جاوا مینویسید و آن را کامپایل میکنید در اصل برنامهی شما به مجموعه کدهایی بهنام “بایتکد” تبدیل میشود، ماشین مجازی تنها این بایتکدها را متوجه میشود، آنها را دریافت کرده و مطابق با تنظیماتش آنرا اختصاصا برای یک سیستمعامل خاص کامپایل و قابل اجرا میکند، به نمای تصویری زیر توجه کنید:
همانطور که در تصویر بالا نیز واضح است، شما یکبار برنامه را مینویسید و اجرای آن در سیستمعاملهای مختلف را به JVM میسپارید، مثلا برنامهی جاوایی که در ویندوز نوشته شده است باید به راحتی و بدون هیچگونه مشکلی در لینوکس نیز اجرا شود و این امر امکانپذیر نیست مگر با وجود ماشین مجازی.
چه برنامههایی را میتوان با زبان جاوا نوشت؟
همانطور که گفتیم، جاوا یک زبان چندسکویی است، بنابراین شما میتوانید با استفاده از آن برای سیستمعاملهای مختلفی مانند ویندوز، لینوکس، اواسایکس، اندروید، وب و… برنامهنویسی کنید، در حقیقت یکبار برنامهی خود را بنویسید و همهجا آنرا استفاده کنید!
در ایران نیز برنامههای بسیار زیادی (به خصوص نرمافزارهای دولتی) با این زبان توسعه یافتهاند، بنابراین شما با یادگیری جاوا تقریبا میتوانید به بازار کار بسیار خوبی امیدوار باشید، در کشورهای توسعهیافتهای مانند استرالیا، کانادا، انگلستان و آمریکا شرایط از این نیز بهتر است و تقریبا سرمایهگذاریهای فراوانی روی آن میشود.
همانطور که میبینید زبان جاوا پس از جاوا اسکریپت و SQL سومین زبان پر استفاده در دنیا محسوب میشود.
لطفا Java را با JavaScript اشتباه نگیرید!
بسیاری از افراد مبتدی این دو زبان را یکسان میدانند و در مواردی این دو را به جای هم یاد میکنند، جاوا اسکریپت همانطور که از نامش پیداست یک زبان اسکریپتنویسی به حساب میآید و برای نوشتن برنامههای سمت کلاینت و در مرورگر استفاده میشود که توسط شرکت Netscape طراحی و منتشر شد، این زبان بیشتر در پویاسازی صفحات وب مورد استفاده قرار می گیرد و توسط مرورگر اجرا شده و در حالت پیشفرض قابلیت اجرا شدن روی سیستمعاملهای مختلف را ندارد.
معرفی نسخههای اصلی زبان جاوا
این زبان از پلتفرمهای مختلفی پشتیبانی میکند، برای برنامهنویسی در هر یک از این پلتفرمها از نسخهی خاصی از جاوا استفاده میشود که در ادامه برخی از مهمترین این نسخهها را با هم بررسی میکنیم:
Java SE: این نسخه که مخفف Standard Edition و در حقیقت نسخهی اصلی میباشد، شامل کتابخانههای اصلی زبان جاواست که با استفاده از آن میتوان برای دسکتاپ و سرورها برنامهنویسی کرد، این نسخه را با نام J2SE نیز میشناسند.
Java EE: این نسخه مخفف شدهی عبارت Enterprise Edition به مفهوم نسخهی تجاری بوده و برای ساخت برنامههای تحت وب و اپلیکیشنهای تجاری و سازمانی مورد استفاده قرار میگیرد، نام دیگر این نسخه J2EE است.
Java ME: این نسخه مخفف Micro Edition بوده و در حقیقت نسخهای کوچک و سبک است که برای برنامهنویسی ریزپردازندهها و تلفنهای قدیمیتر به کار گرفته میشود، مانند سایر نسخهها، این نسخه نیز با نام مستعار J2ME شناخته میشود.
نمونهای از سینتکس زبان جاوا
در این مقاله قصد آموزش برنامهنویسی جاوا را نداریم، بلکه یک نمونه کد Hello World که به زبان Java نوشته شده است را برای شما در ادامه آوردهایم:
public class helloworld { public static void main(String[] args) { System.out.println("Hello world!!!"); } }
جاوا یک زبان Class Base است، یعنی تماما با استفاده از کلاسها نوشته میشود، اگر تمایل دارید بیشتر با این مفهوم و همچنین چگونگی کامپایل شدن این کدها آشنا شوید، توصیه میکنیم مقالهی کامپایل Java را مطالعه نمایید، در آنجا به طور مفصل این مورد را با استفاده از CMD ویندوز آموزش دادهایم.
محیطهای توسعهی معروف جاوا
برای نوشتن هر نوع برنامهای به یک محیط توسعهی یکپارچه یا IDE احتیاج خواهید داشت که فرایند کدنویسی، دیباگ و کامپایل کدها را برای شما ساده و آسان کند، از محبوبترین IDE های زبان جاوا میتوان به موارد زیر اشاره کرد:
- IntelliJ IDEA
- NetBeans
- Eclipse
شما میتوانید برای توسعهی برنامهی خود از یکی از این نرمافزارها استفاده کنید، به یاد داشته باشید برای برنامهنویسی جاوا به JRE و JDK احتیاج خواهید داشت که با مراجعه به وبسایت شرکت اوراکل میتوانید آخرین نسخهی این ابزارها را متناسب با سیستم خود دریافت کنید.
استفاده از زبان جاوا برای برنامهنویسی اندروید
زبان اصلی مورد استفاده در نوشتن برنامههای اندرویدی جاواست، هرچند با سایر زبانها نیز میتوان برای این سیستمعامل برنامهنویسی کرد، اما در حقیقت جاوا را زبان مادری یا Native سیستمعامل اندروید میدانند.
برای برنامهنویسی اندروید باید با نصب Java روی دستگاه خود Android Studio و SDK مورد نیاز آن که توسط گوگل توسعه داده شده است را دانلود و روی رایانهی خود نصب کنید، از آنجایی که هدف اصلی ما در این آموزش بررسی زبان جاوا بود بیش از این به موضوع اندروید نمیپردازیم.
اپلت جاوا (Java Applet) چیست؟
به طور کلی واژهی اپلت (Applet) به معنای برنامک (برنامههای کاربردی کوچک) برای اولین بار در سال 1993 استفاده شد، اپلتها در حقیقت برنامههای کوچکی هستند که در زمینهی یک برنامهی بزرگتر اجرا میشوند، به عنوان مثال فایلهای فلش که در گذشته در وبسایتها به کار میرفت نوعی اپلت بود، اپلتهای جاوا نیز به همین گونه هستند، برنامههای کوچکی که معمولا در سمت کاربر و توسط مرورگر و به کمک جاوای نصب شده روی سیستم کاربر اجرا میشوند، نقطهی مقابل اپلت، سرولت (Servlet) میباشد که در سمت سرور اجرا میشود.
اپلتها معمولا تک منظوره بوده و وظیفهی خاصی را دنبال میکنند، از جمله معروفترین اپلتهای جاوا میتوان به فلش پلیر و مدیاپلیر داخلی ویندوز که در مرورگر اینترنت اکسپلورر استفاده میشد اشاره کرد.
نحوهی کامپایل و اجرای کدهای جاوا به کمک CMD ویندوز!
حتما میدانید که برای کامپایل و اجرای کدها به محیطی برای کد نویسی احتیاج خواهید داشت که اصطلاحا آن را کامپایلر یا IDE (آیدیای) مینامند، حال فرض کنید به هر دلیلی به IDE مورد نظر خود دسترسی نداشته باشید و قصد اجرای یک قطعه کد جاوا را داشته باشید، در چنین شرایطی میتوانید به کمک CMD موجود در ویندوز و بدون نیاز به هیچگونه IDE کدهای مورد نظر خود را اجرا و خروجی آنها را مشاهده کنید.
برای انجام اینکار باید مراحلی را انجام دهید که در ادامه آنها را توضیح میدهیم، پس با جت اموز همراه باشید و ببینید که چگونه میتوان کدهای جاوا را به صورت دستی کامپایل کرد!
برای شروع ابتدا نوتپد ویندوز را باز کرده و کدهای مورد نظر خود را به زبان جاوا بنویسید، به عنوان مثال میتوانید از قطعه کد زیر برای تست کار استفاده کنید:
public class helloworld { public static void main(String[] args) { System.out.println("Hello world!!!"); } }
پس از نوشتن کد فایل نوت پد را با نامی که برای کلاستان انتخاب کردید (در اینجا helloworld) و پسوند java. در دسکتاپ خود ذخیره کنید، مانند تصویر زیر:
حال CMD ویندوز را اجرا کرده و عبارت dir را تایپ کنید و اینتر بزنید تا دایرکتوریهای سیستم برای شما نمایش داده شود، با چنین تصویری مواجه خواهید شد:
از آنجایی که فایل کد خود را در محل دسکتاپ ذخیره کردیم باید وارد دایرکتوری Desktop شویم، برای این منظور دستور cd desktop را تایپ کرده و اینتر میزنیم.
حال وارد دایرکتوری دسکتاپ شدهایم، برای مشاهدهی محتویات این دایرکتوری مجددا دستور dir را تایپ کنید، اگر به این اطلاعات نگاه کنید فایل helloworld.java را نیز مشاهده خواهید کرد، حال باید این فایل را به بایتکدها تبدیل کنیم، برای این منظور دستور javac helloworld.java را اجرا کنید.
با انجام اینکار در کنار فایل قبلی، فایلی با عنوان helloworld.class ذخیره خواهد شد، اگر آن را باز کنید با چنین نوشتههایی مواجه خواهید شد:
نوشتههایی که مشاهده میکنید بایتکدها هستند، این دستورات به زبان 0 و 1 تبدیل شده و برای ماشین (در اینجا رایانه) کامپایل میشوند.
در آخرین مرحله کافیست دستور java helloworld را تایپ کنید (احتیاجی به نوشتن پسوند فایل نیست)
اگر تمام مراحل را به درستی انجام داده باشید، نتیجهی کدی که در ابتدا نوشتید را مشاهده خواهید کرد!
همانگونه که مشاهده کردید توانستیم بدون نیاز به IDE و تنها به کمک CMD ویندوز کدهای جاوا را کامپایل کنیم، حال کمی بیشتر با نحوهی کار آیدیایها آشنا شده و به اهمیت وجود آنها پی میبریم!
حال که با این موارد آشنا شدیم میتوانیم دلیل محبوبیت زبان جاوا را بهتر درک کرده و بدانیم چرا میتوان آن را به عنوان یک زبان دوستداشتنی آموخت و به کار گرفت.
در نهایت از شما کاربران گرامی میخواهیم اگر اطلاعات بیشتری در مورد این زبان دارید آن را در بخش دیدگاهها با ما و سایر کاربران جت اموز به اشتراک بگذارید، نظرات و دیدگاههای شما به کاملتر شده این مقاله کمک میکند.
دیدگاهتان را بنویسید
برای نوشتن دیدگاه باید وارد بشوید.