تاریخ 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 هیچ‌گاه انتظار نداشت که ایده‌اش به یکی از پایه‌های مهم وب تبدیل شود.

با افزایش محبوبیت اینترنت‌سurfing، نیاز به توسعه‌ی زبان‌های اسکریپت سمت مشتری نیز افزایش یافت. در آن زمان، بیشتر کاربران اینترنت تنها از طریق مودم‌های 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 از آن پس به یکی از اجزای ضروری اینترنت تبدیل شد.

سینگل ستون

چونکہ جاوااسکریپٹ 1.0 بہت کامیاب تھا، نیٹ اسپیس نے نیٹ اسپیس ناویگر کور 3.0 میں 1.1 ورزن بھی جاری کی۔ اس وقت، ماکروسافت نے بروئزر کی میدان میں داخل ہونے کا فیصلہ کیا اور آئی ای 3.0 کا اجرا کیا، جس میں جاوااسکریپٹ کا ایک کلون ورزن جاری کیا گیا، جس کا نام جی اسکریپٹ تھا (یہ نام دینے کا مقصد نیٹ اسپیس کے ساتھ کسی بھی نمائندگی سے بغیر رہنا تھا)۔ ماکروسافت کا اس اہم قدم ویب براوزر میدان میں ان کی شہرت کو بڑھانے میں مدد کی، جو جاوااسکریپٹ زبان کی ترقی میں ایک اہم قدم تھا۔

ماکروسافت کی رسیدگی کے بعد، تین مختلف جاوااسکریپٹ ورزنوں میں آمدی تھی: نیٹ اسپیس ناویگر کور 3.0 میں جاوااسکریپٹ، آئی ای کے جی اسکریپٹ اور سی این وائی میں اسکریپٹ ایز کے طور پر جاوااسکریپٹ کا ایک کلون ورزن کا استعمال کیا گیا تھا۔ جیسا کہ سی اور دیگر پروگرامنگ زبانوں میں نہیں، جاوااسکریپٹ کو کسی معیار کی وجہ سے نہیں یقینی رکھا گیا، یہ تین مختلف ورزنوں نے اس معاملے کو اور بھی واضح کیا۔ اس کی بڑھتی ہوئی توجہ کے ساتھ، اس زبان کی معیاراتی کاری کی ضرورت واضح تھی۔

معیاراتی کاری

1997 میں، جاوااسکریپٹ 1.1 ایک منصوبہ کے طور پر یورپین کمپیوٹر مینوفیکچررس ایسوسی ایشن (ECMA) کو پیش کیا گیا۔ 39 جیسی کمیشن (TC39) کوhttp://www.ecma-international.org/memento/TC39.htm)، یہ TC39 کا تعمیر شدہ پروگرام نے کیا تھا جو نیٹ اسپیس، سان، ماکروسافت، بورلینڈ اور دیگر کچھ کمپنیوں کے پروگرامرس تھے جو اسکریپٹ پروگرامنگ میں دلچسپی رکھتے تھے، یعنی ECMA-262، جو ایک نئی اسکریپٹ زبان کی تعریف کرتی ہے۔

آئندہ چند سال میں، بین الاقوامی معیارات تنظیم اور بین الاقوامی الیکٹریکل کمیشن (ISO/IEC) نے بھی ECMAScript کو معیار کے طور پر اپنایا (ISO/IEC-16262)۔ اس کے بعد سے، ویب براوزر نے ایکم سخت کوشش کی (اگرچ کامیابی اور ناکامی کی سطح مختلف تھی) ECMAScript کو جاوااسکریپٹ کی بنیاد کے طور پر لایا اور اس کا استعمال شروع کیا۔