Будущее программирования ИИ уже здесь.

Mojo — новый язык программирования, ориентированный на ИИ, с доступностью Python и производительностью C.

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

Несмотря на то, что Python широко любим компьютерщиками и ботаниками за простоту использования и обширный набор функций, те же самые люди часто критикуют его за производительность. Относительно низкой производительности Python способствуют два фактора: это интерпретируемый язык и динамическая типизация. Большинство предприятий переходят с Python на такие языки, как Rust и C, чтобы обрабатывать дополнительный трафик и повышать производительность, особенно с ростом числа приложений с интенсивным использованием аппаратного обеспечения, управляемых искусственным интеллектом, где каждый бит производительности является эликсиром. Сейчас это изменится с созданием нового языка: Mojo.

Что такое Моджо?

Mojo — это новый язык программирования, разработанный Modular — компанией, основанной Крисом Латтнером и Тимом Дэвисом. Крис также является основателем популярного языка разработки мобильных приложений — Swift.

Для некоторых людей изучение нового языка может потребовать много времени, а иногда у вас может не быть времени и ресурсов для изучения нового языка для конкретной разработки. Если вы хорошо разбираетесь в Python, Mojo — это супер-набор Python. Это облегчает изучение и ускоряет внедрение. Я очень ценю такие расширения и унификации языков, потому что они значительно упрощают жизнь разработчикам и смягчают парадокс выбора.

Почему Моджо?

«Когда мы запускали Modular, у нас не было намерений создавать новый язык программирования. Но когда мы создавали нашу платформу с намерением унифицировать мировую инфраструктуру ML/AI, мы поняли, что программирование всего стека слишком сложно. Кроме того, мы много писали MLIR вручную и не получали удовольствия». — Модульная команда

Нет кривой обучения

Mojo, являющийся надстройкой Python, означает, что если вы знакомы с Python, изучение Mojo не должно вызвать затруднений. Поскольку большая часть синтаксиса (в новой кодовой базе) разветвлена ​​​​из Python, вы не столкнетесь с какими-либо серьезными синтаксическими проблемами. Даже если вы плохо разбираетесь в Python, вам не о чем беспокоиться, так как Python имеет простой синтаксис. Если ваши основы кодирования понятны, изучение Mojo не должно быть сложной задачей.

Дополнительные возможности

Python не считается подходящим для системного программирования из-за его глобальной блокировки интерпретатора (GIL), что приводит к относительно низкой производительности на низком уровне. Однако Mojo преодолевает это ограничение, используя MLIR и CPython для запуска существующего кода Python для упрощения миграции. Он обеспечивает доступ ко всем функциям C/C++, таким как объявление structs, let и var, произвольное выделение памяти с использованием указателей и т. д., с улучшенной производительностью. Наряду с этими функциями у вас также есть выбор объявления типов, что улучшает проверку типов и обработку ошибок.

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

Лучшая совместимость оборудования

Крис Латтнер также является создателем MLIR (многоуровневое промежуточное представление). Используя MLIR, разработчики могут писать высокоуровневый, независимый от фреймворка код, который можно оптимизировать и эффективно развертывать на различных аппаратных устройствах, а также использовать широкий спектр блоков ускорителей, таких как центральный процессор или графические процессоры, такие как CUDA и тензорные ядра. Использование MLIR делает Mojo в 35000 раз быстрее, чем обычный Python, и предоставляет такие функции, как автонастройка и кэширование. Хотя это заявления Mojo, я не могу гарантировать их, пока не проверю язык полностью. Поскольку Mojo в настоящее время не имеет открытого исходного кода, я подал заявку на вступление в список ожидания и получение доступа к игровой площадке кода. Как только меня примут, я смогу тщательно протестировать язык и оценить заявления, сделанные командой Mojo.

Заключение

Я надеюсь, что этот краткий обзор дал вам полезную информацию о новом языке. Вся информация, которой я поделился, была собрана из надежных источников в Интернете, и я постарался представить ее в сжатой и понятной форме. Однако обратите внимание, что я не специалист по языкам программирования, и есть вероятность, что я неверно истолковал некоторую информацию из официальной документации.

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

Спасибо Upendra, сэр, за то, что познакомил меня с этим новым языком.

Если вы нашли эту статью полезной, вы можете купить мне кофе и, пожалуйста, рассмотрите возможность подписаться 👉 на меня и аплодировать 👏 за это. Вы также можете поделиться своими мыслями о Mojo в разделе комментариев. Спасибо за чтение! 🚀

Ресурсы

Моджо

МЛИР

Повышение уровня кодирования

Спасибо, что являетесь частью нашего сообщества! Перед тем, как ты уйдешь:

  • 👏 Хлопайте за историю и подписывайтесь на автора 👉
  • 📰 Смотрите больше контента в публикации Level Up Coding
  • 💰 Бесплатный курс собеседования по программированию ⇒ Просмотреть курс
  • 🔔 Подписывайтесь на нас: Twitter | ЛинкедИн | "Новостная рассылка"

🚀👉 Присоединяйтесь к коллективу талантов Level Up и найдите прекрасную работу