Mojo — замена Python

Mojo — замена Python, но ещё не создан полностью.

Пламенный привет посетителям этой страницы, пришедшим из социальных сетей, да и всем остальным тоже!

В апреле 2021-го года наблюдал удивительное явление: обильный поток посетителей из 4-х социальных сетей. В связи с этим настоятельно рекомендую всем неоднократно и регулярно посещать сайт rtbsm.ru — там в общих чертах изложена Российская Теннисная Балльная Система Марии (Шараповой).

Приглашаю всех полюбоваться на Фото и Видео красавицы Марии — надеюсь, что Вы поделитесь адресом сайта rtbsm.ru с друзьями и знакомыми.

Главная проблема — известить Марию, чтобы она лично как можно скорее заявила на весь мир о РТБСМ.

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

Привожу информацию со страницы https://dzen.ru/a/ZL-b1ef1cCTZ1SBz :

Mojo — замена Python? Или очередная безуспешная попытка его заменить? Python-программисты больше не нужны?!

Все интересное об IT мире
11 подписчиков
25 июля 2023 г.
285 прочитали

Всем доброго времени суток, дорогие друзья! Сегодня наша с Вами тема будет о нашумевшем языке Mojo. Давайте разберёмся в чём причина такого шума.


#mojo #python #future #programming

1. Кто вообще такой этот Ваш Mojo?

Давайте для начала погрузимся в историю этого языка, хоть она и крайне мала. В сентябре 2022 года Mojo был официально анонсирован компанией Modular.

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

Почему же Python такой медленный?

Python — это достаточно медленный язык. Есть много разных причин, но основные из них следующие:

  • Язык интерпретируемый, а не компилируемый, т. е. весь код читается построчно, а компиляция и перевод кода в байт-код происходят последовательно, а не параллельно, как это делает Java или языки семейства C
  • Динамическая типизация: В языках со статичной типизацией Вы всегда, когда задаете переменную, присваиваете ей тип, который нельзя поменять. Python использует переменные с динамической типизацией, и, когда Вы меняете тип переменной, он создаёт дополнительную переменную с новым типом и отделяет ей место в памяти, что занимает много времени
  • Однопоточное программирование: Кто бы что ни говорил, но Python — язык однопоточный, а значит совершает действия последовательно и задействует только одно ядро Вашего компьютера, а не несколько, как это делают многопоточные языки, что также негативно влияет на время работы

Из-за этого в некоторых задачах, требующих скорости работы, предпочтение отдают другим, более быстрым языкам — таким, как C++, C# и др. А это требует уже других специалистов, знающих эти языки, или программистов уровнем выше.

У Вас возможно возник следующий вопрос: «А почему так сложно создать быстрый и простой язык программирования?». Давайте я Вам попробую объяснить.

Почему так сложно создать быстрый и простой язык программирования?

Основная проблема заключается в существующих компиляторах. До компании Modular большинство компаний создавали языки на компиляторах LLVM и GCC.

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

Поэтому компания решила использовать достаточно новый компилятор, разработанный Google - MLIR

Этот компилятор широко распространён в сообществе акселераторов машинного обучения, поэтому Modular и решили его использовать. Но этот компилятор имел свои баги и проблемы, поэтому одной из подзадач компании являлась доработка компилятора MLIR. Данный компилятор они внесли в ряд своих инфраструктур и задумались о создании нового языка на базе данного компилятора. Так и возник язык Mojo.

Теперь немного поговорим о плюсах Mojo и его преимуществах над Python:

  1. Скорость работы: Как рассказывают разработчики, Mojo в 35000 раз быстрее Python и даже в 7 раз быстрее C++, что является огромным плюсом языка

2. Многопоточость: В отличие от Python, Mojo использует сразу несколько ядер и потоков компьютера, что позволяет ему выполнять код гораздо быстрее Python

3. Динамические и статичные переменные: Mojo, в отличие от других языков, не использует только статичные или только динамические переменные. Вы можете сами выбирать, какой вид переменных хотите использовать, что позволяет Вам экономить память и время.

Учить ли мне Mojo и нужно ли учить Python?

Вот мы с Вами плавно и подошли к главной теме нашей статьи: «Что мне учить: Python или Mojo и что делать, если я Python-программист?»

Ответ: учите Python и не спешите учить Mojo, если Вы Python-программист.

Объясняю свою точку зрения:

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

Также разработчики сами написали на своём сайте о том, что их язык максимально похож на Python, за рядом небольших исключений, чтобы уж была какая-то разница :)). Также они хотят добавить возможность конвертирования файлов питона, т. е. преобразовывать расширение .py в .mojo

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

Мой личный вывод таков: буду интересоваться разработкой языка Mojo и пробовать программировать на нём.

!…

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

И не забывайте, пожалуйста, нажимать на кнопки социальных сетей, которые расположены под текстом каждой страницы сайта.
Mojo - замена PythonПродолжение тут…

Deviz_7

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Можно использовать следующие HTML-теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Проверка комментариев включена. Прежде чем Ваши комментарии будут опубликованы пройдет какое-то время.