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

مقدمه
 

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

 

جاوا اسکریپت


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

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


;console.log(“Hello World”)
 

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

:Output
Hello World
 

جاوا


جاوا یک زبان برنامه‌نویسی شی‌گرا است و یک سامانه مجازی دارد، که به برنامه‌نویس‌ها امکان ساختن برنامه‌های کامپایل شده (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 
 

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

 

 


 

 

جاوا
جاوا یک زبان برنامه‌نویسی سخت‌گیرانه است و متغیرهای آن باید اول مشخص شوند تا بتوان در برنامه از آنها استفاده کرد. در جاوا، نوع متغیر در 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 هم استفاده نمود. ما در این مقاله با استفاده از مثال‌های پایه‌ای از کدهای جاوا و جاوا اسکریپت یک شناخت اولیه و ابتدایی از شکل و شمایل کلی سینتکس‌های این دو زبان برنامه‌نویسی پیدا کردیم؛ ولی برای درک عمیق‌تر و یادگیری جاوا و جاوا اسکریپت نیاز داریم تا مثال‌های پیچیده‌تری ببینیم و پروژه‌ها و تمرینات پیچیده‌تری را انجام دهیم. اگر شما علاقه‌مند ورود به دنیای برنامه‌نویسی هستید، موسسه پل استار کمک خوبی برای شما خواهد بود.

 

منابع


https://www.geeksforgeeks.org/difference-between-java-and-javascript/
https://www.coursera.org/articles/java-vs-javascript