همه چیز درباره زبان برنامه نویسی جاوا
زبان برنامه نویسی جاوا در اوایل دههی ۱۹۹۰ میلادی، حدوداً مصادف با سال ۷۴ شمسی، توسط جیمز گاسلینگ و همکارانش در شرکت سان مایکروسیستمز طراحی شد. جالب است بدانید این زبان در ابتدا Oak به معنی بلوط نام داشت، اما بعدها تصمیم بر این شد که نام بهتری برایش انتخاب کنند.
آنها این نام را در جلسهای که در کافیشاپ برگزار شد، انتخاب کردند و به همین خاطر، نماد این زبان یک فنجان قهوه داغ در نظر گرفته شد که از آن بخار میدمد. جاوا از سوی سایت معتبر tiobe که سایت بسیار معتبری هم است، از سال 2001 به عنوان اولین یا دومین زبان برنامهنویسی دنیا مطرح بوده است.
ظهور جاوا
و اما داستان طراحی این زبان از این قرار است که در سال 1990 شرکت سان مایکروسیستمز و گاسلینگ تصمیم به توسعه و انتشار نسخه پیشرفتهتر از ++C گرفت. تلاشها و تحقیقات آنها تا جایی ادامه پیدا کرد که زبان جدیدی خلق شد. این زبان مزایای زیادی داشت. از جمله اینکه میتوانست:
- به آسانی پرتابل شود
- برای افراد مبتدی جزو گزینههای مطلوب باشد
- به صورت اتوماتیک و خودکار به مدیریت حافظه بپردازد.
از آنجایی که شعار زبان برنامه نویسی جاوا “یکبار بنویس و همه جا اجرا کن” بود، به یک باره به یکی از محبوبترین زبانهای برنامهنویسی جهان نیز تبدیل شد.
اما جاوا چیست؟
جاوا یک زبان برنامهنویسی بسیار کاربردی است که به زبانهای C، سیشارپ و ++C، سی پلاس پلاس نیز شباهت دارد اما تفاوتهایی نیز دارند که دو مورد از مهمترینهایش عبارتند از:
- استفاده از آن به نسبت دو تای دیگر آسانتر است.
- امکان ساخت برنامههایی قدرتمند با آن وجود دارد.
در تعریف دقیقتر برای زبان برنامه نویسی جاوا ، باید از شرکت سان مایکروسیستمز وام بگیریم؛ زیرا بهترین و دقیقترین تعریف را در سال 2000 ارائه کرده است:
“جاوا زبان رایانهای ساده، شیگرا، مناسب شبکه، تفسیرشدنی، مستحکم، امن، فارغ از معماری، پرتابل، با عملکرد بالا، چندنخی است.”
این تعریف به خوبی نشان میدهد که جاوا، زبانی کامل و فوقالعاده است. برای درک بهتر، هر یک از این موارد را به تفصیل برایتان شرح میدهیم.
سادگی
همانطور که گفتیم، جاوا به C و ++C شباهتهای زیادی دارد اما دلیل به وجود آمدن جاوا، حذف پیچیدگیهای آن دو بود. از جمله آن پیچیدگیها میتوان به اشارهگرها، پیادهسازی چندباره وراثت و بارگذاری بیش از حد عملگرها اشاره کرد که این موارد همگی در جاوا حذف شدند. البته در زبان برنامه نویسی جاوا امکان بازیافت حافظه وجود دارد که این ویژگی در C و ++C وجود نداشت!
شیگرا
شیگرا بودن جاوا دلیل خوبی است که برنامهنویسان از این زبان استفاده کنند. این ویژگی باعث میشود افراد وقتی به مشکلی برمیخورند مستقیماً به حل مسئله بپردازند، نه درگیری با محدودیتهای مسئله. این نکته وجه تمایز دیگری بین جاوا و C است. چهار مبحث اصلی شیگرایی در جاوا عبارتند از:
- Inheritance (وراثت)
- Polymorphism(چندریختی)
- Data Encapsulation (کپسوله سازی)
- Abstraction(انتزاع)
زبانی تفسیر شده
زبان برنامه نویسی جاوا از طریق ماشین مجازی اجرا میشود. این ماشین مجازی دستورالعملها و دیتاها را که همان بایتکد نام دارند، از طریق تفسیر ترجمه میکند. منظور از تفسیر، شناسایی معنی آن بایتکدها و بعد انتخاب دستورالعملهای خاص پلتفرم برای اجرا است. این ویژگی تفسیری بودن جاوا که ویژگی خیلی خوب و منحصربهفردی برای برنامهنویسان است، باعث شده که پیدا کردن خطاها در برنامههای جاوا آسانتر شود و به تبع آن، حل مسئله نیز سریعتر صورت میگیرد.
استحکام عالی
برنامههای جاوا به دلیل استفاده گستردهشان در جاهای مختلف باید مستحکم و مطمئن باشند. اما ویژگیهای یک زبان مستحکم چیست؟ در جاوا شامل اعلانها، بررسی مجدد نوع داده، هم در زمان کامپایل و هم در زمان اجرا، بررسی اتومات کرانها و کنار گذاشتن اشارهگرها میشوند.
جاوا مطمئن!
چون برنامههای جاوا روی پلتفرمهای مختلف و گوناگون شبکهها اجرا میشوند، امن و مطمئن بودنشان بسیار حائز اهمیت هستند؛ زیرا باید بتوانند در مقابل کدهای ویروسی، سرقت اطلاعات کارتهای بانکی و یا اعمال مخرب دیگر، ایستادگی کنند. در گذشته، جاوا دارای اشکالاتی در این زمینه بود که نهایتاً شرکت سان مایکروسیستمز و درحال حاضر شرکت اوراکل، آپدیتهای جدید امنیتی برای جاوا را منتشر کردند. حال به ویژگیهایی که باعث این اطمینان میشوند، میپردازیم. این ۲ مورد بسیار مهم هستند:
- کنار گذاشتن اشارهگرها
- ویژگی امنیتی مدل امن و رمزنگاری
این دو ویژگی در کنار یکدیگر از تأثیر تخریبکننده ویروسها و همچنین کدهای خطرناک جلوگیری میکنند و زبان برنامه نویسی جاوا را به یک زبان امن و مطمئن تبدیل میکنند.
از دیگر ویژگیهای جاوا به موارد زیر میتوان اشاره کرد:
- عدم وابستگی به معماری
- پرتابل بودن
- دارای عملکرد بالا
- زبان multithread
- استاتیک
همانطور که اشاره کردیم، شعار اصلی جاوا یک بار بنویس، همه جا اجرا کن بود، اما این به چه معناست؟ این شعار در عمل به اینگونه درآمد که تنها یک بار برنامه نوشته میشود و بعد از آن با JVM یا همان ماشین مجازی، میتوان در هر جایی که میخواهیم آن برنامه را اجرا کنیم. حالا ماشین مجازی چیست؟
ماشین مجازی چیست و چطور کار میکند؟
ماشین مجازی جاوا برای اجرای برنامه در هر سیستمی، محیط مناسب فراهم میکند و همچنین حافظه آن سیستمها را مدیریت کرده و بهینه نگه میدارد.
تفاوت جاوا با جاوا اسکریپت
حتماً تا به حال نام جاوا اسکریپت را شنیدهاید و اگر راجع به زبانهای برنامهنویسی اطلاعاتی نداشته باشید، آنها را با یکدیگر اشتباه گرفته و یا یکی دانستهاید. اما واقعیت این است که از لحاظ فنی و ساختاری، هیچ رابطهای بین جاوا و جاوا اسکریپت وجود ندارد و هرکدام دو زبان کاملا مستقل هستند.
جاوا برای چه برنامههایی است؟
در بالا اشاره کردیم که فقط با نوشتن یک بار برنامه، میتوان آن را برای سیستمها اجرا کرد؛ بنابراین در پرسش به این سوال باید گفت جاوا برای سیستمعاملهای زیادی اعم از ویندوز، لینوکس، اندروید، وب و… است.
نسخههای اصلی جاوا
جاوا به دلیل گسترش زیاد، از پلتفرمهای زیادی حمایت میکند که برای اجرای هر مورد، نیازمند نسخه مناسب و خاصی هستیم. در این بخش مهمترین نسخههای جاوا را برایتان معرفی میکنیم:
- نسخه JavaSE: نسخه اصلی جاوا، SE بوده که مخفف Standard Edition است. این نسخه شامل کتابخانههای اصلی زبان جاواست که به آن J2SE نیز میگویند.
- نسخه Java EE: مخفف Enterprise Edition EE میشود و به معنی تجاری بودن این نسخه است. به همین دلیل از این نسخه برای ساخت برنامهها و اپهای تجاری استفاده میشود. نام دیگر این نسخه J2EE است.
- نسخه Java ME: نام این نسخه نیز مخفف Micro Edition بوده و همانطور که از اسمش پیداست، نسخهای میکرو و کوچک است که برای برنامهنویسی ریزپردازندهها و نسخههای قدیمیتر به کار گرفته میشد، این نسخه نیز با نام دیگری به اسم J2ME در زبان برنامه نویسی جاوا ، شناخته میشود.