در میانه های عمر پایتون، این زبان برنامه نویسی با یک رقیب جدی با نام جولیا رو به رو شده است.
اشتباه نکنید! محبوبیت پایتون هنوز توسط جامعه ای متشکل از دانشمندان کامپیوتر ، دانشمندان داده و متخصصان هوش مصنوعی حفظ می شود. اما اگر تا به حال با این افراد هم صحبت شده باشید، می دانید که آنها چقدر در مورد نقاط ضعف پایتون اظهار ناراحتی می کنند. از کندی آن گرفته تا نیاز به آزمایش بیش از حد، از یک طرف تولید خطاهای زمان اجرا با وجود آزمایش قبلی و از طرفی دیگر عدم تطابق فراوان برای کتابخانه های مجزا در این زبان برنامه نویسی مشکلاتی هستند که احتمالا از آن خواهید شنید.
به همین دلیل است که برنامه نویسان بیشتر و بیشتر زبان های دیگر را مورد استفاده قرار می دهند.یکی از این زبان های جایگزین جولیا است. Julia برای کارهای ریاضی و فنی عملکردی فوق العاده دارد. این در حالی که Go برای برنامه های ماژولار و برنامه نویسی فانکشنال بسیار جذاب است و Rust بهترین انتخاب برای برنامه نویسی سیستمی است.

از آنجا که دانشمندان حوزه داده و متخصصان هوش مصنوعی با مشکلات بسیاری در علم ریاضی روبرو هستند، جولیا برگ برنده آنها خواهد بود. حتی پس از بررسی دقیق متوجه خواهید شد جولیا نکات مثبتی دارد که پایتون نمی تواند از عهده آنها بر بیاید.
قدرت پایتون در برابر ظرفیت جولیا
وقتی تیم یا سازمانی یک زبان برنامه نویسی جدید ایجاد می کند، این کار را به این خاطر انجام می دهند تا ویژگی های خوب زبان های قدیمی را حفظ کرده و موارد بد آن را را برطرف کند. از این رو، گیدو ون روسوم در اواخر دهه ۱۹۸۰ پایتون را ایجاد کرد تا ABC را بهبود ببخشد. زبان به وجود آمده برای یک زبان برنامه نویسی بسیار مناسب بود. شرایط به گونه ای بود که در حالی که سختی آموزش آن را آسان می کرد، استفاده از آن در زندگی واقعی ابدا دشوار نبود. داستان برای خلق این زبان نیز روندی مشابه دارد.

در مقابله با زبان این زبان باید اذعان داشت که پایتون کاملا عملی است. این را می توانید در ذن پایتون مشاهده کنید ، که نشان دهنده نیت سازندگان است:
• زیبا بهتر از زشت است. • صریح بهتر از ضمنی است. • ساده بهتر از پیچیده است. • مجتمع بهتر از پیچیده است. • تخت بهتر از تودرتو است. • پراکنده بهتر از متراکم است. • خوانایی حساب می شود. • موارد خاص برای نقض قوانین به اندازه کافی خاص نیستند.
پایتون هنوز ویژگی های خوب زبان برنامه نویسی ABC را حفظ کرده است. به عنوان مثال خوانایی ، سادگی و مبتدی بودن فرمان ها. اما پایتون بسیار مقاوم تر و سازگارتر با زندگی واقعی عمل می کند. با همین روال، سازندگان جولیا می خواهند قسمت های خوب زبانهای دیگر را حفظ نموده و قسمت های بد زبان های برنامه نویسی را حذف کنند. اما جولیا بسیار بلند پروازانه تر عمل کرده است: تیم توسعه دهنده جولیا می خواهد به جای جایگزینی یک زبان، همه آنها را با هم پشت سر بگذارد. برای درک بهتر و بیشتر موضوع می توانید در اینجا جزییات را مطالعه فرمایید.
این شعار تیم توسعه دهنده تیم جولیا است:
ما یک زبان متن باز و دارای مجوز لیبرال می خواهیم. ما سرعت C را با پویایی Ruby می خواهیم. ما می خواهیم زبانی همگون داشته باشیم، با ماکرو های واقعی مانند Lisp ، اما با علامت گذاری ریاضی مشهود و مشهور مانند Matlab. ما می خواهیم چیزی به عنوان پایتون برای برنامه نویسی عمومی قابل استفاده باشد ، برای آمار مانند R آسان باشد ، برای پردازش رشته مانند Perl طبیعی باشد ، برای جبر خطی مانند Matlab ، چیزی که یادگیری آن بسیار ساده باشد، اما جدی ترین هکرها را راضی نگه دارد. ما آن را تعاملی می خواهیم و می خواهیم کامپایل شود.
توسعه دهندگان این زبان می خواهند همه نکات مثبت را که در حال حاضر وجود دارد با یکدیگر ترکیب کنند و آنها را با نقاط ضعف دیگر زبانها عوض نکنند. اگرچه جولیا زبان نوپایی است، اما در حال حاضر سازندگان آن، به بسیاری از اهداف خود در خصوص جولیا دست یافته اند.
آنچه برنامه نویسان در مورد جولیا دوست دارند
تطبیق پذیری
جامعه برنامه نویسان
از این زبان می توان برای همه کاری استفاده کرد، از برنامه های ساده یادگیری ماشین گرفته تا شبیه سازی های عظیم ابر رایانه ای را میتوان با این زبان پشتیبانی کرد.
پایتون با بیش از ۳۰ سال سابقه، جامعه ای عظیم از برنامه نویسان دارد. به سختی سوالی خواهید یافت در رابطه با پایتون وجود دارد که نمی توانید در یک جستجوی Google به آن پاسخ دهید.
سرعت
تبدیل کد
سازندگان این زبان جدید می خواستند زبانی به سرعت C بسازند. اما آنچه که ایجاد کردند حتی سریعتر است. حتی اگر سرعت پایتون در سال های بیشتر شده باشد، اما عملکرد آن هنوز چیزی نیست که قابل مقایسه با جولیا باشد.
در سال ۲۰۱۷ ، جولیا حتی به باشگاه Petaflop نیز پیوست. این باشگاه کوچکی برای زبان است که در اوج عملکرد می تواند از سرعت یک petaflop در ثانیه فراتر رود. به غیر از جولیا، در حال حاضر فقط C ، C ++ و Fortran عضو این باشگاه هستند.
برای کدنویسی در Julia حتی نیازی به دانستن یک دستور جولیا ندارید. نه تنها می توانید از پایتون و C برای کدگذاری در جولیا استفاده کنید ، بلکه حتی می توانید از جولیا در پایتون هم استفاده کنید!
نیازی به گفتن نیست ، این امر آسان سازی برطرف نمودن نقاط ضعف کد شما را بسیار آسان می کند. با دانستن زبان جولیا می توانید کارآمد تر عمل کنید.
کتابخانه ها
داده های متغیر و ثابت
کتابخانه ها یکی از نقاط قوت پایتون است. کتابخانه های بی نظیر آن مشکلات بسیاری را در ابعاد مختلف مرتفع می کند. جولیا کتابخانه های زیادی ندارد و توسعه دهندگان از این بابت ناراضی هستند.
اما در نظر بگیرید که جولیا زبان بسیار نوپایی با منابع محدود است. تعداد کتابخانه هایی که در حال حاضر برای این زبان وجود دارد بسیار محدود است. اما این نکته این اهمیت دارد که جدا از اینکه تعداد کتابخانه های جولیا در حال افزایش است، Julia می تواند با کتابخانه های C و Fortran نیز ارتباط برقرار کند تا مشکلات را مدیریت کند.
پایتون ۱۰۰٪ متغیر های خود را به صورت پویا تعریف می نماید. این بدان معناست که مفسر در زمان اجرا تصمیم می گیرد که مثلاً یک متغیر Float است یا یک int.
گرچه پایتون بسیار مناسب برنامه نویسان مبتدی است، اما مجموعه ای از اشکالات احتمالی را به شما منتقل می نماید. این بدان معناست که شما باید کد پایتون را در همه سناریوهای ممکن آزمایش کنید. این یک کار کاملا بیهوده است که زمان زیادی را می برد. برای مثال در مورد ورودی خاصی که میدانید از نوع رشته است باید تاکید کنید تا پایتون بتواند توابع مربوط به آن را استفاده نماید.

سرمایه گذاری روی داده هایی که کم حجم هستند
اگرچه همه این موارد بسیار عالی به نظر می رسند، اما باید به خاطر داشت که جولیا در مقایسه با پایتون هنوز جای کار دارد. یکی از معیارهای بسیار خوب تعداد سوالات StackOverflow است: در این زمان ، پایتون تقریباً بیست برابر بیشتر از جولیا سوالات برچسب گذاری شده دارد. البته این به معنای محبوب نبودن جولیا نیست بلکه به طور طبیعی مدتی طول می کشد تا توسط برنامه نویسان پذیرفته شود. به این فکر کنید که آیا واقعاً می خواهید کل کد خود را به زبان دیگری بنویسید؟ نه، ترجیح می دهید در برخی از پروژه های آینده زبان جدیدی را امتحان کنید.
باید دید آینده زبان جولیا به کجا خواهد رسید. آیا این زبان به قدرت زبان هایی نظیر گو، روبی، پایتون و… خواهد شد یا همانند بسیاری از زبان ها سرنوشت غم انگیزی برای آن رقم خواهد خرد.