بدلیل شباهت اسمی جاوا با جاوا اسکریپت، بسیاری بر این تصورند که این دو بهم مرتبط یا ازهم نشات گرفته اند. دراین مقاله با معرفی این 2 زبان برنامه نویسی از لحاظ ساختاری و کاربردی، تفاوت های آنها را بیان خواهیم کرد.
تفاوت جاوا و جاوا اسکریپت
جاوا اسکریپت (Java Script) یک زبان اسکریپت نویسی شی گراء می باشد، به این معنا که هر عنصر در صفحه وب را به دید یک شی می بیند و با آن رفتار می کند و کدهای آن بسیار شبیه به زبان C می باشد. زبان جاوا اسکریپت توسط شرکت Netscape طراحی و پیاده سازی شده است. هدف اصلی این زبان نوشتن برنامه های ساده، ایجاد تعامل بیشتر کاربر با صفحات وب و افزودن قابلیت داینامیک به صفحات وب می باشد. قابلیت های بیشماری از قبیل: افزایش کیفیت طراحی صفحات، کنترل مرورگر بازدید کننده ، ساخت و استفاده از کوکی ها و... را دارا می باشد.
جاوا اسکریپت یک زبان اسکریپت نویسی است که بیشتر شبیه به زبان های برنامه نویسی سمت کلاینت (Client side) عمل می کند، نیاز به کامپایل شدن و کامپایلر ندارد و توسط مرورگر های اینترنتی پردازش شده و درنهایت اجرا می شود. زبانی است که در صفحات html با تگ< script > مشخص می شود یا در فایل جداگانه با پسوند js فراخوانی می شود. یکی از ویژگی های JavaScript این است که می تواند با عناصری که در کدهای خودش وجود ندارند، نیز تعامل برقرار کند، برای نمونه با ادغام جاوا اسکریپت با تکنولوژی مانند AJAX می توان یک محیط ارتباطی بسیار خوبی با کاربر ایجاد کرد. برای نوشتن برنامه های جاوا اسکریپت نیاز به ابزار خاصی نیست، می توان با یک ویرایشگر متن ساده مثل notepad این کار را انجام داد و برای اجرای آن از یک مرورگر که از جاوا اسکریپت پشتیبانی می کند، استفاده کرد که تقریبا همه ی مرورگرهای جدید از جاوا اسکریپت پشتیبانی می کنند.
جاوا یک زبان برنامه نویسی پیشرفته شی گراءمی باشد که توسط شرکت Sun Microsystems طراحی و پیاده سازی شده است. زبان java از نظر ساختاری بسیار شبیه به زبان C و C++ می باشد به این صورت که از زبان های C و C++ مشتق شده است.
زبان برنامه نویسی Java در دنیای برنامه نویسی به دلیل برخی از ویژگی هایی که توسط تیم جاوا بیان شده است، دارای محبوبیت می باشد از قبیل :
- ساده (Simple): اگر از قبل به زبان های C ,C++ یا با مفاهیم شی گرایی آشنایی داشته باشید، یادگیری جاوا خیلی ساده می باشد.
- ایمن (Secure): هنگامی که برنامه ای را دانلود می کنید و می خواهید برروی سیستم خود نصب کنید، ممکن است با مشکل حمله ویروس ها یا کشف اطلاعات خصوصی نظیر شماره کارت ها و کلمات عبور و... مواجه شوید که جاوا با ایجاد یک دیوار آتش بین رایانه شما و برنامه شبکه ای شده امنیت را بیشتر کرده است.
- قابل حمل (Portable): وابسته به سیستم عامل خاصی نیست یعنی می توان بر روی هر رایانه با هرنوع سیستم عاملی اجرا کرد.
- مدیریت حافظه : جاوا به صورت خودکار حافظه را تخصیص می دهد و حافظه را آزاد می کند زیرا جاوا یک مجموعه سطل آشغال برای اشیای غیر قابل استفاده تهیه نموده است و دیگر نیاز نیست همانند زبان های دیگر، برنامه نویس حافظه را اختصاص دهد و آزاد کند.
- تفسیر شده (Interpreted): جاوا یک زبان تفسیر شده است به این صورت که کامپایلر جاوا برنامه را به صورت دقیق به کدهای بایتی تبدیل کرده (کدهای بایتی کدهایی هستند شبیه به زبان ماشین) و در ماشین مجازی جاوا اجرا می شود.
- چند رشته ای(Multithreaded): امکان نوشتن برنامه هایی که درآن واحد چندین کار را انجام می دهند.
با استفاده از جاوا می توان انواع برنامه های کاربردی زیر را طراحی و پیاده سازی کرد:
- برنامه های کاربردی(applications): برنامه هایی از قبیل برنامه های ویندوزی و گرافیکی(Desktop Application)، برنامه های تحت سرور، برنامه های سیستم های کوچک همانند تلفن همراه، رایانه جیبی، ...که تحت نظر یک سیستم عامل اجرا می شود.
- ریز برنامه ها (applets): ریزبرنامه یک برنامه کاربردی تحت وب می باشد که بر روی مرورگری که با جاوا قابل انطباق است، اجرا می شود.
یکی از ویژگی های نرم افزارهای نوشته شده توسط Java قابلیت اجرا بر روی ماشین های مجازی و مرورگرهای اینترنتی می باشد. جاوا و جاوا اسکریپت را می توان در یک زمینه مقایسه کرد به این صورت که هردو زبان برروی مرورگرهای اینترنتی قابلیت اجرا دارند ولی برای اجرای کدهای جاوا نیاز به نصب برنامه یJava SE Runtime Environment می باشد، خود مرورگر به تنهایی قابلیت پردازش کدهای جاوا را ندارد.