
Java چیست ؟
اگر یادتان باشد در مطالب قبلی در مورد جاوا اسکریپت و کاربردهایی که در طراحی سایت دارد صحبت کردیم؛ اما برخی افراد گاهی جاوا را با جاوا اسکریپت اشتباه میگیرند و حتی دیده شده که این دو (یعنی جاوا و جاوا اسکریپت) را یکسان میدانند. خب این تصور کاملاً اشتباه است. در مقاله امروز تفاوت بین جاوا و جاوا اسکریپ را بیان خواهیم کرد و با جاوا و تاریخچۀ آن به طور مختصر آشنا خواهیم شد. با ما همراه باشید.
معرفی جاوا؟
جاوا یک برنامهنویسی شیگرا و همه منظوره است که در بیشتر سیستم عاملها قابل اجرا است. وقتی برنامه نویسان با جاوا نرمافزار یا اپلیکیشن طراحی میکنند، کدهای کامپایل شده (که به آنها بایت کد میگویند) در ویندوز، لینوکس و مک اجرا خواهند شد. به زبانهای این چنینی WORA نیز گفته میشود. WORA یعنی: write once, run anywhere.
سینتکس یا نحو زبان جاوا مشابه C و C++ است. تمام کدهای جاوا مانند C++ داخل کلاس نوشته میشوند و به غیر از دادههای اولیه که از نوع کاراکتر، اعداد صحیح، اعشاری و بولین هستند، سایر دادهها شئ تعریف میشوند.
اما دلیل اصلی شهرت و محبوبیت جاوا چیست؟ بسیاری از کارشناسان اپلِتهای جاوا (Java applets) را که به بهبود گرافیک رابط کاربری کمک زیادی کردند دلیل این محبوبیت میدانند.
نکته: اپلت به برنامههایی گفته میشود که در پسزمینۀ مرورگر وب، دسکتاپ یا موبایل نصب شدهاند و اجازه میدهند برنامههایی که با جاوا نوشته شدهاند اجرا شوند.
اگر یادتان باشد، قدیمها که هنوز گوشی لمسی نیامده بود (چه برسد به اندروید و IOS) یک برنامه مسنجر بود که روی گوشیهای دکمهی مانند (Sony Ericson K310) نصب میشد و امکان چت آنلاین با اینترنت فوقِ کند را فراهم میکرد. این برنامه که ShMessenger نام داشت با جاوا نوشته شده بود و به راحتی روی گوشیها قابل نصب بود.
تاریخچه مختصری از جاوا
آغاز ظهور زبان جاوا برمیگردد به سال 1990 و شرکت سان مایکروسیستمز. جاوا یکی از پروژههای داخلی این شرکت بود که توسط آقای جیمز گاسلینگ رهبری میشد و قرار بود که به عنوان جایگزینی برای زبان های C و C++ مطرح شود. جیمز گاسلینگ از محدودیتهای زبان C++ دل خوشی نداشت، به همین دلیل به فکر افتاد تا زبانی مبتنی بر C++ اما با محدودیتهای کمتر طراحی کند.
افسانههای مختلفی درباره نامگذاری جاوا وجود دارد. نام این زبان در ابتدا Oak به معنی بلوط بوده است و اینطور که میگویند، انتخاب نام بلوط به این دلیل بوده که پنجره اتاق آقای گاسلینگ رو به یک درخت بلوط باز میشده و موقع برنامهنویسی در معرض دید او بوده است.
بعد از مدتی مدیران شرکت سان به این نتیجه میرسند که Oak نام جالبی نیست و بهتر است که نام دیگری جایگزین آن شود. طی جلسهای که آقای جیمز گاسلینگ و همکارانش در کافه داشتند قرار بر این شد که نام زبان جدید را JAVA بگذارند. JAVA چیزی نیست جز حروف اول نام های James Gosling،Arthur Van Hoff و Andy Bechtolsheim که در آن کافه حضور داشتند. فنجان قهوه ای هم که در لوگوی جاوا میبینید از همان کافه برگرفته شده است.
یک داستان دیگر هم درباره این نامگذاری وجود دارد که ادعا میکند جیمز گاسلینگ به نوعی قهوه علاقه داشت که در جزیرهای به نام JAVA از جزایر اندونزی میروید. ناگفته نماند که داستان دومی معتبرتر است.
سرانجام... در سال 1995 بالاخره جاوا به طور رسمی به بازار معرفی شد و به دلایل مختلفی به سرعت مورد توجه قرار گرفت.
از آن زمان تا کنون (یعنی همین سال 2018) نسخههای مختلفی برای جاوا ارائه شده است و تغییرات زیادی در آن رخ داده است. با مراجعه به سایت جاوا میتوانید لیست این تغییرات را مشاهده کنید.
خب، فکر میکنم بد نیست نگاهی هم داشته باشیم به مشکلات جاوا.
آیا جاوا امنیت سیستم شما را به خطر میاندازد؟
بله؛ ممکن است جاوا امنیت سیستم شما را به خطر بیاندازد. چیزی که صدای خیلی از کاربران و کارشناسان امنیت را درآورده، وجود حفرههای امنیتی در افزونۀ مرورگر جاوا است. به عبارت دیگر، این برنامههای جاوا نیستند که مشکل امنیت دارند، بلکه افزونه مرورگر وب است که ممکن است کار دستتان بدهد.
کارشناسان شرکت کسپراسکای (آنتی ویروس معروف) طبق تحقیقاتی که داشتند، اپلتهای مرورگر جاوا را مسئول نیمی از حملات هکرها در سال 90 اعلام کردهاند. حفرههای امنیتی موجود در جاوا اجازه نفوذ بدافزارها و سرقت کلمات عبور یا اطلاعات شخصی را به کلاهبرداران اینترنتی میدهد؛ برای همین هم بسیاری از کارشناسان توصیه میکنند که افزونه جاوا را در مرورگر خود غیر فعال کنید.
البته ناگفته نماند که شرکت گوگل چند سالی است که پشتیبانی از اپلتهای جاوا را در مرورگرهای کروم (از نسخه 45 به بعد) خود متوقف کرده است.
توجه: تکنولوژی جدیدی که این روزها به عنوان جایگزین جاوا از آن نام برده میشود، .NET است.
فرق بین جاوا و جاوا اسکریپت در چیست؟
جاوا یک زبان برنامهنویسی شی گرا است اما جاوا اسکریپت، یک زبان اسکریپتنویسی است. اگر یادتان در همان مقالۀ « جاوا اسکریپ چیست؟ » گفتیم یکی از دلایلی که نام جاوا اسکریپت را برای این زبان انتخاب کردهاند این است که در آن زمان جاوا زبانی شناخته شده و محبوب بود؛ برای همین فکر کردند که اگر از این محبوبیت استفاده کنند و نام جاوا اسکریپت را برای آن زبان انتخاب کنند، این زبان سریعتر جا افتاده و شناخته میشود.
پس نتیجه میگیرم جاوا و جاوا اسکریپت هیچ ربطی به هم ندارند!
از دیگر تفاوتهای جاوا و جاوا اسکریپت میتوان به این اشاره کرد که جاوا اسکریپت هیچ اپلت یا برنامه مستقلی ایجاد نمیکند، بلکه به کدهای HTML میپیوندد و کارهایی مثل ایجاد انمیشین در صفحه وب را انجام میدهد. با جاوا میشود برنامههایی ساخت که در مرورگر یا یک ماشین مجازی (Virtual Machine) اجرا شوند، اما با جاوا اسکریپ نمیشود برنامه ساخت؛ کدهای جاوا اسکریپت بدون کامپایل در مرورگر اجرا میشوند.