جاوا اسکریپت چیست و چه تفاوتی با جاوا دارد؟

زبان های برنامه نویسی
سه شنبه 07 فروردین 1403
جهت مطالعه این مقاله به 7 دقیقه زمان نیاز دارید
جاوا اسکریپت چیست و چه تفاوتی با جاوا دارد؟
آنچه در این مقاله خواهیم خواند:

 جاوا اسکریپت (javascript) یک زبان برنامه نویسی اسکریپتی است؛ یعنی برای اجرا شدن به سخت‌افزار پیشرفته‌ای نیاز ندارد. جاوا اسکریپت معمولا برای طراحی صفحات وب و تعاملی کردن صفحات وب استفاده می‌شود. جاوا اسکریپت می‌تواند نوشته‌ها را به HTML وارد کند.

جاوا اسکریپت به زبان مرورگر هم شناخته می‌شود. جاوا اسکریپت، شبیه یا مرتبط با زبان برنامه نویسی جاوا نیست، ولی هر دو زبان سینتکس‌هایی شبیه به زبان برنامه نویسی C دارند و به صورت گسترده در بک‌اند و فرانت‌اند وب اپلیکیشن‌ها استفاده می‌شوند.

 

هدف جاوا اسکریپت چیست؟

جاوا اسکریپت در درجه اول به هدف کنترل DOM ساخته شده بود. وب‌سایت‌های اولیه اکثرا ایستا (Static) بودند ولی بعد از ساخته شدن جاوا اسکریپت، وب‌سایت‌های پویا (Dynamic) هم به وجود آمدند. فانکشن‌ها و عملکردها در جاوا اسکریپت شی هستند و می‌توانند مانند بقیه اشیاء، متدها و خصوصیات‌های خود را داشته باشند و به عنوان ورودی به بقیه فانکشن‌ها و عملکردها، انتقال یابند.

جاوا اسکریپت می‌تواند از تاریخ و زمان استفاده کند. جاوا اسکریپت می‌تواند  تاییدیه  فرم را اجرا کند؛ اگرچه فرم‌ها با استفاده از HTML ساخته شده‌اند. جاوا اسکریپت به کامپایلر (Compiler) نیازی ندارد.

یک مثال پایه‌ای از Javascript:


;console.log(“Hello World”)
 

خروجی کد بالا به این صورت خواهد بود:

:Output
Hello World
 

بیشتر بخوانید: html چیست

 

زبان جاوا چیست؟

جاوا یک زبان برنامه نویسی شی گرا است و یک سامانه مجازی دارد، که به برنامه‌نویس‌ها امکان ساختن برنامه‌های کامپایل شده (compiled) که تقریبا در تمام پلتفرم‌ها اجرا می‌شود.

 

چند ویژگی زبان برنامه نویسی جاوا

مستقل از پلتفرم است: کامپایلر (Compiler) سورس کد را به بایت‌کد (bytecode) تبدیل می‌کند، و سپس JVM این بایت‌کد ساخته شده به وسیله کامپایلر اجرا می‌شود. در نظر داشته باشید این بایت‌کد می‌تواند روی همه پلتفرم‌ها اجرا شود.

زبان برنامه نویسی شی‌گرا است: مرتب‌سازی برنامه بر اساس مجموعه اشیا، راهی برای برنامه نویسی شی‌گرا است که هر کدام از آنها مثالی از یک کلاس را نشان می‌دهند. چهار مفهوم از ستون OOP وجود دارد.


Abstraction
Encapsulation
Inheritance
Polymorphism
 

ساده است: جاوا به دلیل اینکه ویژگی های پیچیده مانند pointers, operator overloading, multiple inheritance و تخصیص حافظه صریح را ندارد، یکی از زبان های برنامه نویسی ساده است.

قدرتمند است: زبان برنامه نویسی جاوا قدرتمند و قابل اعتماد است. جاوا به طوری توسعه داده شده است که برای چک کردن ارورها در سریع‌ترین زمان ممکن، تلاش زیادی می‌کند. کامپایلر جاوا می‌تواند این ارورها را که به راحتی برای بقیه زبان‌های برنامه نویسی قابل شناسایی نیست، شناسایی کند. 

امن است: در جاوا pointer وجود ندارد، و به این دلیل ما به آرایه‌های خارج از مرز (out-of-bound arrays) دسترسی نداریم و اگر بخواهیم از این آرایه‌ها استفاده کنیم، ارور Array Index Out Of Bound Exception  نمایش داده می‌شود.

توزیع شده است: ما می‌توانیم اپلیکیشن‌های توزیع شده را با استفاده از زبان برنامه نویسی جاوا بسازیم. Remote method Invocation و Enterprise Java Beans برای ساخت برنامه‌های توزیع شده در جاوا استفاده می‌شود.

چند رشته‌ای است: جاوا از multi threading پشتیبانی می‌کند. این یک ویژگی جاوا است که اجازه اجرای هم‌زمان دو یا چند بخش یک برنامه را برای استفاده حداکثری از cpu، می‌دهد.

مثال:

این یک مثال پایه‌ای از یک برنامه در زبان جاوا است.

 Importing required classes //

;* .import java.io 

 } class GFG

Main driver method //        

    public static void main(string[] args)        

     }             

            Print statement//                 

    )system.out.println                 

     ;(“Hello World”                 

   {             

{  

 

خروجی کد بالا به این صورت خواهد بود:


:Output
Hello World 
 

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

براساس منبع coursera می توان تفاوت جاوا و جاوا اسکریپت به صورت زیر است.

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

 

برنامه نویسی جاوا

جاوا یک زبان برنامه نویسی سخت‌گیرانه است و متغیرهای آن باید اول مشخص شوند تا بتوان در برنامه از آنها استفاده کرد. در جاوا، نوع متغیر در compile-time چک می‌شود. جاوا یک زبان برنامه نویسی شی گرا است و در درجه اول، برای توسعه اپلیکیشن‌های پیچیده مورد استفاده قرار می‌گیرد.

اپلیکیشن‌های جاوا می‌توانند روی هر سامانه مجازی یا همان JVM یا مرورگر اجرا شوند. اشیاء جاوا بر پایه کلاس هستند، و بدون ساختن کلاس در جاوا، هیچ برنامه‌ای نمی‌تواند ساخته شود. برنامه‌های جاوا افزونه ".java" دارند، و سورس‌کدها را به بایت‌کد تبدیل می‌کنند تا در سامانه مجازی جاوا JVM اجرا شود.

جاوا یک زبان مستقل است و رویکردی رشته‌ای (thread-based) برای اجرای هم‌زمان کدها را دارد. زبان برنامه نویسی جاوا از multi threading پشتیبانی می‌کند که امکان اجرای هم‌زمان چند رشته  به صورت هم‌زمان در یک برنامه را به ما می‌دهد.

جاوا یک مجموعه قوی از کتابخانه‌ها (libraries) و فریم‌ورک‌ها، برای ساختن اپلیکیشن‌های پیچیده مانند spring hibernate و struts دارد. زبان برنامه‌نویسی جاوا اساساً برای برنامه نویسی Back End  به هدف ساخت اپلیکیشن‌های تحت وب، دسکتاپ و موبایل  کاربرد دارد. جاوا از حافظه بیشتری استفاده می‌کند و برای اجرای برنامه‌ها به Java Development Kit یا JDL نیاز دارد.

 

برنامه نویسی جاوا اسکریپت

جاوا اسکریپت یک زبان برنامه نویسی سهل‌گیر است، و قواعد و قوانین و سینتکس‌های آسان‌تری دارد. جاوا اسکریپت یک زبان اسکریپتی است و برای ساختن صفحه‌های وب تعاملی و پویا استفاده می‌شود. کدهای جاوا اسکریپت در گذشته فقط بر روی مرورگر اجرا می‌شدند؛ اما امروزه می‌توانند بر روی سرور هم به وسیله node.js اجرا شوند.

فایل‌های مربوط به زبان برنامه نویسی جاوا اسکریپت پسوند js. دارند و توسط سرور یا مرورگر تحلیل می‌شود، اما کامپایل (compile) نمی‌شوند. همه مرورگرها می‌توانند کدهای جاوا اسکریپت را بخوانند و آن را اجرا کنند. کدهای جاوا اسکریپت در یک صفحه وب قرار می‌گیرد و با محتوای HTML آن یکپارچه می‌شود.

جاوا اسکریپت برعکس جاوا از multi threading و اجرای هم‌زمان چند رشته‌ای کدها، پشتیبانی نمی‌کند. جاوا اسکریپت مجموعه گسترده‌ای از کتابخانه‌ها و فریم‌ورک‌های مختلف برای ساخت اپلیکیشن‌های تحت‌وب مانند React ، Angular و Vue را دارد. جاوا اسکریپت هم برای برنامه نویسی front end و هم back end استفاده می‌شود. زبان برنامه نویسی جاوا اسکریپت به صورت پویا نوشته می‌شود؛ یعنی نوع داده یا همان Data Type در زمان اجرای برنامه مشخص می‌شود.

زبان برنامه نویسی جاوا اسکریپت برخلاف جاوا از حافظه کمتری استفاده می‌کند. جاوا اسکریپت اساساً در برنامه نویسی front end برای ساخت وب‌اپلیکیشن‌ها استفاده می‌‍شود. هرچند که می‌توان با کمک تکنولوژی‌هایی مانند node.js از آن برای کدنویسی back end هم استفاده کرد. جاوا اسکریپت برای اجرای کد می‌تواند از ویرایش کننده‌های متن یا مرورگرهای مختلف استفاده کند.

 

بیشتر بخوانید: بهترین کتابخانه های جاوا اسکریپت

 

سخن آخر

در این مقاله ما نگاهی به تفاوت‌های بین زبان برنامه نویسی جاوا (java) و زبان برنامه نویسی جاوا اسکریپت (java script) داشتیم. هر دوی این زبان‌های برنامه‌نویسی در جای خود می‌تواند بسیار موثر باشد. متوجه شدیم که زبان برنامه نویسی جاوا، عمدتاً برای برنامه نویسی back end، و جاوا اسکریپت برای برنامه نویسی front end، کاربرد دارد. ولی با کمک تکنولوژی‌های مختلف مانند node.js می‌توان از javascript برای کدنویسی back end هم استفاده نمود.

ما در این مقاله با استفاده از مثال‌های پایه‌ای از کدهای جاوا و جاوا اسکریپت یک شناخت اولیه و ابتدایی از شکل و شمایل کلی سینتکس‌های این دو زبان برنامه نویسی پیدا کردیم؛ ولی برای درک عمیق‌تر و یادگیری جاوا و جاوا اسکریپت نیاز داریم تا مثال‌های پیچیده‌تری ببینیم و پروژه‌ها و تمرینات پیچیده‌تری را انجام دهیم. اگر شما علاقه‌مند ورود به دنیای آموزش برنامه نویسی کودکان و نوجوانان هستید، موسسه پل استار کمک خوبی برای شما خواهد بود.