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