ネコと和解せよ

技術的なあれこれの備忘録のつもり

プログラミング言語 V 事始め

4ヶ月くらいリリースを楽しみに待っていたVがリリースされたので、 久々になにか物書きをしてみようかと思い更新。

V is 何

V is a statically typed compiled programming language designed for building maintainable software. It's similar to Go and is also influenced by Oberon, Rust, Swift.

The V Programming Language Document

つまるところG言語に似ており、RustやSwiftに影響を受けた新しいプログラミング言語です.

謳い文句としては

  • C並に早い処理速度
  • 依存関係のないネイティブコードに変換される
  • 標準ライブラリが多言語と比較して恐ろしく軽量

ってのがあるようです.

リポジトリvlang/v

ドキュメントは The V Programming Language Document

コンパイラのビルド

LinuxMacOSであれば、リポジトリのREADME.mdの手順に従えばなんの問題もないはずです.

Windowsは手元に環境がないので、試せていないですが、基本的にはWSL環境で使うことを想定 しているようです.

一応私の手元の環境(MacOS)での手順をコメント付きで載せておきます。

# ディレクトリを切って移動
$ mkdir -p ~/code && cd ~/code

# Vのソースをクローン. 
# 私が試した際のコミットは
# https://github.com/vlang/v/commit/46ba66c24c940de95c8837a05b3f1ac8be191c02
$ git clone https://github.com/vlang/v

# Vのコンパイラのソースのあるディレクトリへ移動します.
# VのコンパイラはV自身で書かれています.
$ cd v/compiler

# Vのコンパイラをビルドするための、Cで書かれたVのコンパイラをダウンロードし、
$ wget https://vlang.io/v.c

# ビルドします. すると vc という実行ファイルが生成されます.
$ cc -w -o vc v.c

# 上記で生成したコンパイラで V で書かれた Vのコンパイラをビルド.
$ ./vc -o v .

# 実行してみて確認
$ ./v
# 以下のようなREPLが開始されればおおよそ問題ありません.
#V 0.0.12
#Use Ctrl-D to exit
#For now you have to use println() to print values, this will be fixed soon
# >>>

生成された実行ファイルvはパスが通っている適当な場所においてあげれば、良いでしょう.

Hello World

サンプルコードにHello Worldがあるので、それをコンパイルして実行してみましょう.

サンプルコードはv/examples/にあります.

コンパイルは非常に簡単です.

# 下記コマンドでコンパイルするとhello_worldという実行ファイルが生成されます.
$ v hello_world.v

# 実行
$ ./hello_world

# あるいは、下記コマンドではコンパイルして実行までしてくれます.
$ v run hello_world.v

所感

ドキュメントが割と軽めなので、読み勧めつつ、 いろいろ遊んで行きたい.