فکر می‌کنید یک زبان برنامه‌نویسی چطور متولد می‌شود؟ آیا یک روز صبح، یک نفر از خواب بیدار می‌شود و تصمیم می‌گیرد یک زبان جدید بسازد؟ قطعاً نه! پشت هر زبان موفقی، یک نیاز، یک مشکل و تیمی از ذهن‌های خلاق و متفکر وجود دارد. وقتی صحبت از (Dart) می‌شود، این داستان حتی جذاب‌تر هم می‌شود!

خیلی از شما که تازه می‌خواهید را شروع کنید، کنجکاو هستید که بدانید اصلاً این زبان از کجا آمد؟ چه کسی آن را ساخت؟ مگر گوگل بیکار بود که یک زبان جدید به دنیا اضافه کند؟ این مقاله از دقیقاً به همین سوالات پاسخ می‌دهد و شما را با خالقین اصلی دارت آشنا می‌کند. آماده‌اید تا به عمق این ماجرا سفر کنیم؟

Whiplash Jk Simmons GIF

Dart چیست؟ یک نگاه سریع:

قبل از اینکه به سراغ افراد پشت پرده برویم، بیایید یک تعریف کوتاه از دارت داشته باشیم. دارت یک زبان برنامه‌نویسی شیءگرا، مدرن و بهینه‌سازی‌شده است که گوگل در سال ۲۰۱۱ آن را معرفی کرد. سینتکس (نحو) آن بسیار شبیه به زبان‌هایی مثل C، جاوا و جاوااسکریپت است. این شباهت باعث می‌شود اگر با یکی از این زبان‌ها آشنا باشید، یادگیری دارت برایتان مثل آب خوردن باشد.

در ابتدا، هدف گوگل از ساخت دارت، جایگزینی برای جاوااسکریپت در مرورگرها بود. اما با گذشت زمان، دارت تبدیل به یک ابزار همه‌کاره برای گوگل شد. امروزه از دارت برای ساخت اپلیکیشن‌های موبایل (با فلاتر)، دسکتاپ (ویندوز، مک، لینوکس)، وب، و حتی بک‌اند و سرویس‌های ابری استفاده می‌شود. سادگی در کنار قدرت، دارت را به یکی از محبوب‌ترین زبان‌های حال حاضر تبدیل کرده است.

multi platform.ed2e069ee37807f5975a

تیم رویایی پشت دارت:

اگرچه یادگیری دارت آسان به نظر می‌رسد، اما این سادگی حاصل تلاش یک تیم فوق‌العاده از مهندسان است. دو نفر از این افراد نقش بسیار پررنگی در شکل‌گیری دارت ایفا کردند: لارس باک (Lars Bak) و کاسپر لوند (Kasper Lund). اما این دو تنها نبودند و گیلاد براها (Gilad Bracha) نیز به عنوان معمار زبان، نقش کلیدی داشت. بیایید با این اسطوره‌ها بیشتر آشنا شویم.

لارس باک (Lars Bak): مغز متفکر سرعت:

اگر قرار باشد یک نفر را به عنوان «پدرخوانده» یا معمار اصلی دارت معرفی کنیم، قطعاً آن شخص لارس باک است. این برنامه‌نویس دانمارکی، تمام عمر حرفه‌ای خود را وقف ساختن «ماشین‌های مجازی» (Virtual Machines یا VM) سریع و بهینه کرده است. رزومه او واقعاً چشمگیر است:

لارس باک (Lars Bak) - خالقین زبان دارت

لارس در سال ۱۹۸۸ مدرک کارشناسی ارشد خود را در رشته علوم کامپیوتر دریافت کرد. در دهه ۹۰، او در آزمایشگاه Sun Microsystems روی زبان Self کار کرد و سپس یکی از بهترین VMها را برای زبان Smalltalk به نام Strongtalk ساخت.

اما شاهکار اصلی او در سال ۱۹۹۷ رقم خورد، زمانی که مدیر فنی تیم HotSpot در شرکت Sun شد. HotSpot همان «ماشین مجازی جاوا» (JVM) است که هنوز هم قلب تپنده جاوا محسوب می‌شود و عامل اصلی سرعت و کارایی این زبان است. بله، لارس باک این هیولای عملکرد را خلق کرده است!

پس از مدتی، لارس از Sun جدا شد و شرکت خودش را تأسیس کرد. اما گوگل در سال ۲۰۰۶ او را به خدمت گرفت! چرا؟ برای پروژه‌ای که قرار بود وب را متحول کند: موتور V8. این موتور، قلب تپنده مرورگر کروم است و جاوااسکریپت را با سرعتی باورنکردنی اجرا می‌کند. قبل از V8، جاوااسکریپت زبانی کند و محدود بود، اما با تلاش لارس و تیمش، به یک موشک تبدیل شد و راه را برای اپلیکیشن‌های پیچیده‌ای مانند Gmail و Google Maps باز کرد.

پس داستان این است: لارس باک، استاد بی‌بدیل VMهای پرسرعت، ابتدا جاوا را با HotSpot نجات داد، سپس جاوااسکریپت را با V8 متحول کرد. حالا همین نابغه، در سال ۲۰۱۱ اعلام کرد: «جاوااسکریپت با تمام این پیشرفت‌ها، هنوز هم محدودیت‌های ذاتی دارد که نمی‌توان برطرف کرد. بیایید یک چیز جدید بسازیم!» این «چیز جدید» همان دارت بود. لارس باک تمام تجربیات خود را در ساخت HotSpot و V8 به کار گرفت و آن‌ها را در یک VM جدید به نام Dart VM پیاده‌سازی کرد. هدف او ساخت زبانی بود که هم برای انسان‌ها ساده باشد و هم برای ماشین‌ها فوق‌العاده سریع عمل کند.

کاسپر لوند (Kasper Lund): شریک استراتژیک:

هیچ گروه موسیقی موفقی بدون یک تیم هماهنگ کامل نمی‌شود. کاسپر لوند دقیقاً نقش شریک استراتژیک و مکملی را برای لارس باک ایفا کرد. کاسپر نیز یک مهندس نرم‌افزار دانمارکی و متخصص ماشین‌های مجازی است. جالب اینکه دوستی و همکاری او و لارس قدمت زیادی دارد.

کاسپر نیز در Sun Microsystems روی پروژه CLDC Hotspot (نسخه موبایلی ماشین مجازی جاوا) کار می‌کرد. این یعنی هر دو نفر کاملاً می‌دانستند که چگونه یک VM سریع و بهینه برای پلتفرم‌های مختلف بسازند. در سال ۲۰۰۲، این دو با هم شرکتی به نام OOVM تأسیس کردند که متخصص ساخت VM برای زبان‌های شیءگرا بود. آن‌ها واقعاً یک «زوج پویا» در دنیای VMها بودند.

وقتی گوگل لارس را به خدمت گرفت، کاسپر نیز پس از مدتی به او پیوست. این دو با هم روی موتور V8 کار کردند و سپس تیم اصلی توسعه دارت را تشکیل دادند. اگر لارس معمار اصلی پروژه بود، کاسپر مهندس اجرایی ارشد آن بود. آن‌ها با همکاری یکدیگر، موتور اولیه دارت را بنا نهادند؛ موتوری که هم می‌توانست کدها را مستقیماً اجرا کند (JIT) و هم آن‌ها را به جاوااسکریپت ترجمه (Compile) کند. این قابلیت، پایه و اساس انعطاف‌پذیری بی‌نظیری بود که دارت امروزه دارد.

گیلاد براها (Gilad Bracha): فیلسوف طراحی زبان:

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

رزومه او بسیار درخشان است: او در نوشتن «مشخصات فنی زبان جاوا» (Java Language Specification) نسخه‌های ۲ و ۳ نقش کلیدی داشت. این یعنی او از نزدیک با جزئیات درونی جاوا، نقاط قوت و ضعف آن آشنا بود. گیلاد قبل از گوگل، در شرکت Sun (بله، باز هم Sun!) به عنوان مهندس ممتاز فعالیت می‌کرد. او همچنین زبان برنامه‌نویسی Newspeak را خلق کرد و همیشه بر «سادگی»، «خوانایی» و «قدرت» در طراحی زبان‌ها تأکید داشت.

وقتی پروژه Newspeak به دلیل کمبود بودجه متوقف شد، گوگل در سال ۲۰۰۹ به سرعت گیلاد را جذب کرد. او به تیم لارس و کاسپر پیوست تا روی پروژه دارت کار کند.

نقش گیلاد در تیم دارت، «طراحی زبان» (Language Design) بود. در حالی که لارس و کاسپر سرعت را تضمین می‌کردند، گیلاد مسئول «اصالت» و «درستی» زبان بود. او مطمئن شد که دارت یک زبان شیءگرای واقعی، تمیز و قدرتمند باشد. بسیاری از ویژگی‌های برجسته دارت که امروزه آن را محبوب کرده‌اند، مدیون دیدگاه و تجربه گیلاد براها در طراحی زبان هستند.

چرا گوگل دارت را ساخت؟ نیاز به یک جایگزین بهتر:

شاید این سوال برایتان پیش بیاید که با وجود جاوااسکریپت (که خودش توسط لارس باک با V8 متحول شده بود)، چرا گوگل به سراغ ساخت دارت رفت؟ دلیل اصلی، محدودیت‌های ذاتی جاوااسکریپت بود. این زبان در ابتدا برای کارهای کوچک در مرورگر طراحی شده بود و با وجود پیشرفت‌های زیاد، هنوز هم چالش‌هایی برای پروژه‌های بزرگ و پیچیده داشت، از جمله:

۱. مشکلات عملکردی: با وجود V8، جاوااسکریپت هنوز هم برای برخی سناریوها، به خصوص در مقیاس بزرگ، بهینگی کافی را نداشت.

۲. مشکلات مقیاس‌پذیری: توسعه پروژه‌های بزرگ با جاوااسکریپت، به دلیل ماهیت پویا و عدم وجود تایپ ایمنی قوی، دشوار بود.

۳. ابزارهای توسعه: اکوسیستم جاوااسکریپت در آن زمان به اندازه امروز قدرتمند نبود و ابزارهای بهینه‌ای برای توسعه سریع و دیباگینگ نداشت.

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

آینده دارت و فلاتر:

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

اگر به دنبال یادگیری این زبان هستید، می‌توانید به سر بزنید و را مشاهده کنید. همچنین، برای دیدن نمونه‌هایی از ، مقالات مرتبط را از دست ندهید!

سوالات متداول درباره خالقین دارت:

چرا گوگل دارت را ساخت، با وجود جاوااسکریپت؟

گوگل دارت را به دلیل محدودیت‌های ذاتی جاوااسکریپت، به خصوص در مقیاس‌پذیری و عملکرد برای پروژه‌های بزرگ، ساخت. هدف، ارائه یک زبان مدرن با ابزارهای توسعه بهتر و عملکرد بهینه‌تر بود.

نقش لارس باک در توسعه دارت چه بود؟

لارس باک به عنوان معمار اصلی و مغز متفکر پشت ماشین مجازی (VM) دارت شناخته می‌شود. او با تجربه خود در ساخت HotSpot (برای جاوا) و V8 (برای جاوااسکریپت)، مسئولیت طراحی یک VM پرسرعت و بهینه برای دارت را بر عهده داشت.

گیلاد براها چه کمکی به دارت کرد؟

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

کاسپر لوند (Kasper Lund) - خالقین زبان دارت
گیلاد براها (Gilad Bracha) - خالق زبان دارت Dart
باب نیستروم (Bob Nystrom) - خالق زبان برنامه نویسی دارت
ویاچسلاو اگوروف (Vyacheslav Egorov) - برنامه نویس دارت
جان مک‌کاچن (John McCutchan) - خالق زبان Dart
پیتر فون در آهه (Peter von der Ahé)
Screen Shot 2013 01 14 at 12.57.59 AM
122988002 40fbb380 d36f 11eb 9240 0b6e4b968dfe
0 N6ZSt1McXO opQU7
flutter io