以前から気になっていたV言語を触ってみました。
インストール
WSL2のUbuntu 20.04上にインストール。
公式のインストール方法通りで問題ないと思います。ただ私はインストールディレクトリを指定したかったので、以下コマンドでインストール、問題なく完了。
sudo mkdir -p /opt/v
sudo chmod 777 /opt/v
git clone https://github.com/vlang/v /opt/v
cd /opt/v && make
sudo ln -s /opt/v/v /usr/bin/v
v --version # V 0.3.4 814d682
上記コマンドはDocker上に構築されている以下を参考にさせていただきました。なおV言語を利用するユーザは書き込み権限まで含めて必要とのこと。
https://celtislab.net/archives/20230417/vlang-programming-environment/#toc_h42
Hello World
プロジェクトを作成し、コーディング、コンパイル、実行までを確認します。
プロジェクト作成
$ mkdir ~/workspace/v
$ cd ~/workspace/v
$ v init
Change the description of your project in `v.mod`
Complete!
$ ls
src v.mod
$ ls src/
main.v
v init
だとカレントディレクトリにプロジェクトを作成しますが、v new <プロジェクト名>
だとディレクトリも作ってくれるとのこと。
コーディング
v init
の時点でコーディング完了してた。。。
$ cat src/main.v
module main
fn main() {
println('Hello World!')
}
実行
$ v run .
Hello World!
簡単ですね!
コンパイル
run
のコマンドを指定せず、ファイルパスだけ指定すればビルドしてくれます。
$ v .
$ ls -lh
total 664K
drwxr-xr-x 2 shun shun 4.0K May 13 23:15 src
-rwxr-xr-x 1 shun shun 654K May 13 23:18 v
-rw-r--r-- 1 shun shun 83 May 13 23:05 v.mod
ん?実行ファイル654KBもあるぞ?実行ファイルのサイズはちっちゃいと昔謳ってたような気がしましたが、と思ったらリリースビルドしてませんでした。
あとガベージコレクションはデフォルトでONなようなので、一旦オフにしてみます。
$ v -prod -gc none .
$ ls -lh
total 104K
drwxr-xr-x 2 shun shun 4.0K May 13 23:15 src
-rwxr-xr-x 1 shun shun 96K May 13 23:49 v
-rw-r--r-- 1 shun shun 83 May 13 23:05 v.mod
96KBは思ってたより大きいですね。他にもオプションが必要なのかもしれませんがヘルプにも書かれていないオプションがあったりということでとりあえずここまで。
これから色々触っていきますが、現時点でNimと比べてどうなのかとかも評価していきたいですね。