https://blog.goo.ne.jp/jsp_blog/e/7060694611d493ceecde2e3e2c27ecb6
シェアしました。
20/03/24 11:58
2019年6月22日に、V言語がオープンソースで公開されました。
これまで、WEBのデータベースアプリをRustで開発する方法を色々調べてきたのですが、これがV言語の方がメリットが大きいとなると、無視することはできません。
V言語に乗り換えてしまうことも検討する必要があるかもしれません。
ということで、V言語の公式サイトの言うことをいったん信じて、Rustと比較して特徴を整理してみました。
▼V言語 公式サイト
https://vlang.io
▼V言語 公式サイトにおける他言語との比較説明
https://vlang.io/compare
実際に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企業
これまで、WEBのデータベースアプリをRustで開発する方法を色々調べてきたのですが、これがV言語の方がメリットが大きいとなると、無視することはできません。
V言語に乗り換えてしまうことも検討する必要があるかもしれません。
ということで、V言語の公式サイトの言うことをいったん信じて、Rustと比較して特徴を整理してみました。
▼V言語 公式サイト
https://vlang.io
▼V言語 公式サイトにおける他言語との比較説明
https://vlang.io/compare
実際にV言語はまだ使ったことないですが、上記を元にすると以下のようになるのではないかと。
V | Rust | 備考 | |
実行ファイルの性能 | 〇 | 〇 | 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自体簡潔なので、その方針で困ることはないかと思います。 |
商用無償で利用可能 | 〇 | 〇 |
(メーカサポートは言語選択での最重要事項ではありますが)
ただ、V言語自体バージョンが1.0になるまでは、破壊的変更が多く行われるような雰囲気です。
(今は0.1.24で、次は0.2だそうです)
私はWEB上でDBを使ったアプリをプログラムレスで開発できるアプリを、個人で細々...と作っています。
サーバ側をRustで開発していますが、なんだかいずれV言語にしないといけない日が来たりするのでは...と思います。
(酒)
シンプル入退室管理
限りなくシンプルなタイムカードシステム
WhitePlug
手のひらサイズのLinuxサーバ
monipet
動物病院の犬猫の見守りをサポート
病院を離れる夜間でも安心
Smart mat
重さセンサIoTで在庫管理に革新を。
自動発注&メールアラートで欠品・発注ミスを防ぎます
RealStocker
リアルタイムに在庫を見える化!
スピーディかつ正確な入出庫管理を実現します
株式会社ジェイエスピー
横浜に拠点を置くソフトウェア開発・システム開発・
製品開発(moniシリーズ)、それに農業も手がけるIT企業
0 コメント:
コメントを投稿