تاریخ JavaScript

برای استفاده از تمام توانایی‌های JavaScript، مهم است که به ماهیت، تاریخ و محدودیت‌های آن آگاهی داشته باشید.

این بخش به شما معرفی می‌کند که JavaScript و منابع اسکریپت‌های کاربران را از ابتدا تا کنون به شما معرفی می‌کند.

Nombas و ScriptEase

حدود سال 1992، یک شرکت به نام Nombas یک زبان اسکریپت ایمپلنتی به نام C کم کم کم (C-minus-minus، به اختصار Cmm) توسعه داد. ایده پشت Cmm ساده است: یک زبان اسکریپت به اندازه کافی قوی که می‌تواند عملیات ماکرو (macro) را جایگزین کند، در حالی که با C (و C++) به اندازه کافی مشابه است تا توسعه‌دهندگان بتوانند به سرعت آن را یاد بگیرند. این زبان اسکریپت در یک نرم‌افزار اشتراکی به نام CEnvi بسته شده است که برای اولین بار قدرت این زبان را به چشم توسعه‌دهندگان نشان داد.

در نهایت Nombas نام Cmm را به ScriptEase تغییر داد، زیرا بخش بعدی (mm) به نظر خیلی منفی می‌رسید و حرف C نیز ترسناک به نظر می‌رسید.

امروزه ScriptEase به عنوان نیروی اصلی پشت محصولات Nombas شناخته می‌شود.

Netscape JavaScript را اختراع کرد

با ظهور Netscape Navigator، Nombas نسخه‌ای از CEnvi را برای استفاده در صفحات وب توسعه داد. این آزمایش‌های اولیه به عنوان Espresso Page (صفحات قهوه‌ای تیره) شناخته می‌شدند و نماد اولین زبان کاربر در اینترنت بودند. Nombas به هیچ وجه انتظار نداشت که ایده او به یکی از پایه‌های مهم اینترنت تبدیل شود.

با افزایش محبوبیت اینترنت‌سرکشی، نیاز به توسعه زبان‌های اسکریپت کاربر نیز افزایش یافت. در آن زمان، بیشتر کاربران اینترنت تنها با استفاده از مودم‌های 28.8 kbit/s به شبکه متصل بودند، حتی با این حال صفحات وب به طور مداوم بزرگتر و پیچیده‌تر می‌شدند. چیزی که بیشتر باعث رنج کاربران می‌شد این بود که برای تایید اعتبار ساده‌ترین فرم‌ها، باید چندین بار با سرور تعامل داشت. تصور کنید، کاربر یک فرم را پر کرده، دکمه ارسال را کلیک می‌کند، 30 ثانیه منتظر می‌ماند و در نهایت پیامی می‌بیند که به او می‌گوید یک فیلد ضروری را فراموش کرده است.

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

Brendan Eich که در آن زمان در Netscape کار می‌کرد، شروع به توسعه یک زبان اسکریپت به نام LiveScript برای Netscape Navigator 2.0 که در سال 1995 منتشر خواهد شد، کرد. هدف اصلی استفاده از آن در سرور و کاربر (که باید LiveWire نامیده می‌شد) بود. Netscape و Sun به موقع عملکرد LiveScript را تکمیل کردند.

در زمانی که Netscape Navigator 2.0 در حال آماده‌سازی برای منتشر شدن بود، Netscape تصمیم گرفت نام آن را به JavaScript تغییر دهد، به منظور استفاده از این واژه مد روز اینترنت. شرط Netscape در نهایت تحقق یافت و JavaScript به یکی از اجزای ضروری اینترنت تبدیل شد.

سه‌پایه‌ای در یک سلسله مراتب

به دلیل موفقیت JavaScript 1.0، Netscape نسخه 1.1 را در Netscape Navigator 3.0 منتشر کرد. در آن زمان، Microsoft تصمیم گرفت به بازار مرورگرها ورود کند و IE 3.0 را با نسخه کپی شده‌ای از JavaScript به نام JScript منتشر کرد (این نام برای جلوگیری از مشکل احتمالی مجوز Netscape انتخاب شد). این قدم مهم شرکت Microsoft در ورود به بازار مرورگرها، هرچند نامیده شد، اما به عنوان یک قدم مهم در توسعه زبان JavaScript شناخته می‌شود.

با ورود شرکت Microsoft، سه نسخه مختلف از JavaScript همزمان وجود داشت: JavaScript در Netscape Navigator 3.0، JScript در IE و ScriptEase در CEnvi. برخلاف زبان‌های برنامه‌نویسی مانند C، JavaScript یک استاندارد برای یکپارچه‌سازی دستور زبان یا ویژگی‌های خود ندارد، و این سه نسخه مختلف دقیقاً این مشکل را برجسته می‌کنند. با افزایش نگرانی‌های صنعت، استانداردسازی این زبان به طور واضحی اجتناب‌ناپذیر شده است.

استانداردسازی

در سال 1997، JavaScript 1.1 به عنوان یک پیش‌نویس به انجمن تولیدکنندگان کامپیوتر اروپا (ECMA) ارائه شد. کمیته فنی 39 (TC39) مأمور شد تا ‘زبان اسکریپت عمومی، چندپلتفرم و مستقل از تولیدکننده’ را استاندارد کند (http://www.ecma-international.org/memento/TC39.htm) که توسط برنامه‌نویسان شرکت‌هایی مانند Netscape،Sun،Microsoft،Borland و برخی دیگر از شرکت‌هایی که به برنامه‌نویسی اسکریپت علاقه‌مند بودند، تشکیل شده بود، TC39 را برای شکل‌دهی ECMA-262 که یک زبان اسکریپت جدید به نام ECMAScript را تعریف می‌کند، شکل داد.

در سال‌های آینده، سازمان استاندارد بین‌المللی و کمیته الکترونیکی بین‌المللی (ISO/IEC) نیز ECMAScript را به عنوان استاندارد پذیرفتند (ISO/IEC-16262). از آن زمان به بعد، مرورگرهای وب شروع به تلاش برای استفاده از ECMAScript به عنوان پایه‌ای برای اجرای JavaScript کردند (با موفقیت‌ها و شکست‌های مختلف).