同じコンソール アプリケーションを複数の言語で作成しました。アプリケーションはユーザーに数値を尋ね、1 からその数値までカウントし、各数値をコンソールの別の行に出力します。私は実際に vb.net がプログラミング言語の中で最悪になると予想していましたが、実際にはそうではなかったということに興味があります。実際には最速です。
VB.Net - VS デバッガーを実行します。
Sub Main()
Console.Write("Give me a number, any number: ")
For i = 1 To CInt(Console.ReadLine)
Console.WriteLine(i)
Next
Console.ReadLine()
End Sub
C++ - VS デバッガーを実行します (VB より約 5 倍遅い):
#include <iostream>
using namespace std;
int main() {
cout << "Give me a number, any number: ";
int number; cin >> number;
cout << '\n';
for (int i = 1; i <= number; i++) cout << i << '\n';
while (true) {}
}
Haskell - コンパイルしてコンソールから実行 (VB よりわずかに遅いだけ):
import System.IO
import Control.Monad
main = do
putStr "Give me a number, any number: "
hFlush stdout
input <- getLine
mapM print [1..read input]
return 0
Javascript - firefox で firebug を実行します (VB よりかなり遅い):
for (i = 0; i<100000; i++){ console.log(i); }
Befunge - chrome/javascript を使用してこのWeb サイトを実行します (firefox よりも高速ですが、vb よりも低速です)。
&1-0>1+:.134*+,\:#v_@
^ \-1<
簡単に言えば、vb ソリューションが他の言語よりも高速である理由は何でしょうか?