توسعه دهنده اندروید ، عاشق خواندن و نوشتن، عاشق آموزش دادن و آموزش دیدن
همه چیز درباره جاوا ( Java ):
خیلی از ما با زبان برنامه نویسی جاوا ( Java ) سر و کار داریم.
این مقاله برای افرادی نوشته شده که میخواهند بهتر و بیشتر در مورد زبان پرقدرت جاوا اطلاعات کسب کنند.
با ما همراه باشید.
تاریخچه زبان جاوا ( Java ):
در اوایل دهه ۹۰ میلادی، شرکت سانمایکروسیستمز در حال توسعه نرم افزاری برای استفاده ابزار های الکترونیکی بود که به پروژه green شهرت گرفت و آقای جیمز گاسلینگ مسولیت تیم را بر عهده گرفت.
بعد از زمان کوتاهی آقای گاسلینگ به این نتیجه رسید که بهتر است برای این پروژه یک زبان برنامه نویسی جدید درست کند تا نسبت باقی زبان ها بیشتر قابل درک و قدرتمند تر باشد و در عین حال با تمامی ابزار های الکترونیکی کار کند. پس به سراغ زبان C و ++C رفت و پایه های اولیه زبان قدرتمند جاوا (Java) را گذاشت و این زبان را OAK یا بلوط نامید.
هرچند که خالق این زبان یعنی آقای جیمز گاسلینگ این زبان را برای پروژه خود و برای رفع نیاز های خود ساخته بود اما شرکت سانمایکروسیستمز که با پیشرفت و گسرش اینترنت متوجه شد این زبان قابلیت و تطابق های زیادی دارد تصمیم گرفت این زبان را گسترش دهد و این موضوع را با تیم خالق آن در میان گذاشت. در نتیجه تیم برای بحث و مشورت به کافهای رفتند و شروع به صحبت کردند و در آخر نام Java را به آن دادند. اسمی بر گرفته از کلمه عامیانه “قهوه” (یا فنجانی قهوه)برای همین نماد این زبان فنجانی قهوه است، که هم به اعتیاد بیشتر برنامه نویسی ها به قهوه را نشان میدهد و هم یادآور روز نام گذاری این زبان است و همچنین به خود این زبان اشاره میکند. جالب است بدانید که در پشت این نام حرف های زیادی است که میگویند این اسم بر گرفته از اول اسم هر فرد است یعنی James Gosling و Arthur Van Hoff و همچنین Andy Bechtolsheim است و یا مخففی از واژه Just Another Vertual Accelerator و … ، باید بگویم هرچه باشد امروز Java نام یکی از قدرتمندترین زبان های برنامه نویسی است که در هر وسیله ای که میبینید ممکن است بکار رفته باشد. و اینجاست که معنی واقعی شعار این زبان یعنی یکبار بنویس و همهجا اجرا کن را میدهد.
سرانجام در سال ۱۹۹۵ شرکت سان بصورت رسمی OAK را به Java تغییر نام داد و توسط مایکروسافت و نت اسکیپ پشتیبانی شد.
چندی بعد یعنی در سال ۲۰۱۰ شرکت سان که در حقیقت ریشه اصلی این زبان بود توسط شرکت بزرگ آمریکایی به نام اوراکل خریداری شد و مالک اصلی زبان جاوا اکنون شرکت اوراکل است.
یکبار بنویس و همهجا اجرا کن :
خب این مسئله چطور میشود که با یک بار نوشتن بتوانی آن را بر روی هر سیستم و یا ابزاری که میخواهی اجرا کنی؟
اینجاست که ما به Java Virtual Machine و یا ماشین مجازی جاوا (JVM) نیاز پیدا میکنیم. کاری که این ماشین مجازی برای ما انجام میدهد به دو صورت است:
- ایجاد یک محیط برای اجرای کد در سیستم های مختلف
- بهینه سازی و مدیریت حافظه آن سیستم
در حقیقت شما یکبار برنامه را مینویسید و به کمک ماشین مجازی جاوا (JVM) آنرا در سایر پلتفرمها اجرا میکنید، به همین دلیل است که میگوییم جاوا یک زبان چندسکویی (Cross Platform) است، همین امر در ابتدای کار به شدت بر محبوبیت این زبان افزود.
شاید این سوال بوجود بیایید که دقیقا این ماشین مجازی چه کاری انجام میدهد که این زبان را اینقدر قابل انعطاف کرده؟
هنگامی که شما یک سری کد را مینویسید و آن را اجرا میکنید، برنامه شما به مجموعه کدها به نام بایت کد تبدیل میشود که ماشین مجازی درک کاملی از آن ها دارد. اینجا ماشین مجازی خودی نشان میدهد و این بایت کد ها را بر اساس تنظیمات و تعاریف خاص، برای سیستم عامل ترجمه و قابل اجرا میکند. در حقیقت معجزه جاوا نه خود زبان بلکه این ماشین مجازی است.
کاربرد جاوا :
همانطور که گفتیم ماشین مجازی جاوا یا همان JVM به ما کمک میکند تا با یک بار نوشتن کد بتوانیم در هر ابزار و هر سیستمعامل آن را اجرا کنیم. اگر بخواهیم به زبان ساده تر بگوییم یعنی هر چیزی که اطراف ما وجود دارد و به نوعی کامپیوتر محسوب شود، میتوان کد های جاوا را بخواند. حال بخواهد ابر کامپیوتر باشد یا یک لبتاب ساده، سرور باشد یا یک گوشی همراه یا شاید سیستم کنترل ماشین های صنعتی یا حتی یک کنترل از راه دور برای درب خانه. میتوانید از آن برای ساخت برنامه های آمارگیری استفاده کنید یا بازی کامپیوتری با آن بنویسید.
همین مسئله باعث شد که از لحظه تولد جاوا یعنی روزی که آقای جیمز گاسلینگ به درخت بلوط کنار اتاق کارش خیره شده بود تا اسمی به ذهنش برسد تا به امروز جزو ۳ زبان برتر دنیا باشد و با والدین خود یعنی ++C و C رقابت مرگ باری داشته باشد و در سال هایی از آنها پیشی بگیرد.
پای این ابر قدرت در ایران هم باز شده و در بیشتر سازمان های دولتی و غیر دولتی استفاده میشود. پس نتیجه میگیریم شما با یادگیری جاوا در حد متوسط رو به بالا، میتوانید در انتظار یک شغل خوب با درآمد قابل قبولی باشید.
سکوهای جاوا
از زبان جاوا گفتیم و به این نتیجه رسیدیم که زبان جاوا گستردگی خود را دارد. حال میخواهیم پلتفرم های این زبان را معرفی کنیم تا درک ساده تری به این زبان داشته باشیم.
- Java SE: این نسخه که مخفف Standard Edition و در حقیقت نسخهی اصلی میباشد، شامل کتابخانههای اصلی زبان جاواست که با استفاده از آن میتوان برای دسکتاپ و سرورها برنامهنویسی کرد، این نسخه را با نام J2SE نیز میشناسند.
- Java EE: این نسخه مخفف شدهی عبارت Enterprise Edition به مفهوم نسخهی تجاری بوده و برای ساخت برنامههای تحت وب و اپلیکیشنهای تجاری و سازمانی مورد استفاده قرار میگیرد، نام دیگر این نسخه J2EE است.
- Java ME: این نسخه مخفف Micro Edition بوده و در حقیقت نسخهای کوچک و سبک است که برای برنامهنویسی ریزپردازندهها و تلفنها مورد استفاده قرار میگیرد، مانند سایر نسخهها، این نسخه نیز با نام مستعار J2ME شناخته میشود.
جاوا و اپلتها (applet)
بطور کلی اپلت به معنی برنامه های کوچکی است که در دل یک برنامه بزرگ تر اجرا میشوند. این برنامک ها امکانات فراوانی برای نوشتن برنامههای تحت وب در اختیار برنامهنویسان قرار میدهند.
همانطور که گفتیم جاوا همه چیز را در بر میگیرد و اپلت ها از این مسئله مستثنا نیستند.
اپلتها معمولا تک منظوره بوده و وظیفهی خاصی را دنبال میکنند، از جمله معروفترین اپلتهای جاوا میتوان به فلش پلیر و مدیاپلیر داخلی ویندوز که در مرورگر اینترنت اکسپلورر استفاده میشد اشاره کرد که بعد ها مایکروسافت سیلورلایت را معرفی کرد که بتواند با جاوا رقابت کند.
اینجاست که دلیل محبوبیت جاوا برایمان روشن میشود.
اهداف جاوا
از روز اول که اولین کد های جاوا زده میشد، این زبان چند هدف ثابت داشت.که میتوان این اهداف را نه تنها یک هدف ساده بلکه قدرت اصلی جاوا در نظر گرفت. به چند هدف اصلی آن اشاره میکنیم:
- قابل فهم بودن برای تمام ابزار ها و سیستمعامل ها
- راحت و قابل درک بودن
- روان بودن و کنترل حافظه با دقتی بالا
- قابل حمل بودن ( این باعث میشود که این زبان بر روی گوشی تلفن و یا ماشین رختشویی قابل اجرا باشد.)
- …
ابزار های مورد نیاز برای شروع کار
IDE :
برای کار با این زبان، ما به یک محیطی برای نوشتن کد ها نیاز داریم که بتواند که به آن IDE میگویندکه سرواژهای از Integrated Development Environment و به معنای محیط توسعه یکپارچه است.
در زبان جاوا از IDE های زیادی میشود اشاره کرد که در اینجا به معروف ترین آنها اشاره میکنیم :
- NetBeans ، یک IDE بسیار قدرتمند و محبوب برای زبان جاوا است که توسط شرکت Apache و بصورت متن باز تولید شده. این IDE خود نیز با زبان جاوا نوشته شده.
وب سایت رسمی: https://netbeans.apache.org/
مخزن رسمی: https://gitbox.apache.org/ - IntelliJ ، این IDE توسط بزرگترین شرکت نرم افزاری و توسعه دهنده های IDE های قدرتمند یعنی JetBrains بصورت متن باز تولید شده که خوده این امر نشانگر قدرت بسیار زیاد این IDE است، آنقدر خوب و روان است که شرکت گوگل تصمیم گرفت تولید IDE رسمی اندروید یعنی Android Studio توسط این شرکت توسعه یابد.
وب سایت رسمی: http://jetbrains.com/
مخزن رسمی : https://github.com/ - Eclipse ، یکی دیگر از IDE های معروف و قدرمتند جاوا است که طرفداران زیادی دارد و توسط شرکت Eclipse Foundation بصورت متن باز تولید شد که از زبان جاوا و سی در آن استفاده شده. این IDE شاید از دید اول بسیار ساده و ناکارآمد باشد اما بعد نصب تعدادی پلاگین میتوان از کد نوشتن در این IDE لذت برد.
وب سایت رسمی: https://www.eclipse.org/
مخزن رسمی : https://git.eclipse.org/c/ - bluej ، شاید در هیچ یک از سایت های ایرانی چیزی در باره این IDE ندیده و نشنیده باشید. این IDE که با زبان جاوا نوشته شده، بیشتر هدفش آموزش زبان جاوا است.البته ناگفته نماند که این IDE محبوب آقای جیمز گاسلینگ هم هست. سبک و روان بودن آن یکی از مهمترین مواردی است که آن را در لیست IDE های محبوب جاوا قرار میدهد. اگر شما هم تازه کار هستید و در حال یادگیری جاوا، به شما این IDE کوچک را پیشنهاد میکنم.
وب سایت رسمی: http://bluej.org/
JDK و JRE :
این دو ابزار در حقیقت دو کیت برای دو دسته از افرادی هستند که با جاوا سر و کار دارند.
درک هر یک از این دو ابزار برای افراد تازه کار کمی دشوار است، در نتیجه هر یک از این دو را بصورت جداگانه و مختصر تعریف میکنیم.
- JRE : سرواژگان Java Runtime Environment به معنای محیط اجرای برنامه ی جاوا می باشد.
در حقیقت این JRE است که بار اجرای کدهای جاوا را به دوش میکشد. - JDK : سرواژه Java Development Kit است. یک کیت کامل و ضروری از ابزارهای مورد نیاز برای توسعه، دیباگ و مانیتورینگ نرمافزار به زبان جاوا است.
این کیت شامل بسته JRE هم میشود. به این منظور که با نصب JDK نیازی به JRE ندارید.
سخن آخر :
شاید بشود متن های طولانی درباره زبان جاوا نوشت، از بدی و خوبی آن گفت و تجربه های شخصی هر فرد را بررسی کرد، اما قدرت این زبان تنها در چند خط هرچند طولانی قابل ذکر نیست و شما شخصا باید وارد این زبان بشوید و آن را بررسی کنید. پس نتیجه گیری نهایی را به عهده خودتان میگذارم.
پست ها و مقاله های بیشتر من را میتوانید هم در ویرگول و هم در وب سایت آموزشی اندرویدآرنا دنبال کنید.
با نظر دادن هم من رو برای بهتر نوشتن کمک میکنید و هم به من انگیزه میدید که بیشتر بنویسم
مطلبی دیگر از این انتشارات
ساخت رندوم در کامپیوتر چگونه است؟
مطلبی دیگر از این انتشارات
آشنایی با Multi threading در جاوا
مطلبی دیگر از این انتشارات
چگونه معماری نرمافزار را بهبود دهیم؟