今回はAI/機械学習に特化した
新プログラミング言語
「Mojo」を取り上げてみました


解説動画はこちら




Mojo言語とは

Python言語をベースにした
パフォーマンスやデプロイ問題を解決した
新しいプログラミング言語で
Python言語の拡張版のような位置付け

Python++ みたいな感じでしょうか



Python言語の利点、欠点

・Pythonの利点
読みやすい、覚えやすい
有能なライブラリが豊富で
機械学習のための標準言語になっているのが
大きな利点です


・Pythonの欠点
遅い、とにかく遅い
(現在でもCやRustなどを併用する方法も有るが
他の言語も学ばないといけない)

ライブラリの依存性問題がある

かなり致命的とも言える欠点があります



Mojo言語の特徴

Pythonエコシステムと互換性がある
(まだ未完成な所が残っているっぽい)

コンパイル型言語である
(ライブラリの依存関係問題も解決される)

関数を作成する際に「def」の代わりに
「fn」を使用してより高速な「モード」を選択できる

「class」の代わりに「struct」を使用すると
ポインタを追いかけ回すことなく
データ構造で使用することができる

C言語並に高速なコードが
Pythonコードを少し変更するだけで
書けてしまうっぽい

まだまだ特徴は有りそうですが
全部を理解するには時間が掛かりそうです



Mojo言語のメリット

TensorFlow や PyTorch などの
機械学習フレームワークがC++ で実装されているが
これを1つの言語に置き換えられる可能性があります

デプロイ時にコンパイルされたファイルを使用するので
依存関係を気にする必要が無くなる可能性があります


とにかく速いらしいです!!

ベンチマークでは35000倍高速化出来たとか・・・
本当ならMLOpsが超はかどるでしょうね


Mojo言語のまとめ

Pythonと互換性が有って
高速で動作し、デプロイも楽になる
夢のようなプログラミング言語が開発中

ただし、Get start で申し込んでも waitlist で
待ち状態のため実際に使えないから
確認は出来ていない状況です

今後のML業界の標準言語に置き換わって行くのか?
これからの開発を待ちたいと思います


それでは