جاوا و جاوا اسکریپت در یک نگاه

جاوا و جاوا اسکریپت در یک نگاه

بیشتر افراد چنین تصور می‌‌کنند که زبان جاوا اسکریپت (JavaScript)  شاخه یی از زبان جاوا است و یا حتی بعضی گمان دارند که جاوا اسکریپت دقیقا همان جاوا است که چنین چیزی اصلا صحت ندارد. هر چقدر که شما بتوانید شباهت یا شباهت هایی مابین یک خودرو و فرش قائل شوید، به همان اندازه نیز می توانید وجه تشابه مابین زبان های جاوا و جاوا اسکریپت در نظر بگیرید. در ادامه تفاوت‌های کلیدی این دو زبان را با هم مرور خواهیم کرد. با ما در سکان آکادمی همراه باشید.

تفاوت‌های زبان های جاوا اسکریپت و جاوا

1- توسعه دهنده: 
- جاوا توسط جیمز گاسلینگ (James Gosling) و در شرکت سان میکروسیستمز (Sun Microsystems) به وجود آمد.

- جاوا اسکریپت توسط برندان ایچ (Brendan Eich) در شرکت ارتباطات نت‌ اسکیپ (Netscape Communications) به وجود آمد.

2- شیء‌گرایی: 
- جاوا یک زبان شیء گرا‌ی تمام عیار است به طوری که همه‌ چیز آن وابسته به کلاس های مختلف و آبجکت های ساخته شده از روی آن ها است.

- جاوا اسکریپت نیز زبان شیء گرا بوده اما یک زبان اسکریپت نویسی است که با جاوا که یک زبان کامپایلری می‌باشد، متفاوت است.

3- کاربردها: 
- جاوا هم برای توسعه‌ی نرم‌افزارهای مستقل و هم برای توسعه اپلت‌های تحت وب به‌ کار برده می‌شود.

- اما جاوا اسکریپت در کدها‌ی HTML  استفاده می‌شود و در اصل با هدف توسعه‌ی وب طراحی شده است.

4- کلاس محوری / پروتوتایپ محوری: 
- جاوا یک زبان برنامه نویسی کلاس محور است به این معنا که کدهای جاوا باید درون یک کلاس نوشته شوند.

- اما جاوا اسکریپت یک زبان پروتوتایپ محور (Prototype-based) است چرا که جاوا اسکریپت ویژگی شیء گرایی را همچون ارث بری از طریق آجبکت های موجود به عنوان پروتوتایپ پیاده سازی می‌کند. یعنی برخلاف جاوا، به جا‌ی این که نیاز باشد از کلاس موجود یک آبجکت درست شود، از آبجکت های موجود به عنوان پروتوتایپ‌ استفاده می شود.

5- سبک برنامه نویسی: 
- جاوا از برنامه‌نویسی و سبک تایپ استاتیک استفاده می‌کند (منظور از سبک تایپ استاتیک این است که تایپ چکینگ یا «بررسی کد‌های زبان»، در هنگام کامپایل انجام می‌شود.)

- اما جاوا اسکریپت از برنامه‌نویسی و سبک تایپ پویا استفاده می‌کند (منظور از سبک تایپ پویا این است که تایپ چکینگ، در هنگام اجرا انجام می‌شود.)

6- اپلیکیشن‌ها: 
- از جاوا می‌توان برای ساخت اپلیکیشن‌های دسکتاپ نظیر ویندوز و لینوکس بهره گرفت. همچنین می توان از جاوا برای ساخت اپلت‌ها برای ساخت صفحات وب استفاده کرد.

- از جاوا اسکریپت نمی‌توان برای ساخت اپلیکیشن‌های مستقل و یا اپلت ها استفاده کرد. اما چنان قابلیتی به HTML و CSS می‌بخشد که به‌ راحتی می‌توان به کمک آن، تعامل و ارتباط کاربر را با وب‌ سایت افزایش داد. تعامل یا Interactivity ویژگی کلیدی است که نمی توان هیچ وب‌سایت یا کاربرد تحت وب را بدون آن متصور شد!

7- وابستگی: 
- اپلت‌های نوشته شده با جاوا، بدون هیچ وابستگی به HTML یا هر نوع زبان اسکریپتی، به صورت مستقل بر روی مرورگر وب اجرا می‌شوند.

- جاوا اسکریپ کاملا وابسته به HTML است چرا که کدهای آن در ارتباطی تنگاتنگ با تگ های اچ تی ام ال و کلاس های سی اس اس نوشته شده و فقط بر روی مرورگر وب اجرا می‌گردد.

8- قابلیت اجرا: 
- جاوا یک زبان کامپایلری است به این معنا که سورس کد نوشته شده با جاوا ابتدا به زبان ماشین -یا همان صفر و یک- تبدیل شده سپس اجرا می‌شود.

- جاوا اسکریپت نیازی به کامپایل ندارد و کافی است به صورت Text نوشته شود سپس از طریق مرورگر در هر پلتفرمی قابل اجرا است.

9- قابلیت تغییر اپلیکیشن: 
- زمانی که شما اپلیکیشنی را با جاوا نوشتید، کامپایل کردید و توسعه دادید، دیگر قابل تغییر نیست. برای تغییر آن، باید مجددا سورس کد را تغییر داده و مجدد کامپایل کنید.

- اما در مورد جاوا اسکریپت چنین محدودیتی وجود ندارد چون نیازی به کامپایلر نیست. کدهای نوشته شده می‌توانند همزمان تغییر یابند، کاهش یابند و یا آپدیت شوند و کدها‌ی جدیدی اضافه شوند.

10- سادگی در کاربرد: 
- جاوا برای برنامه‌نویس تازه‌کاری که قصد دارد مفاهیم شیء گرایی و وسعت آن را درک کند، ترسناک و دلسرد کننده خواهد بود. اما اگر با علاقه به سمت این زبان قدم بگذارید، به نتایج بسیار مطلوبی خواهید رسید.

- درک و یادگیری جاوا اسکریپت برای هر نوع برنامه‌نویس تازه کاری ساده خواهد بود چرا که کدها و دستورات آن دقیق و ساده هستند.

 

منبع