آشنایی با زبان Java و کاربردهای آن
Java یک زبان برنامه نویسی کامپیوتری همه منظوره است که بر پایه کلاس و شی گرا است و طوری طراحی شده است که تا آنجا که ممکن است وابستگی اجرایی کمی به سایر نرم افزارها داشته باشد. خالقان آن قصد داشته اند تا نرم افزار به برنامه نویسان آپها امکان دهد تا ” یکبار برنامه را بنویسند و همه جا آن را اجرا کنند” ( WORA ) این یعنی آن که کدی که در یک platform اجرا میشود در دیگری نیاز به کامپایل مجدد نداشته باشد. برنامههای جاوا به بایتکد ( bytecode ) کامپایل میشوند.
که میتوانند روی هر ماشین مجازی جاوا ( JVM ) صرف نظر از معماری کامپیوتری آن اجرا شوند. تا کنون جاوا به خصوص برای کاربردهای نرم افزارهای وب سایتی ، یکی از محبوبترین زبانهای برنامهنویسی در حال استفاده ، با ۹ میلیون برنامه نویس ، بوده است. در اصل جاوا توسط James Gosling در شرکت Sun Microsystems ( که با اوراکل ادغام شده است) نوشته شده است و در ۱۹۹۵ به عنوان مولفه اصلی platform این شرکت منتشر شد. بسیاری از دستورات گرامری آن از C و ++C گرفته شده است ولی امکانات آن کمی نسبت به آن دو در سطح پایینتری است.در ادامه با پورتال جامع مهندسین ایران همراه باشید.
تاریخچه زبان Java
در سال ۱۹۹۰ سان میکروسیستم در حال توسعه نرمافزاری برای استفاده ابزارهای الکترونیکی بود که مسئولیت تیم که آن را تیم پروژه گرین نامیدند جیمز کاسلینگ بر عهده گرفت. در سال ۱۹۹۱ تیم تصمیم گرفت که زبان جدید را OAK بنامند. در سال ۱۹۹۲ تیم پروژه گرین زبان جدیدی را معرفی کرد که با ابزارهای مختلف خانگی و لمسی کار میکرد.
در سال ۱۹۹۳ وب جهانی توسعه یافت و زبان جدید با معرفی اپلت که قابلیتهای زیادی به کامپیوترهای متصل به وب میافزود مشهور شد. در سال ۱۹۹۵ زبان OAK به JAVA تغیر نام پیدا کرد و توسط مایکروسافت و نت اسکیپ پشتیبانی شد. در سال ۱۹۹۶ دیگر java زبانی به صورت همه گیر چند منظوره شناخته شده بود. در سال ۲۰۰۷ زبانهایی با استاندارد JVM مانند groovy ایجاد شد و در سال ۲۰۱۴ جاوا سعی کرد با معرفی نسخه ۸ برخی از قابلیتهای زبانهای دیگر را به جاوا اضافه نماید.
جاوا از چه اسمی گرفته شده و به چه معنی است ؟
نام جاوا از Jsut Another Vague Acronym گرفته شده است و دلیل آن این بود که تیم برنامه نویسان جاوا به قهوه خیلی علاقه داشتند. این موضوع در لوگوی جاوا هم مشهود است.
چه کسی زبان برنامه نویسی جاوا رو به وجود آورد ؟
جیمز آرتور گاسلینگ از دانشمندان کامپیوتر و زاده کانادا است.
اهداف اولیه زبان برنامه نویسی جاوا
- این زبان باید ساده، شیگرا و مشهور باشد.
- مطمئن و بدون خطا باشد.
- وابسته به معماری کامپیوتر نبوده و قابل انتقال باشد.
- باید با کارایی بالا اجرا شود.
- باید به صورت پویا و نخکشیشده باشد.
نسخه های جاوا
از سال ۲۰۱۷، هر دو جاوا ۸ و ۹ بهطور رسمی پشتیبانی میشوند. نسخههای عمده نسخه جاوا همراه با تاریخ انتشار آنها:
- JDK 1.0، انتشار در ۲۱ ژانویهٔ ۱۹۹۶
- JDK 1.1، انتشار در ۱۹ فوریهٔ ۱۹۹۷
- J2SE 1.2، انتشار در ۸ دسامبر ۱۹۹۸
- J2SE 1.3، انتشار در ۸ می ۲۰۰۰
- J2SE 1.4، انتشار در ۶ فوریهٔ ۲۰۰۲
- J2SE 5.0، انتشار در ۳۰ سپتامبر ۲۰۰۴
- Java SE 6، انتشار در ۱۱ دسامبر ۲۰۰۶
- Java SE 7، انتشار در ۲۱۲۸ ژوئیه ۲۰۱۱
- Java SE 8، انتشار در ۱۸ مارس ۲۰۱۴
- Java SE 9، انتشار در ۲۱ سپتامبر ۲۰۱۷
- Java SE 10 انتشار در ۲۰ مارس ۲۰۱۸
نسخههای مختلف جاوا
شرکت سان مایکروسیستمز، کیت توسعه نرمافزاری (JDK) شماره ۱.۰ جاوا را در سال ۱۹۹۵ منتشر کرده است. این JDK نخست برای توسعه اپلیکیشنهای دسکتاپ و اَپلت (applet) مورد استفاده قرار گرفت. متعاقباً جاوا برنامهنویسی دستگاههای موبایل و سرورهای تجاری را نیز در این کیت میسر ساخت. ذخیرهسازی همه کتابخانهها در یک JDK منفرد باعث شده که این کیت بسیار بزرگتر از حد مناسب برای توزیع شود. البته باید این نکته را در نظر داشته باشید که توزیع نرمافزارها در دهه ۱۹۹۰ توسط CD های اندازه کوچک و یا از طریق سرعتهای پایین شبکه صورت میگرفته است. از آنجا که اغلب توسعهدهندگان به همه API ها نیاز نداشتند (یک توسعهدهنده اپلیکیشنهای دسکتاپ به ندرت به API های سرورهای تجاری نیاز پیدا میکند) شرکت Sun این مشکل توزیع را با تقسیم جاوا به سه نسخه حل کرد. این نسخهها نهایتاً به نام JAVA SE، JAVA EE و JAVA ME نامیده شدند که در ادامه هر کدام را توضیح دادهایم.
پلتفرم جاوا، نسخه استاندارد (Java SE): این نسخه از جاوا برای توسعه اپلیکیشنهای سمت کلاینت که روی رایانههای رومیزی اجرا میشوند، و اپلتها که روی مرورگرهای وب اجرا میشوند، طراحی شده است.
پلتفرم جاوا نسخه انترپرایز (Java EE): این نسخه از جاوا بر مبنای JAVA SE طراحی شده و به طور انحصاری برای توسعه اپلیکیشنهای سرور با گرایش سازمانی استفاده میشود. اپلیکیشنهای سمت سرور شامل سرولتها (Servlet) میشود که برنامههای جاوای مشابه اپلت هستند؛ اما به جای کلاینت روی سرور اجرا میشوند. سرولتها از API Java EE Servlet استفاده میکنند.
پلتفرم جاوا، نسخه میکرو (Java ME): این نسخه از جاوا بر مبنای JAVA SE طراحی شده است. این پلتفرم برای توسعه میدلتها (MIDlet) استفاده میشود که برنامههای جاوایی هستند که روی دستگاههای اطلاعاتی موبایل اجرا میشوند. ایکسلت (Xlet) ها نیز برنامههای جاوایی هستند که روی دستگاههای مونتاژی اجرا میشوند.
JAVA SE پلتفرم اصلی جاوا است و پلتفرمهای دیگر بر مبنای آن طراحی شدهاند.
کاربرد برنامه نویسی جاوا
اگر بخواهیم در مورد کاربرد برنامه نویسی جاوا صحبت کنیم باید به سراغ این برویم که چه دستگاها و جاهایی از جاوا استفاده میکنند. به گفته شرکت سان مایکروسیستمز (سازنده زبان برنامه نویسی جاوا) سه میلیارد دستگاه از جاوا استفاده می کنند. در حال حاضر بسیاری از دستگاه ها از جاوا استفاده میکنند که تعدادی از آنها را در زیر نام برده ایم:
- برنامه های کاربردی رومیزی از قبیل acrobat reader , media player , antivirus و…
- برنامه های کاربردی تحت وب نظیر irctc.co.in و…
- برنامه های کاربردی سازمانی نظیر برنامه های کاربردی بانکها
- موبایل
- سیستم های تعبیه شده
- کارت های هوشمند
- رباتیک
- بازی ها و….
ویژگی های زبان جاوا
واقعا اگر بخواهیم جاوا رو مورد بررسی قرار دهیم و در مورد ویژگی های برنامه نویسی جاوا صحبت کنیم میتوان یک لیست بلند بالا رو منتشر کرد ولی در این مطلب در مورد تعداد از ویژگی های زبان جاوا صحبت میکنیم.
- ساده (یادگیری و آموزش برنامه نویسی جاوا نسبت به زبان های مثل سی و سی پلاس پلاس ساده است)
- شیء گرا (زبان جاوا، یک زبان شی گرا است. منظور از شی گرا بودن یعنی ما نرم افزار خود را به عنوان ترکیبی از انواع مختلف اشیائی که هر دو “داده و رفتار” را شامل می شوند، سازماندهی می کنیم.)
- قابل حمل (میتواند روی هر پلتفرمی اجرا شود)
- بستر مستقل (یک پلت فرم محیط سخت افزاری یا نرم افزاری است که در آن یک برنامه اجرا می شود.)
- امن (جاوا امن است چون هیچ نشانگر صریح ندارد، برنامه های جاوا در داخل سیستم عامل مجازی ماشین مجازی اجرا می شود)
- تنومند
- معماری خنثی (هیچ ویژگی وابسته به آن وجود ندارد.)
- پویا
- تفسیر شده
- عملکرد بالا (جاوا سریعتر از تفسیر سنتی است، زیرا کد بایت “نزدیک” به کد بومی است و هنوز تا حدودی کندتر از یک زبان کامپایل شده (به عنوان مثال، C ++))
- چندگانه
- توزیع شده (ما می توانیم برنامه های توزیع شده را در جاوا ایجاد کنیم. RMI و EJB برای ایجاد برنامه های توزیع شده استفاده می شود.)
جاوا چه تفاوتی با جاوا اسکریپت دارد؟
هیچ رابطه فنی بین جاوا و جاوا اسکریپت وجود ندارد و این دو، دو زبان کاملا مستقل هستند. جاوا اسکریپت از سوی نت اسکیپ (Netscape) در دهه ۹۰ میلادی توسعه یافته است و در ابتدا LiveScript نامیده میشد. زمانی که نت اسکیپ دید هیچ کس از LiveScript استفاده نمیکند و جاوا محبوبیت روزافزونی دارد، نام آن را به جاوا اسکریپت تغییر داد تا بتوانند از این موج محبوبیت جاوا بهرهمند شوند. در واقع این ایده موفق بود و جاوا اسکریپت نیز محبوب شد؛ اما از منظر فنی هیچ رابطهای بین این دو وجود ندارد و صرفاً دارای تشابه اسمی هستند. شاید تنها مشابهت فنی بین جاوا و جاوا اسکریپت را در این بدانیم که هر دو آنها دستور زبانشان را از زبان برنامهنویسی C گرفتهاند. به همین دلیل اگر با جاوا آشنا باشید، در این صورت یادگیری جاوا اسکریپت آسان خواهد بود و برعکس.
موقعیتهای شغلی برای برنامهنویسان جاوا چطور است؟
جاوا در سالهای اخیر همواره در فهرست پنج زبان برنامهنویسی محبوب با فرصتهای شغلی متعدد و متنوع و درآمد عالی بوده است. یک اصل مهم در مورد یادگیری زبانهای برنامهنویسی وجود دارد که هرگز نباید فراموش کرد، و آن این است که یادگیری یک زبان برنامهنویسی خاص مانند جاوا، صرفاً یادگیری آن زبان نیست؛ بلکه بدین ترتیب شما با همه زبانهای دیگر برنامهنویسی نیز آشنا میشوید. بنابراین جاوا به عنوان یک زبان با مشخصاتی که در بخشهای پیشین اشاره کردیم یک زبان خوب برای شروع یادگیری برنامهنویسی محسوب میشود. کسانی که جاوا را به خوبی یاد میگیرند، میتوانند هر زبان دیگری شامل C#، پایتون و حتی روبی را نیز به سادگی بیاموزند. بنابراین باید این نکته را به خاطر داشته باشید که یادگیری جاوا به عنوان زبان برنامهنویسی شماره یک دنیا در طی قریب به دو دهه اخیر ضرورتی فراتر از یافتن شغل مرتبط دارد.
برنامهنویسان جاوا به طور عمده از جاوا برای طراحی اپلیکیشنها و وبسایتهایی استفاده میکنند که اجزای دینامیک دارند. برخی از آنها روی اپلیکیشنها و برخی دیگر روی وبسایتها کار میکنند اما در هر صورت اغلب توسعهدهندگان جاوا باید با مفهوم پروژه بودن کارشان آشنا باشند.