はじめに
機械学習に向いている新しい言語がローカル環境で使えるようになったので、少し触ってみた
前提条件
実行端末:Mac(intel)
インストール手順
1. 事前準備
公式サイトからアカウントを登録して「Download Now」を押下
登録すると自動でインストール手順が載っている画面に遷移するのでその手順に従ってインストールを進めていく(一部異なる手順で進めるのでこの後説明)
2. Mojoの実行環境作成
現状のMojoはintel版のMacでは使えないのでDockerを使って実行環境を作成していく
※手順にはVSCodeの拡張機能である「Dev Containers extension」を使うとなっているが最終的に環境構築を自動にしたかったのでDockerコンテナを自作
-
環境構築のための設定ファイル(docker-compose.ymlとDockerfile)を作成する
docker-compose.ymlversion: '3' services: mojo: build: context: . dockerfile: Dockerfile container_name: 'mojo-container' volumes: - '..:/app' tty: true
Dockerfile.FROM mcr.microsoft.com/devcontainers/base:jammy RUN apt update RUN apt install curl -y WORKDIR /app
最低限Mojoを動かすことができる環境を作成
-
Dockerコンテナを作成
docker-compose up -d
コマンドを実行し、Dockerコンテナを作成する
3. Mojoのインストール
作成したDockerコンテナにはまだ何もインストールされていないので、Mojoをインストールする
-
先ほど作成したコンテナにログインする
docker compose exec mojo bash
-
最初に表示されたインストール手順の04に記載されているコマンドを実行
-
手順に従って05のコマンドを実行する前に以下のコマンドを実行しpythonをインストールする
apt install python3.10-venv -y
-
05のコマンドを実行する
modular install mojo
※ pythonのインストールを実行せずにmojoをインストールした場合
apt install python3.10-venv -y
を実行せずにmodular install mojo
を実行した場合、pythonをインストール後mojoをインストールしようとしても上手くいかない
そのため、modular clean
を実行してからmodular install mojo
を実行する必要がある
Mojoを触ってみる
1. REPLでコードを実行
コンソールにmojoと入力すると以下の画面が表示される
ここに好きなようにコードを入力ができる
書いたコードは
- カーソルが末尾にない状態でEnterを1回押す
- カーソルが末尾にある状態でEnterを2回押す
ことで評価して実行ができる
※カーソルが末尾にある状態でEnterを1回押すと改行して、コードを続けて書くことができる(テストで簡単に実行したいけど数行書きたい時に便利)
2. Mojoファイルを作成し実行する
チュートリアルに書いてある簡単なコードでhello.mojoというファイルを作成
fn main():
print("Hello, world!")
以下コマンドを実行する
mojo hello.mojo
以下のように出力される
Hello, world!
3. ビルドして実行する
-
2で作成したhello.mojoを使って以下のコマンドを実行する
mojo build hello.mojo
-
実行後、helloというファイルが作成されるので、作成された実行ファイルを実行する
./hello
-
2で出力された結果と同じメッセージが出力される(処理が簡単なので実感しにくいが2で実行した時より早く実行ができている)
まとめ
Mojoがローカル環境で利用できるようになったので簡単に触ってみた。
Pythonと似たような記述でかけるので学習コストが抑えられて実行が早くなるので、今後も色々触っていきたいと思った。
Pythonの35000倍早いというのが売りらしいので、今後はPythonや他の言語との速度比較などをやってみたいと思う。