خداحافظ پایتون؛ سلام جولیا
زبان برنامهنویسی جولیا با برخورداری از نقاطقوت چشمگیرش، مورد توجه بسیاری از برنامهنویسان قرار گرفته و ممکن است جای پایتون را بگیرد
زبان برنامهنویسی پایتون هنوز برای بخش مهمی از برنامهنویسها، پژوهشگران داده و متخصصان هوش مصنوعی محبوب است. با این حال، اگر تاکنون با این افراد ملاقات کرده باشید، متوجه شدهاید که آنها تا چه حد از نقاط ضعف پایتون از جمله کُند بودن، نیاز به آزمایش بیش از حد و بروز خطا در زمان اجرا با وجود آزمایشهای قبلی، دلخور هستند. به همین دلیل، بیشتر برنامهنویسان در حال استفاده از زبانهای دیگر هستند.
در میان این زبانها جولیا (Julia، (Go و Rust از همه مناسبتر هستند. جولیا برای کارهای ریاضی و فنی عالی است، درحالیکه Go برای برنامههای ماژولار بسیار مناسب است و Rust بهترین انتخاب برای برنامهنویسی سیستمها.
سایت towardsdatascience در گزارش خود نوشته است: از آنجا که دانشمندان داده و متخصصان هوش مصنوعی با بسیاری از مشکلات ریاضی برخورد میکنند، جولیا محبوبیت خاصی دارد. حتی با توجه به بررسیهای انجامشده، جولیا نقاطقوتی دارد که پایتون نمیتواند به پای آن برسد.
ذن پایتون در مقابل کمالطلبی جولیا
وقتی متخصصان یک زبان جدید برنامهنویسی میسازند، زبانهای قدیمی را کنار نمیگذارند، زیرا میخواهند از ویژگیهای خوب زبانهای قدیمی بهره ببرند و موارد نامناسب را برطرف کنند. بر همین اساس، گویدو ون رسام، در اواخر دهه 1980 پایتون را برای بهبود ABC که یک زبان برنامهنویسی فوقالعاده بود، خلق کرد. در حالیکه یکدستی ABC آموختن آن را آسان میکرد، استفاده از آن در شرایط واقعی دشوار بود. در مقابل، پایتون کاملا عملگراست. شما میتوانید این موضوع را در متنی از پایتون که شبیه آموزههای مکتب ذن است مشاهده کنید. این متن بیانگر نیت سازندگان این برنامه است؛ «زیبا بهتر از زشت است، صراحت بهتر از کنایه است، ساده بهتر از پیچیده است، پیچیده بهتر از بغرنج است،. هموار بهتر از ناهموار است، پراکندگی بهتر از تراکم است و....» پایتون همچنان ویژگیهای خوب ABC، مانند خوانابودن، سادگی و دوستداشتنی بودن برای مبتدیها را حفظ کرده است. اما پایتون در مقایسه با ABC بهمراتب قویتر و سازگارتر با شرایط واقعی است.
به همین ترتیب، سازندگان جولیا میخواهند قسمتهای خوب سایر زبانها را حفظ کنند و موارد بد را نادیده بگیرند.
اما جولیا بسیار جاهطلبتر است و به جای ارائه یک زبان جدید بهعنوان یک انتخاب جدید، میخواهد همه آنها را از دور خارج کند که این موضوع در بیان سازندگان آن آشکار است.
جولیا میخواهد همه نقاطقوتی را که اکنون وجود دارند با هم داشته باشد. اگرچه جولیا یک زبان جدید محسوب میشود، اما اکنون به بسیاری از اهداف
خود که سازندگان آن پیشبینی کردهاند، دست یافته است.
ویژگیهای جولیا
انطباقپذیری: از جولیا میتوان برای همهچیز، از برنامههای ساده یادگیری ماشین گرفته تا شبیهسازیهای عظیم ابررایانهها استفاده کرد. پایتون هم تا حدودی میتواند این کار را انجام دهد، اما زمان میبرد تا پایتون با این کارها تطابق یابد. این در حالی است که جولیا دقیقا برای این چنین کارهایی ساخته شده است.
سرعت: سازندگان جولیا میخواستند زبانی به همان سرعت زبان C بسازند، اما آنچه آنها خلق کردند سریعتر هم است. اگرچه سرعت پایتون در سالهای اخیر بهتر شده است، اما عملکرد آن هنوز با جولیا تفاوت بسیاری دارد. جولیا در سال 2017، حتی به باشگاه Petaflop (باشگاه کوچک زبانهایی که در اوج عملکرد میتوانند از سرعت یک Petaflop در ثانیه فراتر روند) پیوست. غیر از جولیا، اکنون فقط زبانهای C، C++ و Fortran در این باشگاه حضور دارند.
گستردگی گروه: پایتون با قدمت بیش از 30سال، از یک اجتماع عظیم و دارای پشتوانه برخوردار است. به سختی یک سؤال درباره پایتون پیدا میکنید که نتوانید به پاسخ آن در گوگل دست یابید. در مقابل، جامعه جولیا بسیار کوچک است. این وضعیت به این معنی است که برای یافتن یک پاسخ ممکن است نیاز به زمان بیشتری داشته باشید. ممکن است چندین و چندبار با همان افرادی که یک سؤال شما را پاسخ دادهاند، ارتباط برقرار کنید؛ البته این اتفاق میتواند باعث ایجاد روابط حرفهای برنامهنویسان شود که بسیار ارزشمند است.
تبدیل کد: شما حتی لازم نیست که یک دستور جولیا را برای کدنویسی در جولیا بدانید. نهتنها میتوانید از کدهای پایتون و C در جولیا استفاده کنید، بلکه میتوانید از «جولیا در پایتون» هم استفاده کنید!
کتابخانهها: یکی از نقاطقوت پایتون، وجود بینهایت کتابخانه است که بهخوبی حفظ میشود. جولیا کتابخانههای زیادی ندارد و کاربران از اینکه این کتابخانهها حفظ نمیشوند شکایت میکنند.
اما وقتی به این موضوع توجه کنید که جولیا یک زبان بسیار جدید با منابع محدود است، همین تعداد کتابخانه، بسیار چشمگیر است. صرفنظر از این واقعیت که تعداد کتابخانههای جولیا رو به رشد است، این زبان بهعنوان مثال میتواند با کتابخانههای C و Fortran برای مدیریت موضوعات و طرحها ارتباط برقرار کند.
ویژگیهای خوب زبانهای قدیمی
وقتی متخصصان یک زبان جدید برنامهنویسی میسازند، زبانهای قدیمی را کنار نمیگذارند، زیرا میخواهند از ویژگیهای خوب زبانهای قدیمی بهره ببرند و موارد نامناسب را برطرف کنند