
No.2
- 回答日時:
> どうしてそういう都合の良いことは出来ないのですか?
ランタイムライブラリがないと動作しない設計 (仕様) だからです。
ランタイムライブラリや各種コンポーネントはソフトウェア開発者の利便性 (高生産性、ソフトウェア部品の再利用性) のために提供されているものです。
つまり、利便性と実行ファイルのパフォーマンス (処理速度、ファイルサイズのコンパクトさ) はトレードオフ関係にあります。
無論、VC++でも各種コンポーネント (MFC等?) を使うことは可能です。
というより、生産性を考えると、コンポーネントを一切使用しないでソフトウェアを作るのは現実的ではないでしょう。
こうしたコンポーネントを使用すると、VC++ / VB の速度差は少なくなるものと思われます。
例えば、ADOを介してSQL Serverに接続し、データベースを操作する、といったアプリケーションでは、処理の大半はミドルウェアとDBが実行することになるため、フロントエンドのアプリケーションがVC++ / VB (またはDelphi) のいずれであっても性能に大差はないでしょう。
もう一点、VBのパフォーマンス上のボトルネックで無視できないのは文字列の処理です。
VBの文字列連結演算子は内部的にはメモリ領域を動的に確保する動作となるため、多用すると必然的に処理速度が遅くなります。
(他の文字列処理についても同様?)
これを回避するには、文字列連結演算子を極力使用しない、Byte型の配列を使用する、といった工夫が必要になります。
しかし、コーディングの容易さ、可読性という観点からみると、RADツールを使用する利点が失われる、とも言えます。
※ 現実の社会ではソフトウェアの処理速度が遅い原因の90%以上は、プログラミングツールではなく、能力の開発者の能力にあります。
(VBの性能を云々する人ほど効率、品質の悪いコードを書く傾向が強い)
以上、どシロウトの意見でした。
(専門家のフォローを希望します)
この回答へのお礼
お礼日時:2004/03/27 08:17
回答ありがとうございます。
そうですね。速度差もあえて上げればというくらいで、そう大差ないのですね。
そうすると、VC++のメリットってなんなのでしょうか?
趣味でプログラムしている人のレベルでは、
単に、俺ってちょっと難しい言語でプログラムしてんだぜ。とか、プロが使うソフトを使ってるんだぜ。と自慢できるくらいでメリットは無いということなの?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
DLLファイルの逆コンパイラにつ...
-
C++でデスクトップGUIアプリ開...
-
組み込みソフト。ROM領域にデータ
-
printfなど、標準関数のソース...
-
for文内での変数定義
-
【C言語】 型のサイズについて
-
<conio.h>?
-
volatile修飾子について
-
24bit サイズの変数
-
ソフトの開発言語を調べる方法
-
COBOLのALPHABET...
-
unsigned long long 型のフォー...
-
POWERCOBOLのSQL...
-
中国語(簡体字)をソースコード...
-
COBOL計算式の中間ワーク桁数に...
-
プログラミングの字句解析につ...
-
パーサとコンパイラの違いって?
-
DLLの呼び出され方が分かりません
-
#pragmaとは
-
家庭用家電などのマイコンのOS...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
DLLファイルの逆コンパイラにつ...
-
ソフトの開発言語を調べる方法
-
unsigned long long 型のフォー...
-
printfなど、標準関数のソース...
-
C++でデスクトップGUIアプリ開...
-
組み込みソフト。ROM領域にデータ
-
COBOLのALPHABET...
-
リリースモードとデバッグモー...
-
COBOLの論理演算子について質問...
-
C++Builder → Visual C++ 移植...
-
<conio.h>?
-
パーサとコンパイラの違いって?
-
変数の内容がコロコロ変わる、...
-
HP-UXのプログラムをSolaris、R...
-
C++DLLの明示的リンクに関して
-
for文内での変数定義
-
AIXとCOBOLについて
-
COBOL計算式の中間ワーク桁数に...
-
C言語の規格
-
volatile修飾子について
おすすめ情報