جاوا چیست و چرا باید این زبان برنامه نویسی را یاد بگیریم؟

۲۸ دی ۱۳۹۸ سورس آباد

زبان برنامه نویسی جاوا و چرایی استفاده از این زبان برنامه نویسی: مطئمنا تا به حال نام جاوا (Java) را شنیده‌اید، یکی از محبوب‌ترین زبان‌های برنامه‌نویسی دنیا که به دلیل چند سکویی (Cross Platform) بودن و همچنین پشتیبانی از ویژگی شئ‌گرایی (OOP) مورد توجه افراد بسیار زیادی در دنیا قرار گرفته است.

جاوا چیست ؟

زبان برنامه نویسی جاوا به صورت رایگان در دسترس است و بدون اغراق می‌توان آن‌ را جزو کارآمد‌ترین زبان‌های برنامه‌نویسی سطح بالا دانست، در ادامه با سورس آباد همراه باشید تا بیشتر با این زبان دوست‌ داشتنی و تاریخچه‌ی آن آشنا شویم.

از آنجایی که در برنامه‌نویسی اپلیکشین‌های اندروید نیز از این زبان استفاده می‌کنیم می‌توان یکی از مهم‌ترین دلایل محبوبیت آن را، به خصوص در میان برنامه‌نویسان ایرانی، همین مورد دانست، بسیاری از افراد برای نوشتن برنامه‌های اندرویدی به سراغ یادگیری جاوا می‌روند، حال بیایید کمی بیشتر با تاریخچه و نحوه‌ی شکل‌گیری این زبان آشنا شویم.

تاریخچه‌ی زبان برنامه نویسی جاوا Java

اوایل دهه‌ی ۱۹۹۰ میلادی آقای جیمز گاسلینگ و همکارانش از پیچیدگی زبان ++C احساس نارضایتی می‌کردند و به همین دلیل تصمیم گرفتند، زبانی را ابداع کنند که علاوه‌ بر قدرت زبان ++C از سادگی بیشتری برخوردار باشد، جالب است بدانید آن‌ها در ابتدا نام Oak به معنای “بلوط” را روی این زبان گذاشته بودند، دلیل این امر هم این بود که یک درخت بلوط در مجاورت اتاق کار آقای گاسلینگ قرار داشت، پس از مدتی مدیران شرکت سان‌مایکروسیستمز (شرکت گاسلینگ و همکارانش) تصمیم گرفتند نام مناسب‌تری را برای این زبان برگزینند.

برای این منظور به یک کافی‌شاپ مراجعه کردند و حدود نصف روز به بحث و تبادل نظر در این خصوص پرداختند و در نهایت تصمیم بر این شد که از مخفف نام‌های خودشان یعنی James Gosling و Arthur Van Hoff و همچنین Andy Bechtolsheim استفاده کنند و در نهایت نام Java را بر روی این زبان نهادن، هرچند در نقل قولی آمده است Arthur و Andy که در تیم اولیه بودند پس از مدتی از شرکت سان جدا شده و در ادامه جیمز گاسلینگ به همراه دو تن از کارمندان سان‌مایکروسیستمز به نام‌های Mike Sheridan و Patrick Naughton به همراه آقای گاسلینگ توسعه‌ی زبان جاوا را تحت نام پروژه‌ی سبز (Green) ادامه داده و سپس با تغییر نام به جاوا آن را منتشر کردند، اما چیزی که واضح است جیمز کاسلینگ کانادایی نقشی حیاتی در خلق این زبان ( جاوا ) داشته است.

جیمز آرتور گاسلینگ
جیمز آرتور گاسلینگ، یکی از دانشمندان کامپیوتر و خالق زبان جاوا

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

اهداف اولیه زبان برنامه نویسی جاوا

همانطور که گفتیم جیمز گاسلینگ این زبان (جاوا) را با هدف جایگزینی برای ++C توسعه داد، از این رو اهداف خاصی نیز برای آن در نظر گرفته شد که عبارت بودند از :

  • ساده و مشهور بودن
  • قابلیت شئ‌گرایی قدرتمند
  • کارایی و عملکرد بالا و بهینه
  • قابلیت انتقال و پورتابل بودن
  • ضریب اطمینان بالا و خطای کم
  • زبانی پویا با قابلیت نخ‌کشی (Treading)

شعار اصلی جاوا این بود : 

یک بار بنویس، همه جا اجرا کن!

در حقیقت شما یکبار برنامه را می‌نویسید و به کمک ماشین مجازی جاوا (JVM) آن‌را در سایر پلتفرم‌ها نیز اجرا می‌کنید، به همین دلیل است که می‌گوییم جاوا یک زبان چند‌سکویی (Cross Platform) است، همین امر در ابتدای کار به شدت بر محبوبیت این زبان افزود.

ویژگی های زبان برنامه نویسی جاوا

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

  • ساده (یادگیری و آموزش برنامه نویسی جاوا نسبت به زبان های مثل سی و سی پلاس پلاس ساده است).
  • شیء گرا (زبان جاوا، یک زبان شی گرا است. منظور از شی گرا بودن یعنی ما نرم افزار خود را به عنوان ترکیبی از انواع مختلف اشیائی که هر دو (داده و رفتار) را شامل می شوند، سازماندهی می کنیم).
  • قابل حمل (میتواند روی هر پلتفرمی اجرا شود).
  • بستر مستقل (یک پلت فرم محیط سخت افزاری یا نرم افزاری است که در آن یک برنامه اجرا می شود).
  • امن (جاوا امن است چون هیچ نشانگر صریح ندارد، برنامه های جاوا در داخل سیستم عامل مجازی ماشین مجازی اجرا می شود).
  • تنومند
  • معماری خنثی (هیچ ویژگی وابسته به آن وجود ندارد).
  • پویا
  • تفسیر شده
  • عملکرد بالا (جاوا سریعتر از تفسیر سنتی است، زیرا کد بایت (نزدیک) به کد بومی است و هنوز تا حدودی کندتر از یک زبان کامپایل شده (به عنوان مثال، C++).
  • چندگانه
  • توزیع شده (ما می توانیم برنامه های توزیع شده را در جاوا ایجاد کنیم. RMI و EJB برای ایجاد برنامه های توزیع شده استفاده می شود).

ماشین مجازی جاوا (JVM) چیست؟

در حقیقت JVM همان چیزیست که شعار معروف این زبان (یک بار بنویس، همه جا اجرا کن) را محقق می‌سازد، ماشین مجازی جاوا دو هدف اولیه را دنبال می‌کند:

  • فراهم کردن محیطی برای اجرای برنامه در سیستم‌های مختلف
  • وظیفه‌ی مدیریت و بهینه‌سازی منابع حافظه‌ی آن سیستم

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

نحوه عملکرد 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 نوشته شده است را برای شما در ادامه آورده‌ایم:

نمونه کد نوشته شده با جاوا
نمونه کد Hello World که به زبان Java نوشته شده است

جاوا یک زبان Class Base است، یعنی تماما با استفاده از کلاس‌ها نوشته می‌شود.

محیط‌های توسعه‌ی معروف جاوا

برای نوشتن هر نوع برنامه‌ای به یک محیط توسعه‌ی یکپارچه یا IDE احتیاج خواهید داشت که فرایند کدنویسی، دیباگ و کامپایل کدها را برای شما ساده و آسان کند، از محبوب‌ترین IDE های زبان جاوا می‌توان به موارد زیر اشاره کرد:

  • IntelliJ IDEA
  • NetBeans
  • Eclipse
  • Android Studio

شما می‌توانید برای توسعه‌ی برنامه‌ی خود از یکی از این نرم‌افزارها استفاده کنید، به یاد داشته باشید برای برنامه‌نویسی جاوا به JRE و JDK احتیاج خواهید داشت که با مراجعه به وبسایت شرکت اوراکل می‌توانید آخرین نسخه‌ی این ابزارها را متناسب با سیستم خود دریافت کنید.

استفاده از زبان جاوا برای برنامه‌نویسی اندروید

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

برای برنامه‌نویسی اندروید باید با نصب Java روی دستگاه خود Android Studio و SDK مورد نیاز آن که توسط گوگل توسعه داده شده است را دانلود و روی رایانه‌ی خود نصب کنید، از آنجایی که هدف اصلی ما در این مقاله بررسی زبان جاوا بود بیش از این به موضوع اندروید نمی‌پردازیم.

اپلت جاوا (Java Applet) چیست؟

به طور کلی واژه‌ی اپلت (Applet) به معنای برنامک (برنامه‌های کاربردی کوچک) برای اولین بار در سال ۱۹۹۳ استفاده شد، اپلت‌ها در حقیقت برنامه‌های کوچکی هستند که در زمینه‌ی یک برنامه‌ی بزرگ‌ تر اجرا می‌شوند، به عنوان مثال فایل‌های فلش که در گذشته در وبسایت‌ها به کار می‌رفت نوعی اپلت بود، اپلت‌های جاوا نیز به همین گونه هستند، برنامه‌های کوچکی که معمولا در سمت کاربر و توسط مرورگر و به کمک جاوای نصب شده روی سیستم کاربر اجرا می‌شوند، نقطه‌ی مقابل اپلت، سرولت (Servlet) می‌باشد که در سمت سرور اجرا می‌شود.

اپلت‌ها معمولا تک منظوره بوده و وظیفه‌ی خاصی را دنبال می‌کنند، از جمله معروف‌ترین اپلت‌های جاوا می‌توان به فلش پلیر و مدیاپلیر داخلی ویندوز که در مرورگر اینترنت اکسپلورر استفاده می‌شد اشاره کرد.

حال که با این موارد آشنا شدیم می‌توانیم دلیل محبوبیت زبان جاوا را بهتر درک کرده و بدانیم چرا می‌توان آن را به عنوان یک زبان دوست‌داشتنی آموخت و به کار گرفت.

در نهایت از شما کاربران گرامی می‌خواهیم اگر اطلاعات بیشتری در مورد این زبان دارید آن را در بخش دیدگاه‌ها با ما و سایر کاربران همیار آی‌تی به اشتراک بگذارید، نظرات و دیدگاه‌های شما به کامل‌تر شده این مقاله کمک می‌کند.

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

سورس آباد

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

راه آسان‌تری برای ارتباط با کاربران‌مان پیدا کرده‌ایم :) عضویت در کانال

نظرات کاربران

    متاسفیم! برای ثبت دیدگاه باید وارد شوید!

    لینک کوتاه :
    © تمامی حقوق مادی و معنوی این وبسایت متعلق به سورس آباد می باشد.