آموزش جاواآموزش جاوا اسکریپتمقالات

تفاوت جاوا و جاوا اسکریپت

آیا واقعا جاوا و جاوا اسکریپت دو چیز متفاوت هستند؟

جواب سریع: بله!
گول نام های مشابه آنها را نخورید(مگر اینکه واقعا چیز دیگری برای خوردن نداشته باشید)
بگذارید همین اول کار خیالتان را راحت کنم: جاوا و جاوا اسکریپت دو زبان برنامه نویسی جدا از هم هستند. اما شباهت نام های آنها، اتفاقی نیست.
در طی سالیان درازی که از عمر هر دوی این زبانها می گذرد، یک جاهایی به همدیگر نزدیک شده اند و در داستان زندگی هم ایفای نقش کرده اند (این داستان رمانتیک را در همین مقاله به صورت کامل برایتان تعریف خواهم کرد)

جاوا و جاوا اسکریپت از کجا آمده اند ؟

خب چون همیشه احترام بزرگ تر واجب است، بگذارید اول به سراغ برادر بزرگتر – یعنی جاوا – برویم.


تاریخچه جاوا:

سال 1991 میلادی ( سال 1370 خودمان) که نویسنده این مطلب – و احتمالا خیلی از شماها – هنوز مدرسه هم نرفته بودید، یک برنامه نویس خفن کانادایی به نام جیمز آرتور گاسلینگ (به انگلیسی: James Arthur Gosling) که برای شرکت سان مایکروسیستمز (به انگلیسی: sun microsystems) کار می کرد، زبان برنامه نویسی java را بر پایه زبان های C و ++C ایجاد کرد.
(اگر سال 1370 مدرسه رفته بودید یا به خدمت اعزام شده بودید یا حتی بچه دومتان هم به دنیا آمده بوده، من را به بزرگی خودتان ببخشید!)

در ابتدا جیمز گاسلینگ اسم این زبان را OAK (به معنای بلوط) گذاشت. این نام را به افتخار درخت بلوطی که از پنجره محل کارش می دید – و احتمالا یواشکی با آن درخت ارتباط عاطفی برقرار کرده بود – انتخاب کرد.

ولی بعدا متوجه شد که یک زبان برنامه نویسی دیگر به این نام وجود دارد و بجای اینکه افسردگی بگیرد و پروژه را Shift+Delete کند، نام پروژه را به JAVA تغییر داد.

البته من خودم هر چقدر گشتم نتوانستم اثری از آن زبان برنامه نویسی oak پیداکنم. بنابراین روی راست و یا دروغ بودن این ماجرا خیلی پافشاری نمی کنم.

اگر این چیزهایی که درباره تاریخچه جاوا گفتم، به نظرتان خیلی مختصر بود و به جزئیات داستان زندگی جاوا علاقمند بودید، یا میخواستید بدانید که کلمه JAVA از کجا آمده و چه معنی ای دارد، حتما این مطلب را بخوانید : تاریخچه جاوا

تاریخچه جاوا اسکریپت

سال 1995 (سال 1374خودمان) یک برنامه نویس آمریکایی به نام برندان آیک (به انگلیسی: Brendan Eich) که در شرکت نت اسکیپ Netscape فعالیت میکرد، یک زبان برنامه نویسی اسکریپتی به نام Mocha طراحی کرد.

موکا یک نوع نوشیدنی خوشمزه است که با قهوه درست میشود. ظاهراً شکمو بودن بین برنامه نویسهای آن زمان خیلی مد بوده.

زبان موکا به این دلیل طراحی شده که میخواستند امکانات جدیدی را به دنیای وب اضافه کنند.

مثلا تا آن موقع صفحات وب نسبت به رویدادهای مختلف (مثل کلیک کردن و کشیدن و یا حرکت موس) نمی توانستند واکنش نشان بدهند و همینجوری صاف توی چشمهای کاربر زل می زدند و کار خاصی از دستشان بر نمی آمد.

به همین دلیل به یک زبان ساده روی بستر وب نیاز بود که پیچیدگی زیادی نداشته باشد و بتواند یک تکانی به دنیای وب بدهد و مدیریت رفتارها و رویدادهای وب را پیاده سازی کند.
البته بعد از مدت کوتاهی، نام زبان موکا به لایو اسکریپت Livescript تغییر پیدا کرد.

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

در همین زمان، شرکت سان مایکروسیستمز که مالک زبان جاوا بود، و از موفقیت جاوا در پلتفرم های مختلف خیلی خوش به حالش شده بود، این نیاز را احساس کرد که زبان جاوا باید در دنیای وب هم ورود پیدا کند.

اما زبان جاوا برای اجرا شدن روی مرورگرهای اینترنتی بسیار سنگین و بزرگ بود. مرورگرهای اینترنتی که آن جوری اصلا نمی توانستند و زیر پلتفرمشان درد می گرفت، نتوانستند بستر خوبی برای اجرای جاوا باشند.
به همین دلیل پس از توافق نت اسکیپ و سان مایکروسیستمز، قرار شد نام زبان لایو اسکریپت به جاوا اسکریپت Javascript تغییر پیداکند.

در حقیقت این کلک مرغابی باعث شد که نه دیگ بسوزد ، نه سیخ بسوزد و نه ته دیگ بسوزد. فقط شرکت مایکروسافت که برای آباد کردن تپه های وب و اینترنت هم دورخیز کرده بود، با این حرکت بدجوری کباب شد و سوخت.

البته داستان ورود مایکروسافت به دنیای اسکریپت نویسی وب با سیلورلایت (به انگلیسی: Silverlight) هم داستان غم انگیز دیگری دارد که شاید بعداً یک جایی برایتان تعریف کنم.

خلاصه اینجوری شد که اسم این دوتا زبان تقریباً بی ربط، تا این حد به همدیگر شباهت پیدا کرد.

اگر این چیزهایی که درباره تاریخچه جاوا اسکریپت گفتم، به نظرتان خیلی مختصر بود و به جزئیات داستان زندگی جاوااسکریپت علاقمند بودید، حتما این مطلب را بخوانید : تاریخچه جاوا اسکریپت

آیا نوع نگارش دستورات جاوا و جاوا اسکریپت با هم تفاوت دارد؟

بله!

البته هر دو زبان جاوا و جاوا اسکریپت از زبانهای C و ++C الهام گرفته اند و در دستورات اولیه مثل for و while و if و غیره با هم یکسان هستند.

اما نحوه پیاده سازی دستورات هم از نظر نوشتاری و هم از نظر منطق باهم خیلی فرق می کنند.

برای مثال، یک برنامه ساده – که عبارت سلام را به کاربر نمایش دهد – را به دو زبان جاوا و جاوا اسکریپت (به همراه تعریف متغیرها) برایتان نوشته ام که تفاوتهای آنها را ببینید:

در javascript :

// this is my javascript "salam" program!

var salamText = "salam bache ha!"
alert(salamText);

این برنامه یک متغیر به اسم salamText تعریف می کند. مقدار رشته salam bache ha را داخل متغیر می ریزد. و این مقدار را به صورت یک پیغام هشدار روی مرورگر نمایش می دهد.

در java :

// this is my java "salam" program!

public class MyClass {
  public static void main(String[] args) {
	String salamText = "salam bache ha";  
    System.out.println(salamText);
  }
}

در اینجا جاوا را می بینیم که با یک آر پی جی به یک مورچه حلمه کرده و برای چاپ یک عبارت ساده، عملیات زیر را انجام می دهد:

ابتدا یک کلاس اصلی میسازد (اصولاً جاوا باکلاس است)

بعد داخل این کلاس، یک متد تعریف میکند که بعنوان متد اجرایی اصلی برنامه از آن استفاده کند.

بعد یک متغیر از نوع رشته یا String میسازد و مقدار salam bache ha را داخل آن می ریزد (دقت کردید که جاوا اسکریپت نوع متغیر را مشخص نکرد و به صورت دیمی یک var تعریف کرد؟)

بعد با فراخوانی متد println از استریم خروجی سیستم، بلاخره رضایت می دهد که عبارت را برای کاربر چاپ کند.

جاوا و جاوا اسکریپت از نظر کاربرد با هم چه تفاوتی دارند؟

کاربرد javascript:

  • مدیریت رویدادها در صفحات وب (مثلا اجباری کردن ورود کد ملی در یک فرم الکترونیکی)
  • پویانمایی صفحات وب (مثلا ساخت یک اسلایدر تصویر)
  • ساخت سیستم های مدیریت محتوا و مدیریت وب سرویس (این مورد با خود جاوا اسکریپت خالص انجام نمیشود. بلکه با کمک کتابخانه NodeJs پیاده سازی میشود)
  • ساخت برنامه های موبایل (این مورد هم بوسیله کتابخانه React انجام میشود)

کاربرد جاوا:

  • ساخت برنامه های قابل اجرا بر روی دستگاههای مختلف (برنامه های جاوا تقریبا روی تمام سیستم عامل های شناخته شده دنیا اجرا می شوند)
  • ساخت برنامه برای دستگاههای اندرویدی (موبایل – ساعت هوشمند – تلویزیون هوشمند – تبلت)
  • ساخت برنامه برای هوشمند سازی دستگاهها (یخچال – جاروبرقی – مایکروفر – جاکفشی هوشمند و چیزهایی که فکرش را هم نمی کنید)
  • برنامه نویسی شبکه
  • ایجاد زیرساختهای بانکی و تراکنشی
  • ایجاد اپلیکیشن های سازمانی (با استفاده از Java EE)
  • ایجاد پورتالهای اینترنتی (با استفاده از Java EE و Spring)

اینها چیزهایی بود که من درباره Java و Javascript می دانستم.

البته عمداً مسائل فنی را با جزئیات و ریزه کاری ها نگفتم و داستانها را هم به صورت خلاصه تعریف کردم که این مطلب بیشتر از این طولانی نشود.

اگر شما هم اطلاعات خوبی در زمینه java و javascript دارید، یا فکر می کنید جایی از مطلب چیز اشتباهی نوشته ام، با یک کامنت من را خوشحال کنید!

از اینکه وقت با ارزشتان را برای خواندن این مطلب گذاشتید، سپاسگرازم!

پیوندهای مفید:

برچسب ها

حامد عسکریان

برنامه نویس و عاشق تکنولوژی

2 نظر

دیدگاهتان را بنویسید

دکمه بازگشت به بالا
بستن
بستن