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

برنامه نویسی

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

آیک در عرض ۱۰ روز با اقتباس برخی مفاهیم از زبان‌هایی مانند Perl، Java، AWK، Scheme و … زبان جدیدی را ابداع کرد که نام آن را Mocha گذاشت. اما بعداً به LiveScript و سپس خیلی زود به JavaScript تغییر نام داد. دلیل استفاده از این نام، محبوبیت زبان Java در آن دوره بود. اما این نامگذاری معمولاً موجب این برداشت غلط شده است که JavaScript نسخه‌ی ساده شده (یا نسخه‌ی مفسری) زبان Java است. در واقع هیچ ارتباط ویژه‌ای بین Java و JavaScript وجود ندارد. تنها شباهت این دو در این است که هر دو زبان‌های برنامه‌نوسی هستند (مانند بسیاری زبان‌های دیگر)، ولی هیچ شباهت و ارتباط ویژه‌ای با یکدیگر ندارند.

جاوا اسکریپت اولین بار در نسخه‌ی دوم مرورگر Netscape Navigator در سال ۱۹۹۵ شروع به کار کرد. حدود یک سال بعد مایکروسافت زبان مشابهی را با مهندسی معکوس برای خود ایجاد کرد که آن را در نسخه‌ی سوم مرورگر Internet Explorer تعبیه کرد و نام این زبان را JScript گذاشت. دلیل این نامگذاری و عدم استفاده از نام JavaScript جلوگیری از بروز مشکلات مربوط به نقض قوانین کپی رایت بود. چرا که نام Java به عنوان یک علامت تجاری توسط شرکت Sun Microsystems که از رقبای مایکروسافت هم بود ثبت شده بود. اما با وجود نامگذاری متفاوت، JavaScript و JScript تقریباً از هر نظر یکسان بودند.

جاوا اسکریپت (و JScript) به سرعت محبوبیت زیادی کسب کردند. جاوا اسکریپت برای یادگیری و شروع به کار، زبان بسیار ساده‌ای بود که همین امر موجب رشد سریع این زبان در ایجاد صفحات وب پویا شد. البته این سادگی جاوا اسکریپت یک ایراد هم به حساب می‌آمد. چرا که حالا افراد بسیار زیادی بدون اینکه معنی کدها را به خوبی درک کنند شروع به کار با جاوا اسکریپت کردند، در بسیاری از موارد کدها از روی یکدیگر کپی می‌شد. در نتیجه در اوایل کار کدهای پُر اشکال و بی‌کیفیت زیادی با جاوا اسکریپت در سطح وب فراگیر شد. همچنین جاوا اسکریپت تعدادی کاربردهای منفی نیز پیدا کرد. مانند باز شدن صفحات تبلیغاتی آزار دهنده (Popup) در صفحات وب.

جنگ مرورگرها

زمانی که Netscape Navigator 4 و Internet Explorer 4 منتشر شدند، جاوا اسکریپت محبوبیت زیادی کسب کرده بود. در این زمان مایکروسافت شروع به استفاده از اصطلاح جدیدی به نام Dynamic HTML یا به اختصار DHTML کرد. منظور از DHTML استفاده از جاوا اسکریپت برای پویاسازی و ایجاد تعامل بیشتر با صفحات وب بود. مایکروسافت و Netscape برای افزایش دادن میزان محبوبیت جاوا اسکریپت (و JScript)، شروع به افزودن قابلیت‌های جدیدی به این زبان کردند. اما متاسفانه این تلاش منجر به بروز مشکلات زیادی شد.

امکانات اضافه شده به این زبان و نحوه‌ی به کارگیری آنها در Internet Explorer و Netscape Navigator یکسان نبود. در نتیجه نوشتن یک برنامه به زبان جاوا اسکریپت که در هر دو مرورگر به یک شکل اجرا شود کار بسیار دشواری بود. این رقابت بین مایکروسافت و Netscape منجر به ظهور اصطلاح جدیدی به نام جنگ مرورگرها (Browser Wars) شد. همین امر موجب شد تا برنامه‌نویسان حرفه‌ای، زبان جاوا اسکریپت را خیلی جدی نگرفته و آن را بیشتر به یک اسباب بازی تشبیه کنند (این تفکر هنوز هم بین برخی از برنامه‌نویسان قدیمی وجود دارد). اما در واقع مشکل از زبان جاوا اسکریپت نبود، بلکه مشکل از نحوه‌ی رقابت بین این دو شرکت بود.

در نهایت مایکروسافت برنده‌ی جنگ مرورگرها شد و Internet Explorer به مرورگر قالب در بازار مرورگرها تبدیل شد. همچنین برای مقابله با ناسازگاری بین مرورگرهای مختلف، سازمان‌های مختلفی استانداردهایی برای زبان‌های مرتبط با وب ارائه کردند. لذا برنامه‌نویسان جاوا اسکریپت و توسعه‌دهندگان مرورگرها شروع به استفاده از این استانداردها کردند که توسط کنسرسیوم جهانی وب (W3C) و سازمان استانداردسازی Ecma International بنا شده بود.

مرورگر متن باز Firefox در سال ۲۰۰۲ شروع به کار کرد. در سال ۲۰۰۳ نیز مرورگر Apple Safari منتشر شد که هر دو پشتیبانی خوبی از استانداردها داشتند. در نتیجه توسعه‌دهندگان می‌توانستند نرم‌افزارهای بهتری با جاوا اسکریپت بنویسند که در مرورگرهای مختلف به خوبی اجرا شوند.

بدون دیدگاه

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

نشانی ایمیل شما منتشر نخواهد شد.

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

در این مقاله قصد داریم درمورد الگوریتم دیکسترا کوتاهترین مسیر صحبت کنیم و این الگوریتم را به صورت گام به گام توضیح داده و همراه با رسم شکل مراحل آن را بررسی کنیم. پس اگر علاقمند به یادگیری این الگوریتم هستید در ادامه با ما همراه باشید.

اخبار ایران تکنولوژی
۷ الگوریتم که هر برنامه نویسی باید بداند

ما چند الگوریتم مرتب سازی در این لیست داریم و Merge Sort یکی از مهمترین الگوریتم‌ها است. این یک الگوریتم مرتب سازی کارآمد بر اساس تکنیک برنامه نویسی تقسیم و تسخیر است.

آموزش و هوش مصنوعی
تکنیک های طراحی الگوریتم

الگوریتم روشی است برای حل یک مسئله خاص در تعداد محدودی از مراحل برای ورودی با اندازه محدود. 
الگوریتم ها را می توان به روش های مختلفی طبقه بندی کرد. آن ها هستند: