2023年10月30日
こんにちは。近々行われる健康診断に怯えているRです。
今月も勉強会がありました。今回のテーマは「新言語Mojo🔥に触れてみた」と「Shelfのご紹介」です。
(画像)
Mojo🔥とは9月に正式サービスが開始された新言語です。
Mojo🔥はAI開発者向けのPythonと互換・代替でき、Pythonの欠点である実行速度をカバーができる言語といわれています。
Mojo🔥は以下の特徴が挙げられています。
・基本的にPythonとほとんど同じ記述ができる
・コンパイル言語であるため実行の前にコンパイルが必要
・関数の定義にはPythonと似た記述ができるdefと実行速度が速くなる代わりに型の宣言が必須など制約が生じるfnがある。
・変数を宣言するとき再宣言、代入ができるvar、再宣言、代入ができないletを共に宣言できる
・拡張子は.mojoか.🔥
とPythonとの互換性を意識した作りになっています。
ベンチマークに用いる再起関数である竹内関数を用いてPythonとMojo🔥のdefとfnの速度の比較をしていきました。
Tarai(14,7,0)の実行速度を以下にまとめました。
条件 | 概要 | 処理時間(sec) |
---|---|---|
Python | 通常のPython | 71.62362694740295 |
Mojo🔥(def) | defで関数を作成したMojo🔥 | 8.010038827 |
Mojo🔥(fn) | fnで関数を作成したMojo🔥 | 0.970542334 |
このようにMojo🔥はPythonより約9倍、fnを用いると約75倍速くなりました。
明らかにPythonより速くなったのが分かりましたが、その一方で一部のPythonの機能が無い、一部OSが非対応で仮想環境上で行う必要があるなど、
現時点では数多のPython高速化の手段の中でMojo🔥を使用する理由はあまりないように思えました。
まだまだ開発中とのことなのでこれからに期待していきたいと思います。
続いての発表は自作Webサービスの「Shelf」の紹介です。
みなさん本や映画などの物語を見た時に
「このセリフかっこいい!」や「この表現おしゃれー」といった感動があると思います。
ですが、これを共有する相手がなかなかいないではないですか?
Shelfはそのためのサービスです。
タイトルと本文を投稿し、これをまとめることができます。
さらにコメントやお気に入りを入れることができます。
また、この発表は紹介のほかにも後輩に向けた個人開発の心得を教えていただきました。
大きく分けて3つ
1. とりあえず完成させよう
完成したというステップを踏むことが大事、やりたいことがあったらほったらかしでもいいからやりたいことをやる。
2. 見た目など気にしたら負け
見た目には正解なんかないから気にしたら一生終わらなく、苦しい。
3. 必要なものだけ調べよう
知識量は今までの作るための知識の積み重ね。余裕があったらそれ+αで調べると意外な発見があるかもしれない。
でした。
自分も早速何か面白いものを作ってみたいと思いました。
今週はここまで、また今度。
【イベント関連記事】
【2023/09 勉強会】Salesforceデータ分析とSolidjsについてのお勉強