زبان برنامه نویسی جاوا (Java) یک زبان برنامه‌نویسی همه‌منظوره (general-purpose)، شیءگرا (Object-oriented) و کلاس‌گراست (Class-based). این زبان طوری طراحی شده است که کم‌ترین وابستگی به پیاده‌سازی را داشته باشد. تکنولوژی دائماً در حال تکامل است و زبان‌هایی هم که برای توسعه آن استفاده می‌شوند همین‌طور هستند. جاوا (Java) یکی از زبان‌های برنامه‌نویسی محبوب است که کاربردهای بسیار متنوعی دارد. در این مطلب قصد داریم زبان برنامه نویسی جاوا (Java) را معرفی کنیم، تاریخچه‌ی آن را بررسی کنیم، با خصوصیات این زبان آشنا شویم و ببینیم روی چه پلتفرم‌هایی (Platform) قابل‌استفاده است؛ سپس با کاربردهای آن آشنا می‌شویم و منابعی را معرفی می‌کنیم که برای یادگیری آن به ما کمک می‌کنند.

زبان برنامه نویسی جاوا (Java)

جاوا (Java) چیست؟

جاوا (Java) یک زبان برنامه‌نویسی همه‌منظوره، کلاس‌گرا  (Class-oriented)و شیءگراست (Object-oriented) که برای داشتن وابستگی‌های پیاده‌سازی کمتر طراحی شده است. درواقع این زبان با این هدف طراحی شده است که برنامه‌نویسان یک کد را یک بار بنویسند و هر جا خواستند از آن کد استفاده کنند. این یعنی کدهای کامپایل‌‌شده (Compiled) جاوا (Java) در هر پلتفرمی (Platform) که جاوا (Java) را پشتیبانی می‌کند قابل‌استفاده است، بدون اینکه نیاز به کامپایل  (Compile)دوباره‌ی آن کد باشد. جاوا (Java) سریع، ایمن و قابل‌اعتماد است و به‌طور گسترده‌ای برای توسعه‌ی برنامه‌های کاربردی در لپ‌تاپ‌ها، مراکز داده، کنسول‌های بازی، ابررایانه‌های علمی، تلفن‌های همراه و غیره استفاده می‌شود.

تاریخچه‌ی کوتاهی از جاوا (Java)

جاوا (Java) را در ابتدا James Gosling و تیم تحقیقاتی‌اش در Microsystems  Sun(شرکت Oracle آن را خریده است) در سال ۱۹۹۱ توسعه دادند. زبان برنامه نویسی جاوا (Java) در ابتدا OAK نامیده می‌شد.

این زبان، در اصل، برای کار با دستگاه‌های قابل‌حمل (portable devices) و گیرنده‌های دیجیتالی (Set-top Boxes) ساخته شده بود. OAK یک شکست عظیم بود.

در سال ۱۹۹۵، Sun نام این زبان را به جاوا (Java) تغییر داد و به‌عنوان یکی از مولفه‌های اصلی پلتفرم جاوا (Java) Sun Microsystems منتشر شد. نحو (Syntax) این زبان مشابه زبان‌های C و C ++ است، اما در مقایسه با آن‌ها امکانات Low-level کمتری دارد.

James Gosling

شرکت Oracle پس از خریداری Sun Microsystems در ۲۷ ژانویه ۲۰۱۰، مالک فعلی پیاده‌سازی رسمی پلتفرم Java SE است. پیاده‌سازی Oracle برای Microsoft Windows ، MacOS X ، Linux و Solaris در دسترس است.

تا اینجا با جاوا (Java) و چگونگی شکل‌گیری آن آشنا شدیم. در ادامه برخی از ویژگی‌های مهم این زبان را بررسی می‌کنیم که به‌نوعی آن را از بقیه متمایز می‌کند.

برای آشنایی با زبان R این مطلب را مطالعه کنید:

با زبان برنامه‌نویسی R و کاربردهای آن آشنا شوید!

ویژگی‌هایی از جاوا (Java) که لازم است بدانیم

جاوا (Java) چندین ویژگی دارد. بعضی از آن‌ها مختص جاوا (Java) است و برخی دیگر در میان زبان‌های دیگر  نیز رایج است. بیایید با هم به برخی از آن‌ها نگاهی بیندازیم:

  • شیءگرابودن (Object-oriented)

در جاوا (Java) همه‌چیز به‌عنوان شیء نمایش داده می‌شود. یک شیء نوعی پوشش است که داده‌ها و رفتار مربوط به آن‌ها را کپسوله می‌کند.

جاوا (Java) از تمامی اصول اصلی شیء‌گرایی که در دیگر زبان‌های شیءگرا مشاهده می‌شود پشتیبانی می‌کند.

  • استقلال از پلتفرم (Platform Independent)

برنامه‌های نوشته‌شده در جاوا (Java) ابتدا توسط کامپایلر جاوا (Java Compiler) به bytecode تبدیل می‌شوند. این Bytecode را می‌توان در هر پلتفرمی که محیط جاوا (Java) ران‌تایم (JRE) دارد اجرا کرد. این موضوع برنامه‌های جاوا (Java) را مستقل از پلتفرم‌های نرم‌افزاری می‌کند.

  • امنیت (Secure)

برنامه‌های جاوا (Java) در محیط جاوا ران‌تایم (JRE) اجرا می‌شوند و تقریباً هیچ تعاملی با سیستم‌عامل ندارند و همین جاوا (Java) را از دیگر زبان‌ها ایمن‌تر می‌کند.

  • چندرشته‌ای‌بودن (Multithreaded)

جاوا (Java) از نوشتن برنامه‌هایی پشتیبانی می‌کند که می‌توانند چندین کار را در رشته‌های (Threads) جداگانه انجام دهند. همه‌ی این‌ها با استفاده از تکنیک برش زمانی (Time slicing) رشته‌های سیستم‌عامل (OS Threads) انجام می‌شود.

  • عملکرد خوب (High-performance)

جاوا (Java) یک زبان تفسیری (Interpreted Language)‌ است؛؛ بنابراین ممکن است هرگز به‌ سرعت یک زبان کامپایلری، مانند C یا C++، نرسد. اما جاوا (Java) با استفاده از کامپایلر به‌موقع  (Just-in-time compiler) عملکرد خوبی را ارائه می‌کند.

برای آشنایی با زبان برنامه‌نویسی جاوا اسکریپت این مطلب را مطالعه کنید:

با زبان برنامه‌نویسی جاوا اسکریپت (JavaScript) آشنا شوید!

پلتفرم‌های جاوا (Java Platforms)

چهار نوع پلتفرم مختلف برای زبان برنامه‌نویسی جاوا (Java) وجود دارد:

۱. پلتفرم استاندارد جاوا Java Platform, Standard Edition (Java SE)

API این پلتفرم عملکرد اصلی زبان برنامه نویسی جاوا (Java) را ارائه می‌کند و برای شبکه‌سازی (Networking)، امنیت (Security)، دسترسی به پایگاه داده (Database access)، توسعه‌ی رابط کاربری گرافیکی (GUI) و پارس XML (XML Parsing)استفاده می‌شود.

۲. پلتفرم کسب‌وکار جاوا  Java Platform, Enterprise Edition (Java EE)

پلتفرم Java EE برای توسعه و اجرای برنامه‌های کاربردی بسیار مقیاس‌پذیر (Highly scalable)، در مقیاس بزرگ (Large-scale)، چندلایه (Multi-tiered) ، قابل‌اعتماد و ایمن ، یک API و محیط ران‌تایم (Runtime) را ارائه می‌کند.

۳. پلتفرم میکروجاوا Java Platform, Micro Edition (Java ME)

پلتفرم Java ME یک API و یک ماشین مجازی(Virtual Machine)  کوچک دارد که برنامه‌های کاربردی زبان جاوا (Java) را روی دستگاه‌های کوچکی مانند تلفن‌های همراه اجرا می‌کند.

۴. پلتفرم Java FX

 JavaFX پلتفرمی برای توسعه‌ی برنامه‌های کاربردی اینترنتی عالی با استفاده از یک API رابط کاربری سبک (Lightweight UI API) است. این پلتفرم از گرافیک‌های سخت‌افزاری (Hardware-accelerated graphics) و موتورهای رسانه‌ای (Media engines) استفاده می‌کند که به جاوا (Java) کمک می‌کند تا از کلاینت‌هایی (Client) با کارایی بالاتر و API‌های مدرن برای اتصال به منابع داده شبکه استفاده کند.

بعد از صحبت درباره‌ی جاوا (Java) و ویژگی‌ها و پلتفرم‌های (Platform) آن، زمان آن رسیده است که ببینیم این زبان کجا کاربرد دارد.

برای آشنایی با زبان برنامه‌نویسی متلب روی این لینک کلیک کنید:

با زبان برنامه‌نویسی متلب (MATLAB) آشنا شوید!

کاربردهای جاوا (Java) کجاست؟

جاوا (Java)، با توجه به خصوصیاتی که قبلاً درمورد آن‌ها صحبت کردیم، کاربردهای متنوعی دارد. در این بخش به چند مورد آن اشاره خواهیم کرد:

کاربرد جاوا در برنامه‌های موبایل (Java Mobile Applications)

اول از همه لازم است بدانیم که سیستم‌‌عامل اندروید (Android OS) با زبان جاوا (Java) نوشته شده است؛ علاوه‌براین بیشتر توسعه‌دهندگان موبایل جاوا (Java) را زبان رسمی خود می‌دانند. جاوا (Java) با نرم‌افزارهای طراحی برنامه‌ها مانند Android Studio و Kotlin سازگار است. ازطرفی پلتفرم مایکرو جاوا (Java) (Java ME)  این امکان را می‌دهد که برنامه‌هایی را بسازیم که در همه‌ی دستگاه‌هایی که جاوا (Java) را پشتیبانی می‌کنند استفاده شوند.

کاربرد جاوا در دسکتاپ GUI  (Java Desktop GUI Applications)

GUI مختصر کلمه‌یGraphic User Interface  به‌معنای رابط کاربری گرافیکی است که جاوا (Java) امکان توسعه‌ی GUI را ازطریق منابعی مانند Abstract Windowing Toolkit (AWT), JavaFX, و Swing به برنامه‌نویسان می‌دهد. AWT کامپوننت‌های آماده‌ای، مانند فهرست، منو، دکمه و غیره، دارد. JavaFX از مجموعه ای از بسته‌های گرافیکی و رسانه‌ای تشکیل شده است. Swing ویجت (widget) GUI محسوب می‌شود که مؤلفه‌های پیشرفته‌تری مانند فهرست، صفحات اسکرول (Scroll panes)، صفحات تب‌بندی‌شده (Tabbed panes) و درخت (Tree) را شامل است.

کاربرد جاوا در برنامه‌های مبتنی بر وب (Java Web-based Applications)

جاوا (Java) با داشتن کامپوننت‌هایی مانند Servlets، Struts و JSPs و همچنین امنیت بالا و کدینگ (Coding) آسان کمک کرده است تا توسعه‌دهنگان وب به این زبان روی بیاورند.

کاربرد جاوا در صنعت بازی‌سازی (Java Gaming Applications)

جاوا (Java) بهترین گزینه برای بازی‌سازی محسوب می‌شود؛ زیرا از موتور بازی‌سازی  jMonkey پشتیبانی می‌کند که یکی از قدرتمندترین موتورهای سه‌بعدی حال حاضر محسوب می‌شود. البته برای بازی‌های دوبعدی هم کافی است جاوا (Java) را با CSS ترکیب کنیم و خیلی راحت از آن برای ساخت بازی‌های دوبعدی استفاده کنیم؛ پس اصلاً فرقی نمی‌کند که چه نوع بازی را می‌خواهیم بسازیم؛ جاوا (Java) برای همه‌ی آن‌ها قابل‌استفاده است.

کاربرد جاوا در کلان‌داده (Java Big Data Applications)

این روزا کلان‌داده بسیار محبوب است و همه‌جا از آن صحبت می‌شود. حالا نکته‌ی مهم این است که جاوا (Java) اینجا هم حضور دارد. خوب است بدانیم که Hadoop، مشهورترین و پرکاربردترین پلتفرم کلان‌داده (Big Data Platform)  با زبان جاوا (Java) نوشته شده است. از طرف دیگر، Scala که یک زبان برنامه‌نویسی پیشرو و قابل‌رقابت با جاوا (Java) محسوب می‌شود از جاوا (Java) نشئت گرفته شده و برای برطرف‌کردن برخی از مشکلات جاوا (Java) توسعه یافته است.

برای آشنایی با زبان SQL این مطلب را مطالعه کنید:

با زبان SQL و دستورهای آن آشنا شوید!

جمع‌بندی مطالب گفته‌شده درباره‌ی زبان برنامه نویسی جاوا (Java)

در این مطلب زبان جاوا (Java) را معرفی و تاریخچه‌ی آن را بررسی کردیم. همین‌طور دیدیم این زبان چه ویژگی‌هایی دارد و روی چه پلتفرم‌هایی  (Platform)قابل‌اجراست. همچنین به چند کاربرد آن اشاره کردیم و متوجه شدیم که گستره‌ی کاربرد زبان جاوا (Java) بسیار وسیع است. با اینکه جاوا (Java) زبانی قدیمی محسوب می‌شود که در حال حاضر یک ربع قرن از عمرش می‌گذرد و زبان‌های مدرن زیادی بعد از آن ظهور پیدا کرده‌اند، همچنان در بین پرطرفدارترین زبان‌ها در میان توسعه‌دهندگان به راه خود ادامه می‌دهد.

یادگیری زبان پایتون برای علم داده با کلاس‌های آنلاین کافه‌تدریس

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

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

برای آشنایی با کلاس آنلاین آموزش زبان پایتون برای علم داده و مشاوره‌ی رایگان برای شروع یادگیری روی این لینک کلیک کنید:

آموزش زبان پایتون برای علم داده