موضوع مقاله: دارت (زبان برنامه‌نویسی) | مخاطب: عمومی | لحن: دانشنامه‌ای | ساختار: عنوان، مقدمه، 3 بخش، جمع‌بندی | مقاله: | # دارت (زبان برنامه‌نویسی) | مقدمه: دارت راه حلی برای مشکلات موجود در جاوا اسکریپت (به‌طور مثال مشکل حافظه) می‌باشد که کارایی بهتر، قابلیت استفاده ساده‌تر برای پروژه‌های بزرگ و امنیت بیشتری را فراهم می‌کند. | ## بخش 1: دارت (زبان برنامه‌نویسی) | این حالت مد پیش‌فرض است زیرا که سریع‌ترین حالت برای اجرای برنامه‌های دارت می‌باشد. کامپایل به جاوا اسکریپت dartc اولین کامپایلری بود که توانایی تولید جاوا اسکریپت از روی کد دارت را داشت، ولی هم‌اکنون از رده خارج شده‌است. Frog دومین برنامه از کامپایلر دارت به جاوا اسکریپت بود که به زبان دارت نوشته شده‌است. همچنین این برنامه نیز به زبان دارت نوشته شده‌است و هم‌اکنون کامپایلری است که تمام ویژگی‌ها و مفاهیم این زبان را پشتیبانی می‌نماید. ویرایشگر در ۱۸ نوامبر ۲۰۱۱، شرکت گوگل یک ادیتور دارت را منتشر کرد، که ادیتوری متن باز بر روی کامپوننت‌های اکلیپس بود و روی سیستم‌های Mac OS X، ویندوز و سیستم عامل‌های مبتنی بر لینوکس اجرا می‌شد. این پلاگین ویژگی‌های زیادی از جمله هایلایت کردن متن، کامل کردن کد، ریفرکتور کردن، دیباگ کردن و موارد بسیاری را دارا می‌باشد. محیط‌های گسترش دارت به گونه‌ای طراحی شده‌است که بر روی مرورگرهای مدرن اجرا شود، چه به صورت اجرا بر روی ماشین مجازی که درون مرورگرها تعبیه شده‌است یا به صورت کامپایل شده به زبان جاواسکریپت. ماشین مجازی دارت همچنین برای اجرای برنامه‌های دارت بر روی سرور یا خط فرمان طراحی شده‌است. | ## بخش 2: دارت (زبان برنامه‌نویسی) | به‌طور مثال پروژهٔ دارت کتابخانه‌هایی جهت کار با ورودی خروجی شبکه و دایرکتوری‌ها را فراهم می‌نماید. تطبیق مرورگرها دارت به حالت نسخهٔ مدرن جاواسکریپت کامپایل می‌شود و اجازه می‌دهد که بر روی مرورگرهای مدرن اجرا شود، گرچه یک نسخهٔ ویژه از کرومیوم وجود دارد که درون آن ماشین مجازی دارت تعبیه شده‌است. این ویژگی این مرورگر را قابل می‌سازد تا برنامه‌های دارت را بدون اینکه به جاواسکریپت کامپایل شوند، اجرا نماید. با نسخهٔ مایلستون یک، جاواسکریپت تولید شده، ۷۸٪ بازدهی جاواسکریپتی که به صورت دستی نوشته شده باشد را دارا می‌باشد، در حالی که کد دارت ۲۱٪ سریعتر از کد مشابه بر روی وی-۸ اجرا می‌شود. در 2025، edge مایکروسافت، فایرفاکس موزیلا، مرورگر اپرای شرکت اپرا و سافاری شرکت اپل برنامه‌ای جهت تعبیه کردن ماشین مجازی جدای دارت را دارند. تیم جاواسکریپت مایکروسافت بیان کرده‌است که «بعضی مثالها، مانند دارت که طوری بیان می‌کند که جاواسکریپت دارای ایرادات اساسی می‌باشد و برای بهبود این سناریو ما نیاز به یک ترک همیشگی جاواسکریپت در زمان اجرا و گرامر آن می‌باشیم. برخلاف دارت، اسکریپت شارپ و گوگل وب تولکیت، تایپسکریپت گرامر جاواسکریپت را کنار نگذاشته‌است بلکه آن را توسعه بخشیده‌است. مهندس شرکت اپل، اولیور هانت، که بر روی پروژه وب کیت (که هردو مرورگر سافاری و گوگل کروم را قدرت بخشیده‌است) فعالیت دارد، بیان نموده‌است که: اضافه نمودن یک زبان اضافی وب محور (که استاندارد نشده‌است)، برای پروژه مقرون به صرفه به نظر نمی‌آید، حتی اگر آسیب‌رسان به نظر بیاید. | ## بخش 3: دارت (زبان برنامه‌نویسی) | [...] اضافه کردن پشتیبانی مستقیم و آشکار برای یک زبان غیر استاندارد، منجر به قربانی کردن وب-باز با نادیده گرفتن تمام فرم‌های توسعه توافقی زبان شده و ما را مجبور به انتخاب هر زبانی بر روی وب نماید. این عمل بطور غیر مستقیم هر مرورگری را در موقعیتی قرار می‌دهد که یک اکستنشن ویژهٔ خاص را نسبت به بقیه مرورگرها در یک موقعیت خاص پشتیبانی می‌کند همانطور که یک مرورگر خاص وی بی اسکریپت را پشتیبانی می‌کرد، و تأثیر یکسان داشت: شکافتن وب-باز با ساختن محتوایی که تنها به صورت کارامد بر روی تنها یک محصول خاص اجرا می‌شود. برندان ایچ در موزیلا، کسی که جاواسکریپت را توسعه بخشید، بیان نموده‌است که: من به شما قول می‌دهم که اپل و مایکروسافت (و اپرا و موزیلا، ولی بیان دو مورد اول کافی است) هرگز ماشین مجازی دارت را تعبیه نخواهند کرد. پس بسیار خوب در کروم کار خواهد کرد و حتی فقط در کروم کار خواهد کرد انتشار بیاناتی عامدانه توسط گوگل است. به عنوان یک کاربر کروم و فایرفاکس (و یا سافاری) و من آن را برای تجربه دردناک یافته‌ام، جدا از کج سلیقگی‌های سیاسی. داگلاس کراکفورد، هنگامی که از او در مورد دارت، در طی مقالهٔ استایل برنامه‌نویسی و ذهن شما سؤال گردید، پاسخ داد: من مدت زمان زیادی را فکر کردم... | ## جمع‌بندی | اگر من می‌توانستم یک کاغذ تمیز بردارم و (یک زبان جدید) بنویسم که تمام ویژگی‌های خوب جاواسکریپت را دارا می‌باشد، هرگز به چیزی شبیه دارت نمی‌رسیدم.