پایتون هنوز بین افراد زیادی از دانشمندان کامپیوتر، دانشمندان داده و متخصصان هوش مصنوعی محبوبه اما این افراد خیلی در مورد نقاط ضعف پایتون اظهار ناراحتی میکنند.
از کندی تا خطاهای زمان اجرا! به همین دلیل است که با وجود محبوبیت شدید پایتون، جامعه بزرگی از برنامهنویسان از زبانهای دیگر استفاده میکنند.
زبانهای بهتر که مشکلات کندی و خطاهای زمان اجرای پایتون را ندارند، به عنوان مثال Julia ،Go و Rust هستند. Julia برای کارهای ریاضی و تحلیلی، Go برای ابزارها و سرورها و Rust بهترین انتخاب برای برنامهنویسی سیستمی است.
ازآنجاکه دانشمندان داده و متخصصان هوش مصنوعی با ریاضی دستوپنجه نرم میکنند، Julia در میان زبانهای برنامهنویسی از همه آنها سرتر است.
باز یک زبان جدید!
افراد یک زبان برنامهنویسی جدید ایجاد میکنند، زیرا میخواهند ویژگیهای خوب زبانهای قدیمی را حفظ کرده و موارد بد را برطرف کنند. در همین راستا گیدو ون روسوم در اواخر دهه ۱۹۸۰ پایتون را برای بهبود ABC ایجاد کرد. پایتون هنوز ویژگیهای خوب ABC را حفظ کرده است. بهعنوانمثال خوانایی و سادگی. اما پایتون بسیار مقاومتر و سازگارتر است.
سازندگان جولیا هم میخواهند قسمتهای خوب زبانهای دیگر را حفظ کنند و قسمتهای مشکلساز را حذف کنند. اما Julia بسیار بلندپرواز است و میخواهد بهجای رقابت با یک زبان خاص، همه آنها را شکست دهد. سازندگان Julia میگویند:
ما یک زبان متنباز با سرعت C، پویایی Ruby و قدرتمند در ریاضیات مانند Matlab میخواهیم. ما میخواهیم مانند پایتون برای برنامهنویسی عمومی قابلاستفاده باشد، برای آمار مانند R، برای جبر خطی مانند Matlab و برای پردازش رشته مانند Perl باشد. در کل زبانی که یادگیری آن بسیار ساده است، اما جدیترین هکرها را راضی نگه میدارد.
Julia میخواهد همه نکات مثبت زبانهای دیگر را که در حال حاضر وجود دارند مخلوط کند و با اینکه زبان جوانی است، به بسیاری از اهداف سازندگان خود رسیده است.
ویژگیهای بارز Julia
در ادامه برخی ویژگیهای بارز جولیا (julia) را بررسی میکنیم.
تطبیق پذیری (Versatility)
از Julia میتوان برای همه چیز استفاده کرد، از برنامههای ساده یادگیری ماشین گرفته تشبیه سازی های عظیم ابر رایانه. تا حدی پایتون نیز میتواند این کار را انجام دهد اما نه به اندازه Julia.
سرعت (Speed)
سازندگان Julia میخواستند زبانی بهسرعت C بسازند اما آنچه که ایجاد کردند سریعتر از C است. حتی اگر سرعت پایتون در سالهای اخیر بیشتر شده باشد، عملکرد آن هنوز هم با آنچه Julia میتواند انجام دهد فاصله دارد.
تبدیل کد (Code conversion):
برای کدنویسی در Julia حتی نیازی به دانستن یک دستور Julia ندارید. نهتنها میتوانید از پایتون و C برای برنامهنویسی در Julia استفاده کنید، بلکه حتی میتوانید از Julia در پایتون هم استفاده کنید!
کتابخانهها (Libraries)
یکی از نقاط قوت پایتون کتابخانههای بسیار زیاد آن است. Julia کتابخانه زیادی ندارد اما زبان بسیار جوان با منابع محدود است در این صورت تعداد کتابخانههایی که در حال حاضر دارد بسیار چشمگیر است. جدا از اینکه تعداد کتابخانههای جولیا در حال افزایش است و همچنین میتواند با کتابخانههای C و Fortran ارتباط برقرار کند.
داینامیک تایپ و استاتیک تایپ
پایتون داینامیک تایپ است. این بدان معنی است که برنامه در زمان اجرا تصمیم میگیرد که مثلاً یک متغیر اعشاری است یا یک عدد صحیح. این بدان معناست که شما باید کد پایتون را در همه سناریوهای ممکن آزمایش کنید و این کار خیلی زمانبر است.
ازآنجاکه سازندگان جولیا نیز میخواستند یادگیری این زبان آسان باشد، جولیا کاملاً از داینامیک تایپ پشتیبانی میکند. اما برعکس پایتون، اگر میخواهید استاتیک تایپ را معرفی کنید باید به روشی که در C یا Fortran وجود دارد آن را تعریف کنید. با این کار میتوانید در وقت صرفهجویی کنید.
گرچه همه این موارد بسیار عالی به نظر میرسند، اما باید بهخاطر داشت که Julia در مقایسه با پایتون هنوز کوچک است. یک معیار بسیار خوب تعداد سؤالات StackOverflow است. در حال حاضر، پایتون حدود بیست بار بیشتر از Julia در StackOverflow برچسبگذاری میشود! این به معنای محبوب نبودن جولیا نیست بلکه به طور طبیعی مدتی طول میکشد تا جولیا توسط برنامهنویسان پذیرفته شود.
همچنین بخوانید:
چرا Julia را یاد بگیریم؟
هرچه زودتر شما Julia را یاد بگیرید تجربه کافی برای پاسخ به سؤالات این زبان را کسب کردهاید. همچنین کد شما با Julia ، دوام بیشتری خواهد داشت. چهل سال پیش، هوش مصنوعی جز پدیدهای شگرف چیزی نبود. صنعت و سرمایهگذاران به آن اعتقادی نداشتند. اما کسانی که آن زمان آن را آموختند، غولهای امروزی هستند.
به همین ترتیب، جولیا اکنون نیز تقریباً جدید و ناشناخته است. اما وقتی رشد کند، برندگان بزرگ کسانی هستند که زودتر آن را پذیرفتهاند. این به این معنا نیست که اگر اکنون جولیا را یاد بگیرید، تضمین میشود ظرف ده سال پول زیادی به دست آورید، اما شانس خود را افزایش میدهید. به آن فکر کنید که اکثر برنامهنویسان Python را در رزومه خود دارند و طی چند سال آینده، تعداد بیشتری برنامهنویس پایتون را در بازار کارخواهیم دید. اما اگر تقاضای شرکتها برای پایتون کم شود، برد با کسانی است که Julia را انتخاب کرده اند. از طرف دیگر، اگر بتوانید Julia را در رزومه خود قرار دهید نهتنها نشان میدهید که علایقی فراتر از نیاز شغلی دارید، بلکه نشان دادهاید که مشتاق یادگیری هستید و درک وسیعتری از برنامهنویس بودن دارید. بهعبارتدیگر، شما برای کار مناسب هستید.
منبع: TNW news
با اجازه شما جولیا قرار نیست سریع تر از سی باشد.
سی و سی++ هر دو به اسمبلی تبدیل می شوند، همین!
در حالی که Julia در اصل یک jit هست،
اگر منظور شما از اینکه جولیا از نزدیک ترین زبان به ماشین (اسمبلی) سریع تر هست این هست که optmization بهتری دارد، حرفی ندارم 🙂
به نظرم این کامنتا رو زیر منبع اصلی خبر بزنید تا بلکه از گمراهی در بیان
? ?
that’s right 🙂