for Windows Xp Vista 7 10 Keyboard IE カーナビを... ダイアグスキャナー 徒歩メーター 燃費ティーチャー サンプリングメーター みるCAN CANメッセンジャー CANレコーダー CANレーベル VB6の長所と短所 なぜVB6を使うのか VB6のトラブル集1 VB6のトラブル集2 UWPのトラブル集1 C言語のコメント作法 C言語の常識ルール クルマ整備技術サイト |
||||||||||||||||||||
|
||||||||||||||||||||
なぜVB6を使うのか 諏訪通信ネットワークで公開しているソフトウェアは、基本的に Visual BASIC 6.0 SP6(以下、VB6) で コーディングしています。 1.VBについて VB6は、現行のVB.NET とは言語仕様も動作仕様も大きく異なります。 同じVBであっても別の言語と捉えた方がよいかもしれません。 C言語とC++の差とは比較にならないくらいの違いだと考えます。 VBAは、VB6と言語仕様が基本的に共通のため、VBAが使える人はVB6も違和感なく使えるはずです。 しかしVB.NET しか知らない人は、VBAを初めて使うときに苦労するように、 VB6で本格的なコーディングをしようとしたときに VB.NETのノウハウや.NET Frameworkが使えず、 「こんなことすらできないのか?」と、苦労するはずです。 ですので、VB6は時代遅れの言語として一般的に捉えられています。 2.VBの印象 「Visual BASIC」 という言葉を出すと、軽く見られたり、否定的な言動を受ける ことがよくあります。実際はVBを使用したことがない人がほとんどであり、他人から耳にした噂や イメージからネガティブに捉えている場合がよくあります。 しかし、火のない所に煙は立たないので、なぜVBが世間一般で否定的なのかを以下のように考えてみました。 これだけを見ると、確かにVBに良い印象は持てないかもしれません。
3.VBの環境 ここで、VBの最大の懸念点である処理速度について考えてみます。 VB6が展開されていた1999年頃と、15年経った2014年では、パソコンの性能が大きく進化しています。 当時のパソコンは、OSであるWindowsでInternet Explorerを起動するといった単純な動作だけでも、 パソコンの性能によって大きな差異が見られました。インターネットを閲覧するのにもCPUに高い負荷が掛かり、 メモリもHDDもグラフィックも性能が低かったため、人々はインターネットを快適に見るために高いパーツを買ってパワーアップさせていました。 今では、安いスマホですらインターネットがサクサクと見られるので、スマホ世代には想像すらできない原始的な世界だったのです。 ここで、1998年に一般的に使用されていた初代Pentium 200MHz と2014年に販売されている Core i5 4590を 例として比較してみます。クロック比較では単純に17.5倍へ進化しています。 ベンチマークソフトの値を比較すると 1コアあたりの処理能力は、141.75倍以上に達しています。 VB6は並列処理やスレッド処理に対応していませんので、基本的に使用できるコアは1つですが、 シングルコアと違いCPUを100%使うようなコードを書いても残りのコアが空いているため、 Windowsが重くなったりフリーズすることもありません。 4.VBの処理速度 当時はVCより処理速度が劣ると言われたVBですが、VB6はネイティブコンパイルのため処理速度は割と速く、 CPUの性能が現在よりも圧倒的に低かった時代でそれなりに動いていたのです。つまり、当時は遅かったかも しれないが、今使えば非常に処理速度の速い言語として使えるのです。 .NET Framework を使用した VB.NETでも、コーディングを適切に行えば処理速度はそれなりに高くできます。 並列処理やスレッディングによる処理の分散化によって、マルチタスクOSとマルチコアCPUの有益性を活用 した高速化もできます。 しかし、それらのソフトウェアを例えばPentium2が載ったWindowsXPのパソコンで動かすと非常にもっさり とした動きになり、パソコンが壊れてるのではないかと思うようなフリーズも多発します。 初回起動時はJITコンパイルが発生するため時間が掛かるのは当たり前ですが、実行時はネイティブコードが使用されてコンパイルデータはキャッシュとして残るのですが、 Core2やCoreiなどに最適化されていてメモリ消費量も多いためPentium2などの古い環境であると遅くなってしまうようです。 つまりVB.NETは、世間で言われるように処理速度は遅いのです。しかし現在の高性能なCPUが存在している おかげで、VCと比べて圧倒的に少ないコーディング量で複雑なGUIの処理がストレスなくできているのです。 5.他の言語との比較 VB6やVB.NETの利点は、少ないコーディング量で見栄えの良いGUIが使えて便利なところです。 VCの利点は、やはり処理能力です。Windowsプログラムで、VCより速く動く言語はありません。 しかし、簡単なボタンやラベル程度のGUIですら、コーディングするのはかなり面倒です。 6.VB6の良さ つまりVB6は、VB.NETの利点と、VCの利点の良いとこ取りな言語といえるのです。 VB6で使えない機能はWin32APIを直接呼べばいいのです。 どうしても高速な処理が必要であれば、その部分だけVCで書いてDLL化し、VB6からDLLを呼べばいいのです。 初代Pentiumで動く言語が、今のパソコンを使用して遅いはずがありません。当時にコーディング してはみたものの、もっさり動いて諦めたプログラムがあれば、試しに今のパソコンで動かしてみましょう。 サックサクに動いて感動するはずです。 (無限ループに近いバグコードであれば、処理能力は関係ありませんが・・・。) |
Copyright (C)1999-2024 SUWA TSUSHIN NETWORK. All Rights Reserved. |
ご利用条件 |