مقایسه جاوا و جاوااسکریپت
در این مدت سعی کرده ایم مقالات زیادی در زمینه جاوا و جاوااسکریپت در سایت منتشر کنیم ولی خیلی ها فعلا فرق بین جاوااسکریپت و جاوا رو نمیدونند و فکر می کنند این دو یکی هستند. در این مقاله میخواهم مقایسه جاوا و جاوااسکریپت رو مورد بررسی قرار دهم و ببینیم که فرق بین جاوااسکریپت و جاوا چی هستش. البته قبلی هر کدوم رو تعریف می کنیم و توضیحاتی در مورد هر زبان برنامه نویسی به صورت جدا میدهیم.
قبل از اینکه شروع به مقایسه جاوا و جاوااسکریپت کنیم باید بدونیم اصلا جاوا و جاوااسکریپت چی هستند و به چه دردی می خورند بعد در مورد فرق بین جاوااسکریپت و جاوا توضیحاتی ارائه دهیم.
جاوا چیست؟
جاوا یک زبان برنامه نویسی که به صورت شی گرا ارائه شده است. جاوا شبیه به زبان برنامه نویسی سی پلاس پلاس می باشد اما مدل شی گرایی آسانتری نسبت به سی پلاس پلاس دارد.
نکته ۱: زبان برنامه نویسی جاوا از قابلیتهای سطح پایین کمتری پشتیبانی میکند.
نکته ۲: یکی از قابلیتهای بنیادین جاوا این است که مدیریت حافظه را بطور خودکار انجام میدهد.
نکته ۳: ضریب اطمینان عملکرد برنامههای نوشتهشده به زبان جاوا نسبت به زبان های نسل اول C بالا است.
جاوا از چه اسمی گرفته شده و به چه معنی است ؟
نام جاوا از Jsut Another Vague Acronym گرفته شده است و دلیل آن این بود که تیم برنامه نویسان جاوا به قهوه خیلی علاقه داشتند. این موضوع در لوگوی جاوا هم مشهود است.
شعار جاوا :
شعار جاوا «یکبار بنویس و هر جایی اجرا کن» (Write once, Run anywhere) است که به ویژگی اجرای شدن برنامه های جاوا بر روی هر نوع سیستم عاملی و هر گونه وسیله الکترونیکی اشاره دارد.
اهداف اولیه زبان برنامه نویسی جاوا :
- این زبان باید ساده، شیگرا و مشهور باشد.
- مطمئن و بدون خطا باشد.
- وابسته به معماری کامپیوتر نبوده و قابل انتقال باشد.
- باید با کارایی بالا اجرا شود.
- باید به صورت پویا و نخکشیشده باشد.
کاربرد برنامه نویسی جاوا
اگر بخواهیم در مورد کاربرد برنامه نویسی جاوا صحبت کنیم باید به سراغ این برویم که چه دستگاها و جاهایی از جاوا استفاده میکنند. به گفته شرکت سان مایکروسیستمز (سازنده زبان برنامه نویسی جاوا) سه میلیارد دستگاه از جاوا استفاده می کنند. در حال حاضر بسیاری از دستگاه ها از جاوا استفاده میکنند که تعدادی از آنها را در زیر نام برده ایم:
- برنامه های کاربردی رومیزی از قبیل acrobat reader, media player, antivirus و…
- برنامه های کاربردی تحت وب نظیر irctc.co.in و…
- برنامه های کاربردی سازمانی نظیر برنامه های کاربردی بانکها
- موبایل
- سیستم های تعبیه شده
- کارت های هوشمند
- رباتیک
- بازی ها و….
توجه: برای اینکه درک بهتری از زبان برنامه نویسی جاوا داشته باشید پیشنهاد میکنم مقاله جاوا چیست رو مطالعه کنید. در این مقاله به صورت کامل در مورد زبان جاوا صحبت کرده ایم.
جاوااسکریپت چیست؟
جاوااسکریپت یک زبان برنامه نویسی سطح بالا، چند رویه و تفسیری است که در کنار html و css، یکی از سه هسته صفحات دنیای وب میباشد. زبان جاوااسکریپت را میتوان به صورت ساخت یافته و شی گرا استفاد کرد. در جاوااسکریپت اشیاء با اضافه شدن متدها و خصوصیات پویا به اشیاء خالی ساخته میشوند. در کل برای ایجاد ارتباط بین کاربر و سایت میتوان از جاوااسکریپت استفاده کرد.
دلیل به وجود آمدن جاوااسکریپت:
وقتی از HTML و CSS استفاده میکنیم صفحات به صورت ایستا ارائه می شوند اگر بخواهیم صفحات وب رو به صورت داینامیک و متحرک طراحی کنیم بهترین گزینه برای داینامیک کردن صفحات وب استفاده از جاوااسکریپت است. شرکت Netscape برای ایجاد و کنترل ارتباط بین مخاطبان سایت و صاحبان سایت از جاوااسکریپت استفاده کرد.
نکته ۱: جاوااسکریپت به اختصار JS معرف می شود. (JavaScript)
دیدگاه اشتباه ۱: زبان جاوااسکریپت با زبان جاوا ارتباطی ندارد.
دیدگاه اشتباه ۲: جاوااسکریپت به صورت پیوسته و چسبیده نوشته می شود. نوشتن به صورت جاوا اسکریپت اشتباه است.
نکته ۲: اکثر استفاده از جاوااسکریپت در سایت ها و صفحات اینترنتی است و به کمک جاوااسکریپت میتوان به اشیا داخل صفحات HTML دستری پیدا کرد و آنها رو تغییر داد. (به همین دلیل برای پویا نمایی در سمت کاربر از جاوااسکریپت استفاده میکنند.)
تاریخچه جاوااسکریپت :
زبان جاوااسکریپت با عنوان Mocha در شرکت Netscape توسط شخصی به نام برندان ایج طراحی و ارائه شده است. Mocha بعدا به نام Livesscript و در نهایت به نام جاوااسکریپت تغییر نام داد. اولین نسخه جاوااسکریپت در سال ۱۹۹۵ معرفی شد که در روزهای اول خیلی از کاربران فکر میکردند جاوااسکریپت نسخه جدید زبان برنامه نویسی جاوا است.
به خاطر موفقیت های زبان جاوااسکریپت، مایکروسافت مجبور شد در مرورگر خود یعنی اینترنت اکسپلورر از آن استفاده کند. یکی از دلایل موفقیت جاوااسکریپت در سال های بعدی، پشتیبانی اینترنت اکسپلورر از این زبان بود.
جاوااسکریپت در حال حاضر یکی از زبان های برنامه نویسی پر طرفدار در دنیا است. البته بسیاری از برنامه نویسان حرفه ای زبان جاوااسکریپت را در ابتدا یک زبان کم ارزش می پنداشتند.
توجه: برای اینکه درک بهتری از زبان برنامه نویسی جاوااسکریپت داشته باشید پیشنهاد میکنم مقاله جاوااسکریپت چیست رو مطالعه کنید. در این مقاله به صورت کامل در مورد زبان جاوا صحبت کرده ایم.
مقایسه جاوا و جاوااسکریپت
تا این لحظه متوجه شدیم جاوا و جاوااسکریپت چی هستند و به چه دردی می خورند حال به سراغ مقایسه جاوا و جاوااسکریپت میرویم. در ای بخش می خواهیم تفاوت جاوا و جاوااسکریپت و شباهت های این دو زبان رو مورد بررسی قرار دهیم. همین حال بگویم این دو، زبان های برنامه نویسی مستقلی هستند و ربطی به هم ندارند. در بخش زیر در قالب ۵ مورد فرق بین جاوااسکریپت و جاوا را مورد بررسی قرار داده ایم.
- Java از یک نوع مشخص برخوردارند. به این معنا که اگر یک متغیر را از نوع عددی تعریف کنیم، تا پایان این متغیر از نوع عددی است و نمیتوانیم مقدار غیر عددی به آن ارسال کنیم. اما در JavaScript چنین محدودیتی وجود ندارد.
- Java یک زبان برنامه نویسی شیء گرا است در حالیکه JavaScript یک زبان اسکریپت نویسی شیء گرا است.
- نرم افزارهای نوشته شده با Java قابلیت اجرا بر روی ماشین مجازی و مرورگرهای اینترنتی را دارند اما کدهای JavaScript فقط بر روی مرورگرهای اینترنتی اجرا می شود و ذاتا برای همین نوع کار طراحی و پیاده سازی شده است.
- برنامه های نوشته شده با Java بایستی کامپایل شوند در صورتیکه کدهای JavaScript فقط یک متن ساده هستند و نیازی به کامپایل ندارند.
- هر کدام از این زبان ها نیاز به پلاگین ها و نیازمندی های متفاوتی برای اجرا شدن دارند.
شباهت ها
بعد از اینکه تفاوت جاوا و جاوااسکریپت را مورد بررسی قرار دادیم حال شباهت های این دو زبان رو هم بیان کنیم. زبان جاوا و جاوااسکریپت دو شباهت عمده با هم دارند. که در بخش زیر به این دو اشاره شده است.
- امروزه هم Java و JavaScript میتوانند برای پیاده سازی سرور برنامه ها استفاده شوند. در JavaScript این کار با استفاده از Node.js انجام میشود.
- با استفاده از هر دو زبان میتوانیم نرم افزار های موبایل ایجاد کنیم.
نتیجه گیری:
اولین چیزی که در مقایسه جاوا و جاوااسکریپت باید مد نظر قرار گیرد بحث مستقل بودن این دو زبان می باشد. این دو زبان کاملا با هم متفاوت و قرق دارند. و هر کدام برای یک سری کارهای خاص تولید شده اند. در این مقاله سعی کردیم توضیحی در مورد هر کدام ارائه دهیم و در آخر فرق بین جاوااسکریپت و جاوا را مورد بررسی قرار دهیم.