ظهور زبان برنامه نویسی جاوا اسکریپت در مقابل جاوا

سه شنبه 19 فروردین 1399

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

 ظهور زبان برنامه نویسی جاوا اسکریپت در مقابل جاوا

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

یک نکته بسیار مهم

تقریبا هر توسعه دهنده ای با میزان کمی تجربه می داند که زبان برنامه نویسی جاوا و جاوا اسکریپت تقریبا هیچ ربطی به یکدیگر ندارند. Netscape در ابتدا قرار بود که یک زبان برنامه نویسی اسکریپتی مبتنی بر مرورگر را برای خود بسازد که آن را LiveScript نامیده بود اما شرکت  Sun Microsystems آنها را متقاعد کرد که به جای آن از جاوا اسکریپت استفاده کنند. در واقع تصور آنها این بود که جاوا اسکریپت به عنوان پلی میان زبان برنامه نویسی جاوا و زبان های اسکریپتی عمل می کند.

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

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

با این حال اگر شرکت Sun می دانست که زبان برنامه نویسی جاوا از جاوا اسکریپت جدا می شود تا به صورت مجزا تبدیل به یک زبان برنامه نویسی وب شود احتمالا کمتر دچار اشتباه میشد. زمانی که جاوا قابلیت های خود به عنوان یک زبان مناسب برای اپلیکیشن های سمت سرور را پیدا کرد جاوا اسکریپت همین قابلیت ها را در مرورگر پیدا کرد. امروزه پروژه هایی مانند CommonJS و Node.js زبان برنامه نویسی جاوا اسکریپت را حتی بیشتر توسعه می دهند و این امکان را فراهم می کنند تا نقش سنتی جاوا در مراکز داده را ایفا کند. به عبارتی دیگر زبان برنامه نویسی جاوا اسکریپت در حال تبدیل شدن به یک زبان برنامه نویسی همه کاره، قدرتمند و همه منظوره در سمت وب است در حالی که زبان برنامه نویسی جاوا در خطر ابتلا به همان مشکلات زبان برنامه نویسی cobol است.

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

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

هر کسی در سنین مشخص اپلت های بر پایه مرورگر جاوا را به خاطر می آورد که از جمله آنها می توان به clunky، awkward و slow curiosities اشاره کرد. اگر این اپلت ها را به خاطر می آورید حتما می دانید که آزار این اپلت ها از فواید آنها بیشتر بود. از آنجایی که آخرین تلاش شرکت Sun برای ساخت یک تکنولوژی برای اپلیکیشن های اینترنتی(JavaFX) در برابر رقبای تثبیت شده خود یعنی Adobe Flash و Microsoft Silverlight پیشرفت چندانی نداشت به نظر می رسید که سمت کلاینت جاوا از همان ابتدا با مشکل روبرو بود.

به صورت مشابه جاوا اسکریپت سمت سرور نیز هیچ وقت از splash استفاده نمی کرد. سرور شرکت Netscape در سال 1996 میلادی از آن پشتیبانی می کرد اما با این حال این محصول یک محصول گران قیمت و اختصاصی بود بنابراین خیلی زود بازار به دست سرور متن باز آپاچی افتاد که بلافاصله بعد از آن نیز بخش سمت سرور جاوا اسکریپت نیز ناپدید شد.

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

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

در روزهای نخست زبان برنامه نویسی جاوا اسکریپت به عنوان بهترین زبان اسکریپتی سبک وزن برای صفحات وب شناخته می شد. در مقایسه با سایر زبان های نوظهور آن زمان مانند پرل و پایتون این زبان بسیار عجیب به نظر می رسید و دارای مجموعه ای محدود از ویژگی ها بود. نکته بدتر درباره این زبان این بود که اجرای کدهای این زبان برنامه نویسی برای هر کاربر به شکلی متفاوت انجام میشد که همین موضوع توسعه دهندگان را وادار می کرد که به جای نوشتن کدهای خوش فرم زمان خود را برای کار کردن بر روی محیط های دیگر تلف کنند.

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

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

جاوا اسکریپت تا به حال یک مسیر بسیار طولانی را پیموده است. ظهور موتورهای این زبان برنامه نویسی که به صورت متن باز ساخته شده اند که از جمله آنها می توان به مواردی همچون موتور V8 گوگل، موتور SpiderMonkey موزیلا و WebKit's SquirrelFish Extreme اشاره کرد باعث شده است که هر کسی می تواند تفسیر کننده تعبیه شده استاندارد جاوا اسکریپت خود را برای کدهای خود داشته باشد بدون آنکه نیاز باشد تمامی کدهای مربوط به این تفسیر کننده را خودش بنویسید. در حال حاضر هر سه پروژه درگیر یک رقابت بسیار شدید هستند هر یک از آنها نیز پیشرفت های پایدار خاص خود را دارند. با توسعه تکنولوژی های جاوا اسکریپت با یک نرخ بسیار مناسب زبان برنامه نویسی جاوا اسکریپت موفق شد به جایگاهی دست پیدا کند که زبان برنامه نویسی جاوا هرگز به آن نرسیده بود و آن جایگاه این بود که بتواند مرزهای سنتی خود را بشکند و از آنها عبور کند. سمت کلاینت زبان جاوا معمولا بسیار راکد است اما سمت سرور جاوا اسکریپت موفق شده است که بسیار موفق عمل کند.

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

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

موتورهای مدرن زبان برنامه نویسی جاوا اسکریپت می توانند به تنهایی کار کنند که همین موضوع باعث می شود تا این زبان برای سمت سرور گزینه ای بسیار مناسب باشد. توجه داشته باشید که زبان برنامه نویسی جاوا اسکریپت تا به حال یک زبان برنامه نویسی مبتنی بر مرورگر بوده است، به این معنا که بسیاری از ویژگی هایی که توسعه دهندگان در سایر محیط های برنامه نویسی انتظار دارند در این زبان قابل استفاده نیست. به عنوان مثال توسعه دهندگان سمت کلاینت عادت دارند که فایل های .js را از طریق اینترنت به اشتراک بگذارند در حالی که توسعه دهندگان سمت سرور از روش های رسمی تر برای پکیج بندی این فایل ها استفاده می کنند. 

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

نویسنده 3201 مقاله در برنامه نویسان

کاربرانی که از نویسنده این مقاله تشکر کرده اند

در صورتی که در رابطه با این مقاله سوالی دارید، در تاپیک های انجمن مطرح کنید