無気力生活 (ノ ´ω`)ノ ~゜

脱力系エンジニア。てきとーに生きてます。

急にV言語のことを思い出した

今日TwitterのTLで観測したこれを見ていたんですね。

github.com

RustやElixir、最近よく見るようになった言語の情報が増えると、このようないいとこ取りを目指した言語が生まれるなーと考えておりまして、ふと、「そういえばGoが爆発的に流行っていたときにいたな、V言語」と湧き出たんですね。

以前取り上げたことがありました

gdgd-shinoyu.hatenablog.com

一年前とちょっと。このときはまだv0.1.0という出たばかりの頃で、まだそこまで使える雰囲気がなかったんですが、今では立派にv0.1.29。かなり現実的に使えるようになってきたような印象です。

以前、これの使い勝手を調べようと思っていたんですが、ちょうど転職やらなんやらで忙しかった時期で、全くもって触れていなかったので、せっかく思い出した手前ではあるので、すこしずつ触っていこうかなと思っています。

触るにあたって、以前はまだうまく動かせなかったv/uiで遊んで見ようかなと。

導入

v/uのgithub見ると、パッケージ管理の仕組みを持っていることがわかります。

v up
v install ui

なるほど、そういう言語なのね。

cannot compile `/home/shinoyu/vlang/v/cmd/tools/vpm.v`:
==================
/tmp/v/vpm.tmp.c:562:10: fatal error: openssl/rand.h: No such file or directory
  562 | #include <openssl/rand.h>
      |          ^~~~~~~~~~~~~~~~
compilation terminated.
...
==================
(Use `v -cg` to print the entire error message)

うーん(´・ω・`) まずは素直に依存関係を解決させるため、公式を覗きます。

Dependencies
Binaries built with V UI will have no dependencies.
To develop V UI apps, you need to install V. This takes a couple of seconds.
On some Linux distros you also need libxi-dev and libxcursor-dev.

とあるのでサクッとaptで導入します。んで、再実行すると.....

 openssl/rand.h: No such file or directory

まあ、そうですよね。入ってないですよね。 OpenSslが文句を行っているので、おとなしくlibssl-devもインストールしておきます。

そして再実行すると、

# v install ui
Creating /home/shinoyu/.vmodules/ ...
Installing module "ui" from https://github.com/vlang/ui to /home/shinoyu/.vmodules/ui ...

これでuiライブラリの導入がサクッとできました。後は時間見つけて触っていくようにしないと....