Написать пост

Язык программирования Mojo — стал ли он лучше Python

Аватарка пользователя sudo >: )

В 2023 году появился язык программирования Mojo, который должен был стать убийцей Python. Узнали у senior и middle программистов, что с языком в 2024 году и интересен ли он хоть кому-либо.

В 2023 году появился новый язык программирования Mojo, который должен был стать убийцей Python. Говорили, что Mojo в 35 000 раз быстрее. 

Узнали у senior и middle программистов, что с языком в 2024 году и интересен ли он хоть кому-либо.

Короткий ответ сразу: Python охватывает огромное количество сфер разработки от микроконтроллеров до модов к играм, а Mojo должен был стать языком для ML разработчиков. Это не решение для всех, а только для определенной категории специалистов.

Mojo предоставляет очень важную особенность для Python-разработчиков, это расширение над языком, как TS над JS. Благодаря этому, если у вас есть задача ускорить ваш код на Python, вам нужно изучать не новый язык, а скорее новый фреймворк. При этом Mojo явно ориентирован на ML разработку, где действительно есть что оптимизировать. В глобальном плане Mojo – не «убийца» Python, это скорее Python новой версии для тех, кто работает с машинным обучением и искусственным интеллектом.

Важно отметить, что это всё ещё свежий язык. Официальный релиз был в мае 2023 года. Языку Rust, который должен был стать «грозой» («убийцей») C++, потребовалось 8 лет, чтобы вызвать пристальное внимание к себе. Не менее интересны представленные создателями Mojo метрики производительности языка: большая часть из них нацелена на конкретную часть языка и использует конкретные тесты, такое сравнение звучит искусственно.

Для тех разработчиков, которые выбрали более быстрые языки, чем Python, Mojo вряд ли будет интересен. Такая же ситуация с разработчиками на Python, решение задач у которых не требует быстрых вычислений, вроде веб-разработки. Таким образом, Mojo – это хорошее предложение для тех, кто уже пишет на Python, и вычисления, такие как множественные вложенные циклы, требует оптимизации. Он вряд ли станет серьезным конкурентом Python, но может переманить ML специалистов благодаря прямой поддержке Python.

Если смотреть на открытую аналитику ИТ-кластера ARDA, то в начале 2024 года не было ни одного запроса на инструмент Mojo со стороны заказчиков, в то время как третье место в рейтинге уверенно занимает Python. Среди всех запросов на начало 2024 года, поступило 239 запросов на бэкенд-разработку, из которых 24 — поиск Python специалистов.

Таким образом, можно сказать, что в заказной разработке Mojo не востребован. Это неудивительно, технологиям обычно требуются годы, чтобы получить распространение в продакшн разработке. Так как для бизнеса надежность важнее производительности.

Надежность инструмента определяется доступной экосистемой библиотек и фреймворков, поддержкой сообщества разработчиков, простотой изучения и написания кода. Благодаря этим вещам складывается ландшафт рынка труда. Редко какой бизнес готов рисковать и писать важные системы на новых технологиях, потому что не знает как легко и быстро сможет нанимать под них профильных специалистов, что существенно влияет на скорость запуска продуктов на рынок.

Для того чтобы новый язык программирования действительно смог составить серьезную конкуренцию такому гиганту как Python, требуется нечто большее, чем просто скорость выполнения кода.

Поэтому, хотя разработчики и стремятся изучить новый крутой инструмент, пока на рынке он не пользуется популярностью среди клиентов, поэтому говорить о том, что Mojo «убийца» Python слишком рано.

Mojo — это интересный, быстрый язык с высокой производительностью, у которого определенно есть потенциал, но сейчас он еще очень молод и в нем нет большинства библиотек, которые есть в Python. Также этот язык ещё не до конца оптимизирован, поэтому как и любому проекту ему нужно набрать аудиторию и количество библиотек для работы. Пока я не могу сказать, что Mojo превосходит Python, но у него определенно есть большие перспективы стать лучше.

Пока Mojo не имеет обширного охвата, популярности и большого комьюнити, но он стремительно развивается. Ведутся работы по его улучшению и внедрению нововведений. В ближайшие несколько лет он действительно может занять место Python.

Сейчас многие пока не знают об этом языке программирования, и предпочтение отдается Python за счет его универсальности и практичности. Однако Mojo постепенно набирает обороты, улучшается и всё больше людей узнают о нем и его возможностях. Если интерес к Mojo будет продолжать нарастать в таком темпе, то в скором времени большинство будет знать и активно использовать эту технологию. 

Mojo появился в мае 2023 года и на одном из тестов (вычисления и построения множества Мандельброта) показал производительность в 35 тыс. раз быстрее Python. Синтаксис языка очень напоминает Python. Ну и, конечно, по устоявшейся традиции новый язык получил прозвище "убийца Python". Можно уверенно заявить, что каждый год появляется новый язык N, создатели, которого пророчат ему статус убийцы другого языка M, однако этого не происходит. Причина в экономической целесообразности: если у вас крупный коммерческий проект, написанный преимущественно с использованием Python, и есть острая потребность в добавлении нового функционала, дальнейшей поддержки и т.п., то экономически выгоднее оптимизировать существующий код, провести вертикальное масштабирование, нежели переписывать десятки тысяч строк кода на новом языке. Однако история VK и F******k показала, что это не всегда так. Таким образом, должно быть серьезное, в первую очередь, экономическое обоснование для миграции коммерческого проекта на другой язык.

Mojo несомненно интересен, у него есть хорошие преимущества перед Python, более того, язык совместим с Python (по утверждению разработчиков, в код Mojo можно импортировать библиотеки Python). Однако пройдет несколько лет, прежде чем язык наберет свое сообщество разработчиков и займет существенную позицию в рейтинге используемых языков (например, на StackOverflow). От себя хотел бы пожелать авторам языка удачи, т.к. считаю, что каждый новый язык программирования делает мир чуть совершеннее.

Mojo заявил о себе как о продвинутой альтернативе Python с уклоном в машинное обучение. Однако, несмотря на его заявленную высокую производительность и совместимость с Python, кажется, что Mojo пока не обрел широкой популярности среди разработчиков. Мы опросили около 100 наших разработчиков и выяснили, что Mojo вообще никто не использует. Остается загадкой, почему так произошло, особенно учитывая его потенциал для создания высокопроизводительных приложений в области искусственного интеллекта и системного программирования. Возможно, ему просто нужно больше времени, чтобы проявить свой потенциал на рынке программирования. 

Следите за новыми постами
Следите за новыми постами по любимым темам
637 открытий6К показов