0
2

Mojo🔥をインストールして触ってみる

Posted at

はじめに

機械学習に向いている新しい言語がローカル環境で使えるようになったので、少し触ってみた

前提条件

実行端末:Mac(intel)

インストール手順

1. 事前準備

公式サイトからアカウントを登録して「Download Now」を押下

登録すると自動でインストール手順が載っている画面に遷移するのでその手順に従ってインストールを進めていく(一部異なる手順で進めるのでこの後説明)

スクリーンショット 2023-12-13 16.40.02.png

2. Mojoの実行環境作成

現状のMojoはintel版のMacでは使えないのでDockerを使って実行環境を作成していく
※手順にはVSCodeの拡張機能である「Dev Containers extension」を使うとなっているが最終的に環境構築を自動にしたかったのでDockerコンテナを自作

  1. 環境構築のための設定ファイル(docker-compose.ymlとDockerfile)を作成する

    docker-compose.yml
    version: '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を動かすことができる環境を作成

  2. Dockerコンテナを作成
    docker-compose up -dコマンドを実行し、Dockerコンテナを作成する

3. Mojoのインストール

作成したDockerコンテナにはまだ何もインストールされていないので、Mojoをインストールする

  1. 先ほど作成したコンテナにログインする
    docker compose exec mojo bash

  2. 最初に表示されたインストール手順の04に記載されているコマンドを実行

  3. しばらく待って次のような画面が表示されればModukar CLIのインストールが完了
    スクリーンショット 2023-12-13 17.07.15.png

  4. 手順に従って05のコマンドを実行する前に以下のコマンドを実行しpythonをインストールする
    apt install python3.10-venv -y

  5. 05のコマンドを実行する
    modular install mojo

  6. 以下の画面が表示されればMojo SDKのインストールが完了
    スクリーンショット 2023-12-13 17.13.17.png

※ pythonのインストールを実行せずにmojoをインストールした場合

apt install python3.10-venv -yを実行せずにmodular install mojoを実行した場合、pythonをインストール後mojoをインストールしようとしても上手くいかない
そのため、modular cleanを実行してからmodular install mojoを実行する必要がある

Mojoを触ってみる

1. REPLでコードを実行

コンソールにmojoと入力すると以下の画面が表示される
スクリーンショット 2023-12-13 17.24.38.png
ここに好きなようにコードを入力ができる

書いたコードは

  1. カーソルが末尾にない状態でEnterを1回押す
  2. カーソルが末尾にある状態でEnterを2回押す

ことで評価して実行ができる

※カーソルが末尾にある状態でEnterを1回押すと改行して、コードを続けて書くことができる(テストで簡単に実行したいけど数行書きたい時に便利)

2. Mojoファイルを作成し実行する

チュートリアルに書いてある簡単なコードでhello.mojoというファイルを作成

hello.mojo
fn main():
    print("Hello, world!")

以下コマンドを実行する
mojo hello.mojo

以下のように出力される

Hello, world!

3. ビルドして実行する

  1. 2で作成したhello.mojoを使って以下のコマンドを実行する
    mojo build hello.mojo

  2. 実行後、helloというファイルが作成されるので、作成された実行ファイルを実行する
    ./hello

  3. 2で出力された結果と同じメッセージが出力される(処理が簡単なので実感しにくいが2で実行した時より早く実行ができている)

まとめ

Mojoがローカル環境で利用できるようになったので簡単に触ってみた。
Pythonと似たような記述でかけるので学習コストが抑えられて実行が早くなるので、今後も色々触っていきたいと思った。
Pythonの35000倍早いというのが売りらしいので、今後はPythonや他の言語との速度比較などをやってみたいと思う。

0
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
2