前書き

先日、V言語という未公開(2019/2/9時点)のプログラミング言語を見つけ、気になったので公式サイトの紹介を和訳しました。

記事に出てくるVoltとは、Skype、Slack、Gmail等、有名なWebサービスのクライアントをまとめたソフトウェアです。
2019/2/9時点では、Macにのみ公開されていますが、数日以内にWindowsとLinuxにも公開される予定です。

翻訳、解釈に間違いがあれば指摘していただけると幸いです。

Voltの開発に使われたV言語

元々、VoltはGo言語で開発されていました。しかし、C言語のGUIライブラリを使うため、また、アプリケーションのサイズを小さくするためにC言語で開発することにしました。その結果、アプリケーションのサイズは5MBから100KBに減少しました。

しかし、C言語での開発は生産的ではないため、2017年10月から2週間かけて、Cとシームレスに相互運用できる軽量でミニマルな言語を作りました。そして、それをV言語と呼ぶことにしました(この名前は最終決定ではありません)。

高速なコンパイル

V言語は、デスクトップの8コアCPU上で毎秒1500万行のコードをコンパイルします。

シンプル

V言語はGo言語と非常に似ています。

高速なパフォーマンス

V言語はx86_64の機械語に直接コンパイルされます。ARMもサポートされる予定です。また、GCC/clangの最適化を使うことで、より多くのプラットフォームをサポートし、より良いパフォーマンスを出すためのオプションもあります。
ランタイムライブラリも必要なく、メモリの使用量も少ないです。

安全性

  • 変数はデフォルトでイミュータブルです
  • グローバル変数は使えません
  • オプションタイプの置換にNULLはありません
  • 関数は部分的に純粋です(レシーバのみ変更可能です)
  • 変数のシャドウイングは行われません

C/C++との簡単な相互運用

既存の全てのC/C++のコードとライブラリを再利用し、パフォーマンスを失うことなくV言語から呼び出すことができます。

C/C++からV言語への変換

C/C++のコードベースをVに変換し、ビルドの時間を最大で400倍も高速にすることができます。変換機は、これらの言語の最新の規格をサポートしています。

ライブコード

V言語はライブコードをサポートしているため、科学的なアプリケーションやゲームの開発に最適です。

Hello World GUIの例

ライセンスなどの問題があるため、公式サイトで閲覧してください。

もしV言語に興味を持ったのであれば、この未完成の記事でもっと詳しく知ることができます。

質問やご提案がありましたら、support@volt.wsまでご連絡ください。

関連リンク

GitHub
vlang.io
Slack
Twitter
Patreon
donate via PayPal


コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください