«Дуже простий, але тішить найсерйозніших хакерів»: за що розробники люблять нового конкурента Python
Здається, Python втрачає актуальність. І у нього вже з’явився новий перспективний конкурент.
Так вважає докторка наук з фізики елементарних частинок Ері Джурі. Також вона розробляє алгоритми штучного інтелекту, щоб краще ці частинки досліджувати.
Передаємо їй слово.
Не зрозумійте мене неправильно. Python все ще має потужну підтримку спільноти програмістів, спеціалістів з обробки даних та штучного інтелекту.
Але ці ж люди у розмовах між собою багато нарікають на слабкі сторони Python. Вони нарікають на повільність роботи, помилки під час виконання, незважаючи на попереднє тестування та інші недоліки мови.
Ось чому все більше програмістів використовують інші мови. Найпопулярніші серед них – Julia, Go та Rust.
Julia чудово підходить для математичних і технічних завдань, Go — для модульних програм, а Rust — для системного програмування.
Спеціалістам з обробки даних та тим, хто працює з штучним інтелектом потрібно вирішувати багато математичних проблем. Тому Julia їм подобається. Так, у неї є недоліки, але є і багато переваг, якими не може похизуватись Python.
Дзен Python проти жадібності Julia
Люди створюють нові мови програмування, щоб виправити недоліки мов, що вже існують і зберегти їх переваги.
Так наприкінці 1980-х років Гвідо ван Россум створив Python, як покращення ABC. Остання була надто ідеальна для мови програмування — хоча її було легко вивчати, з застосуванням в реальному житті були проблеми. Навпаки, Python досить прагматичний. Ви можете побачити це в дзен Python, який відображає наміри творців:
Красиве краще, ніж потворне.
Явне краще, ніж неявне.
Просте краще, ніж складне.
Складне краще, ніж заплутане.
Пласке краще, ніж вкладене.
[…..]
Python зберіг хороші риси ABC: наприклад, читабельність, простоту та зручність для початківців. Але він набагато надійніший і адаптованіший до реального життя, ніж була ABC.
Так само і творці Julia хочуть зберегти вдалі знахідки та уникнути недоліків інших мов. Але Julia набагато амбітніша: замість того, щоб замінити одну мову, вона хоче перемогти їх усі.
Ось як кажуть її творці:
«Ми жадібні: ми хочемо більшого.
Нам потрібна мова з відкритим кодом і вільною ліцензією. Нам потрібна швидкість C із динамічністю Ruby. Нам потрібна гомоіконічна мова зі справжніми макросами, такими як Lisp, але з очевидними, знайомими математичними сутностями як Matlab. Ми хочемо чогось такого ж зручного для загального програмування, як Python, такого ж легкого для статистики, як R, такого ж природного для обробки рядків, як Perl, такого ж потужного для лінійної алгебри, як Matlab. Щось дуже просте в опануванні, але таке, що тішитиме найсерйозніших хакерів. Ми хочемо, щоб мова була інтерактивною і ми хочемо, щоб вона була компільованою».
Julia хоче поєднати всі переваги, які існують на даний момент, а не обмінювати їх на недоліки інших мов. І, незважаючи на те, що Julia — молода мова, вона вже досягла багатьох цілей, які ставили перед собою творці.
За що розробники люблять Julia
Універсальність
Julia можна використовувати для чого завгодно: від простих програм машинного навчання до величезних суперкомп’ютерних симуляцій. В принципі, Python певною мірою також може виконувати ці завдання, але він був адаптований. А от Julia створювали для такого.
Швидкість
Творці Julia хотіли створити таку ж швидку мову, як C, але те, що вони створили, ще швидше. Незважаючи на те, що за останні роки Python став трохи швидшим, він не в змозі наздогнати Julia.
У 2017 році Julia навіть приєдналася до Petaflop Club — невеликого клубу мов, які можуть перевищувати швидкість один петафлоп на секунду на піку продуктивності. Окрім Julia, зараз у клубі лише C, C++ та Fortran.
Спільнота
Python існує 30 років, і не дивно, що безліч людей підтримують його. Будь-яке питання, пов’язане з Python, найчастіше можна вирішити простим Google-пошуком.
А от спільнота Julia значно менша. І хоча це означає, що вам може знадобитися більше часу, щоб знайти відповідь, ви спілкуватиметеся у вузькому колі спеціалістів знову і знову. І це може стати основою міцних професійних стосунків.
Перетворення коду
Вам навіть не потрібно знати жодної команди Julia, щоб кодувати цією мовою. Ви можете не лише використовувати код на Python і C у Julia. Ви навіть можете використовувати Julia в Python!
А це дозволяє надзвичайно легко виправити слабкі місця вашого коду Python. Або залишатися продуктивним, поки ви лише почали знайомитися з Julia.
Бібліотеки
Одна з найсильніших сторін Python — безліч добре підтримуваних бібліотек. У Julia їх не так багато, і користувачі скаржилися, що вони (поки що) не дуже добре обслуговуються.
Але якщо врахувати, що Julia — дуже молода мова з обмеженою кількістю ресурсів, то ця кількість вражає. Крім того, що їх весь час стає більше, Julia також може взаємодіяти з бібліотеками C і Fortran, наприклад, для обробки графіків.
Динамічний і статичний типи
Python на 100% динамічно типізований. Це означає, що програма вирішує під час виконання, наприклад, чи є змінна числом з плаваючою точкою чи цілим числом.
Це надзвичайно зручно для початківців. Але це також означає, що потрібно перевірити код Python у всіх можливих сценаріях. А це завдання, яке займає багато часу.
Оскільки творці Julia також хотіли, щоб її було легко опанувати, Julia повністю підтримує динамічну типізацію. Але, на відміну від Python, ви можете вводити статичні типи, якщо хочете — так, як вони присутні, наприклад, у C або Fortran.
Це може заощадити вам купу часу: замість того, щоб шукати виправдання, чому ви не тестуєте свій код, ви можете вказати тип, де це буде доцільно.
Дані: інвестуйте в невеликі речі
Все це звучить чудово, але пам’ятайте, що Julia дуже молода у порівнянні з Python.
Один з показників, що допомагає орієнтуватись у актуальності мови — це кількість запитань на StackOverflow: зараз Python тегають приблизно на двадцять раз частіше, ніж Julia!
Це не означає, що Julia непопулярна: просто їй потрібно ще трохи часу.
Чи ви справді хочете написати весь код іншою мовою? Ні, ви краще спробуєте нову мову в майбутньому проекті. Кожна мова зіштовхується з цією проблемою: від її релізу до активного використання має пройти певний час.
Але якщо ви почнете використовувати Julia зараз, ви інвестуєте в майбутнє. Оскільки все частіше програмісти звертаються до Julia, у вас буде достатньо досвіду, щоб відповісти на їхні питання. А ще ваш код буде надійнішим, бо багато коду Python буде замінено на Julia.
Підсумок: опануйте Julia, і це може стати вашою перевагою
Сорок років тому штучний інтелект був лише нішевим явищем. Індустрія та інвестори не вірили в нього, технології були важкими у використанні. Але дехто навчався використовувати штучний інтелект ще тоді, попри незручності. І зараз багато з цих людей мають зарплату не менше, ніж гравці НФЛ.
Julia теж ще дуже нішева. Але коли вона стане популярнішою, переможцями будуть ті, хто вже вміє її використовувати.
Звісно, немає гарантії, що ви зароблятимете купу грошей, якщо зараз опануєте Julia. Але шансів на це у вас точно буде більше.
Подумайте про це: у резюме більшості програмістів вказано Python. І в наступні кілька років кількість таких спеціалістів тільки збільшуватиметься. Але якщо попит на Python зменшиться, перспективи для його програмістів також стануть гіршими.
Якщо ви зможете додати Julia до свого резюме, у вас буде справжня перевага. Бо, якщо говорити чесно, що вас виділяє серед інших програмістів? Не так уже й багато, правильно? А от вміння використовувати Julia допоможе виділитись серед натовпу.
Ви не тільки демонструєте, що маєте інтереси, які виходять за рамки вимог роботи. Ви також показуєте, що прагнете вчитися та маєте ширше уявлення про те, що означає бути програмістом.
Ви та інші програмісти Julia — майбутні рок-зірки, і ви це знаєте. Або, як сказали творці Julia у 2012 році:
«Ми дуже жадібні — і ми хочемо мати все. Близько двох з половиною років тому ми вирішили створити мову нашої жадібності. Вона ще не завершена, але настав час для версії 1.0. Мова, яку ми створили, називається Julia. Вона вже задовольняє 90% наших непристойних вимог, і тепер їй потрібні такі ж вимоги інших, щоб формувати її далі. Отже, якщо ви також непомірно жадібний та надто вимогливий програміст, ми хочемо, щоб ви спробували Julia».
Python досі шалено популярний. Але якщо ви освоєте Julia зараз, це може стати вашим золотим квитком пізніше.
Автор: Ері Джурі
Текст адаптувала Євгенія Козловська
Favbet Tech – це ІТ-компанія зі 100% украінською ДНК, що створює досконалі сервіси для iGaming і Betting з використанням передових технологіи та надає доступ до них. Favbet Tech розробляє інноваційне програмне забезпечення через складну багатокомпонентну платформу, яка здатна витримувати величезні навантаження та створювати унікальний досвід для гравців.
Сообщить об опечатке
Текст, который будет отправлен нашим редакторам: