چگونه یک پروژه تحقیقاتی در MIT به زبان برنامه‌نویسی جهانی جولیا تبدیل شد؟

چگونه یک پروژه تحقیقاتی در MIT به زبان برنامه‌نویسی جهانی جولیا تبدیل شد؟

همه چیز با چند ایمیل گلایه‌آمیز در سال ۲۰۰۹ آغاز شد. گروهی از پژوهشگران که از محدودیت‌ها و سرعت پایین زبان‌های برنامه‌نویسی علمی خسته شده بودند، تصمیم گرفتند ابزاری بسازند که بدون نیاز به بازنویسی کدهای پیچیده ریاضی و آماری در زبان‌های دیگر، سرعت بالایی ارائه دهد. این ایده در نهایت به شکل‌گیری پروژه تحقیقاتی در دانشگاه MIT و خلق زبان برنامه‌نویسی Julia منجر شد.

تلفیق سادگی پایتون با سرعت سی (C)

هدف اصلی سازندگان جولیا—ویرال شاه (Viral Shah)، آلن ادلمن (Alan Edelman)، جف بزانسن (Jeff Bezanson) و استفان کارپینسکی (Stefan Karpinski)—ساخت زبانی بود که کاربری آسان پایتون یا MATLAB را داشته باشد، اما سرعت اجرای آن به پای زبان C برسد. ویژگی متمایز جولیا در نحوه کامپایل کدها بر اساس نوع داده‌ها (Just-In-Time Compilation) است که سرعت و انعطاف‌پذیری بی‌نظیری به آن می‌بخشد.

این پروژه تحقیقاتی ابتدا به یک آزمایشگاه در MIT و سپس به شرکتی تجاری به نام JuliaHub تبدیل شد. امروزه این زبان رایگان و متن‌باز بیش از یک میلیون کاربر در دانشگاه‌ها و صنایع مختلف جهان دارد.

از واکسن کرونا تا کدک صوتی واتس‌اپ

جولیا در پروژه‌های بسیار متنوعی به کار گرفته شده است؛ از تصویربرداری از سیاه‌چاله‌ها توسط اخترشناسان گرفته تا مدل‌سازی مدارهای کامپیوتری، پیش‌بینی تغییرات اقلیمی و تحلیل فعالیت‌های مغزی. برای نمونه، پلتفرم مدل‌سازی دارویی که با جولیا توسعه یافته بود، به تسریع ساخت واکسن کووید-۱۹ شرکت مدرنا (Moderna) کمک کرد. همچنین مهندسان متا (Meta) از جولیا برای توسعه کدک صوتی بهینه‌تر برای ۴ میلیارد کاربر واتس‌اپ استفاده کردند و در پروژه‌ای دیگر، سیستمی برای جلوگیری از برخورد هواپیماها با جولیا طراحی شد که ۵۰ برابر سریع‌تر از نسخه پایتون خود عمل می‌کند.

ورود به دنیای طراحی خودکار با هوش مصنوعی Dyad

شرکت JuliaHub اخیراً نسخه ۳.۰ پلتفرم هوش مصنوعی خود به نام Dyad را معرفی کرده است. این پلتفرم به تیم‌های مهندسی کمک می‌کند تا توسعه سیستم‌های فیزیکی پیچیده مانند موشک‌ها، پمپ‌های حرارتی و ماهواره‌ها را سرعت ببخشند. به گفته ویرال شاه، مدیرعامل JuliaHub، مهندسان با استفاده از Dyad 3.0 می‌توانند اسناد طراحی را بارگذاری کنند تا سیستم با رعایت قوانین فیزیکی، کل فرآیند طراحی و شبیه‌سازی یک هواپیما را به صورت خودکار انجام دهد.