Pages - Menu

Pages - Menu

Pages

2020年7月28日火曜日

V言語とRust、 Vlang&Rust

https://blog.goo.ne.jp/jsp_blog/e/7060694611d493ceecde2e3e2c27ecb6
シェアしました。

コメント:
ベンチマークの結果は、V言語は最速の様で、Rustは次の様ですが、
V言語はまだ、コンパイルすればメモリーリークが解決するようなシステムにはなっておりませんので、今後の課題の一つとなっております。
2020-03-24 11:58:40 | 日記
2019年6月22日に、V言語がオープンソースで公開されました。
これまで、WEBのデータベースアプリをRustで開発する方法を色々調べてきたのですが、これがV言語の方がメリットが大きいとなると、無視することはできません。
V言語に乗り換えてしまうことも検討する必要があるかもしれません。
ということで、V言語の公式サイトの言うことをいったん信じて、Rustと比較して特徴を整理してみました。

▼V言語 公式サイト
https://vlang.io

▼V言語 公式サイトにおける他言語との比較説明
https://vlang.io/compare


実際にV言語はまだ使ったことないですが、上記を元にすると以下のようになるのではないかと。

VRust備考
実行ファイルの性能V公式サイトではC並みに速いとのことですが、現時点では遅いケースもあるようです。Rustは安定して高速と思います。
実行ファイルが1つにまとまるコンパイルすると、いずれも極力小さいサイズの1ファイルになるようです。
クロスコンパイルいずれもWindows・Linux・macOS・Android・iOSにネイティブ対応する実行ファイルを容易に生成できるとのこと。(V言語のAndroid・iOSは今後対応予定)特にVは各OS上でのGUIツールキットを標準で対応する方針の様子。RustのGUIライブラリは各メーカ任せです。
コンパイル時間Vはコンパイルの速さも売りにしています。確かにRustはそれほど速くないです。
学習の容易さ構文上、VはGoの簡潔さを意識しているようです。Rustはやはり変数の所有権やライフタイムを気にしながら記述せねばならず、私はコンパイルを通すのに苦労しています...
ガベージコレクションなしいずれもNULLを変数にセットできません。メモリ安全性の確保が意識されているようです。Rustはこの機能のために、変数の所有権やライフタイムを意識して書く必要があるのですが、Vはその必要もなしにガベージコレクションなし機能を実現できるのは凄いことのような気がします。
型推論機能どちらも型宣言が必須ではありません。
ライブラリのインストールのしやすさどちらもパッケージマネージャが提供されており、簡単に取り込めます。
強力なWEBフレームワークがあるかVでは「vweb」がありますが、機能的にはまだまだ不十分に思います。Rustでは「actix-web」などで実現できます。
データベース接続が容易か「Sqlite」「Postgres」「MySQL」は、いずれもライブラリを導入することで簡単に実現できるようです。
ORマッパーがあるかVは標準ライブラリについてくるようです。(がんばってる!)Rustでは「diesel」で実現できます。
帳票生成ライブラリがあるかVは調べ切れていません。私はオープンソースで利用可能な最も高機能な帳票ライブラリは、Javaの「JasperReport」と思いますが、これに匹敵するほどのライブラリはRustでもないと思います。
言語メーカサポートRustはFirefoxメーカのMozillaがしっかりサポートしてくれています。Vは現時点の公式サイトではスポンサーが1社ついているだけのようです。
エディタのサポートどちらもVisual Studio Codeで基本的なプラグインがあるようです。Vには「Vidエディタ」なるものもあるようです。
マクロのサポート×Vでは煩雑になるという理由からマクロは使えないようです。V自体簡潔なので、その方針で困ることはないかと思います。
商用無償で利用可能
ということで、WEBサイトの記述のみ信じると、メーカのサポート以外はRustに比べてV言語に一日の長があるように感じました。
(メーカサポートは言語選択での最重要事項ではありますが)
ただ、V言語自体バージョンが1.0になるまでは、破壊的変更が多く行われるような雰囲気です。
(今は0.1.24で、次は0.2だそうです)

私はWEB上でDBを使ったアプリをプログラムレスで開発できるアプリを、個人で細々...と作っています。
サーバ側をRustで開発していますが、なんだかいずれV言語にしないといけない日が来たりするのでは...と思います。
(酒)

シンプル入退室管理
  限りなくシンプルなタイムカードシステム

WhitePlug
  手のひらサイズのLinuxサーバ

monipet
  動物病院の犬猫の見守りをサポート
  病院を離れる夜間でも安心

Smart mat
  重さセンサIoTで在庫管理に革新を。
  自動発注&メールアラートで欠品・発注ミスを防ぎます

RealStocker
  リアルタイムに在庫を見える化!
  スピーディかつ正確な入出庫管理を実現します

株式会社ジェイエスピー
  横浜に拠点を置くソフトウェア開発・システム開発・
  製品開発(moniシリーズ)、それに農業も手がけるIT企業


ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー

Vlang&Rust


https://blog.goo.ne.jp/jsp_blog/e/7060694611d493ceecde2e3e2c27ecb6 We
shared.

Comment:
Benchmark result seems to be the fastest in V language, and Rust is as follows, but
V language is not yet a system that solves memory leak by compiling, so in the future It is one of the challenges.
2020-03-24 11:58:40  |  Diary
On June 22, 2019, V language was released as open source.
So far, I have investigated various ways to develop WEB database applications with Rust, but when this is more advantageous for V language, it can not be ignored.
You may also need to consider switching to the V language.
So, once I believed what the official website of V language says, I compared the features with Rust and arranged the features.

▼ V language official site
https://vlang.io

0 件のコメント:

コメントを投稿