Рубріки: Мнение

«Очень простой, но радующий самых серьезных хакеров»: за что разработчики любят нового конкурента 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 сейчас, это позже может стать вашим золотым билетом. 

Автор:  Эри Джури

Текст адаптировала Евгения Козловская

Останні статті

Обучение Power BI – какие онлайн курсы аналитики выбрать

Сегодня мы поговорим о том, как выбрать лучшие курсы Power BI в Украине, особенно для…

13.01.2024

Work.ua назвал самые конкурентные вакансии в IТ за 2023 год

В 2023 году во всех крупнейших регионах конкуренция за вакансию выросла на 5–12%. Не исключением…

08.12.2023

Украинская IT-рекрутерка создала бесплатный трекер поиска работы

Unicorn Hunter/Talent Manager Лина Калиш создала бесплатный трекер поиска работы в Notion, систематизирующий все этапы…

07.12.2023

Mate academy отправит работников в 10-дневный оплачиваемый отпуск

Edtech-стартап Mate academy принял решение отправить своих работников в десятидневный отпуск – с 25 декабря…

07.12.2023

Переписки, фото, история браузера: киевский программист зарабатывал на шпионаже

Служба безопасности Украины задержала в Киеве 46-летнего программиста, который за деньги устанавливал шпионские программы и…

07.12.2023

Как вырасти до сеньйора? Девелопер создал популярную подборку на Github

IT-специалист Джордан Катлер создал и выложил на Github подборку разнообразных ресурсов, которые помогут достичь уровня…

07.12.2023