アプリ版:「スタンプのみでお礼する」機能のリリースについて

ふと疑問に思ったので質問します。

あくまでも一般論ですが、VBはVC+より簡単だけどデメリットは処理速度が遅いことだそうです。

でもどちらも最終的には機械語?に訳されるんでしょ?

じゃあ人間にとって作りやすいVBで作っても、最終的にはコンパイラがVC++と同じ機械語にしてくれたら良いと思うのですが。

どうしてそういう都合の良いことは出来ないのですか?

A 回答 (12件中11~12件)

> どうしてそういう都合の良いことは出来ないのですか?


ランタイムライブラリがないと動作しない設計 (仕様) だからです。
ランタイムライブラリや各種コンポーネントはソフトウェア開発者の利便性 (高生産性、ソフトウェア部品の再利用性) のために提供されているものです。
つまり、利便性と実行ファイルのパフォーマンス (処理速度、ファイルサイズのコンパクトさ) はトレードオフ関係にあります。

無論、VC++でも各種コンポーネント (MFC等?) を使うことは可能です。
というより、生産性を考えると、コンポーネントを一切使用しないでソフトウェアを作るのは現実的ではないでしょう。
こうしたコンポーネントを使用すると、VC++ / VB の速度差は少なくなるものと思われます。
例えば、ADOを介してSQL Serverに接続し、データベースを操作する、といったアプリケーションでは、処理の大半はミドルウェアとDBが実行することになるため、フロントエンドのアプリケーションがVC++ / VB (またはDelphi) のいずれであっても性能に大差はないでしょう。

もう一点、VBのパフォーマンス上のボトルネックで無視できないのは文字列の処理です。
VBの文字列連結演算子は内部的にはメモリ領域を動的に確保する動作となるため、多用すると必然的に処理速度が遅くなります。
(他の文字列処理についても同様?)
これを回避するには、文字列連結演算子を極力使用しない、Byte型の配列を使用する、といった工夫が必要になります。
しかし、コーディングの容易さ、可読性という観点からみると、RADツールを使用する利点が失われる、とも言えます。

※ 現実の社会ではソフトウェアの処理速度が遅い原因の90%以上は、プログラミングツールではなく、能力の開発者の能力にあります。
(VBの性能を云々する人ほど効率、品質の悪いコードを書く傾向が強い)

以上、どシロウトの意見でした。
(専門家のフォローを希望します)
    • good
    • 0
この回答へのお礼

回答ありがとうございます。

そうですね。速度差もあえて上げればというくらいで、そう大差ないのですね。

そうすると、VC++のメリットってなんなのでしょうか?

趣味でプログラムしている人のレベルでは、
単に、俺ってちょっと難しい言語でプログラムしてんだぜ。とか、プロが使うソフトを使ってるんだぜ。と自慢できるくらいでメリットは無いということなの?

お礼日時:2004/03/27 08:17

VBにもネイティブコードとPコードってのがあって、


ネイティブコードだったら、VCと遜色ないくらい
早いですよ。
当然、マシン語ですけども。

また、VCのメリットは、1つのプログラムで2つの処理を同時にできることです。
VBはできません。
    • good
    • 0
この回答へのお礼

回答ありがとうございます。

Pコード、ネイティブコードってなんですか?

お礼日時:2004/03/27 08:11

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!