995000_46458615

世の中にはいろいろなプログラミング言語が存在していますが、Web系の開発を行っている方ならPHPやPerlなどのスクリプト系の言語もしくはJavaなどのコンパイラ系の言語を使用しているでしょう。どの言語を使用するかは開発者の好みや技量で決まる場合が多いですが、一般的にはコンパイラ系の言語の方が速度が早いとされています。これに対し、スクリプト系の言語は多少処理速度は遅いですが、取り扱いが楽で簡易言語などとも言われ、開発効率が良い点などが上げられます。

これら一般的に使用しているプログラミング言語が実際にどれだけ速度的に差があるのかをグラフで表したものがありましたので下記に紹介します。

プログラムの実行速度とプログラムの記述簡潔さで表したグラフを公開しているのはこちら。

Shapes: Source Code Size and Run Time(英語)

091006-sampleグラフは右の図のようなもので表されていて縦軸が実行速度で、横軸がプログラムの簡潔(要領よくまとまっていること)さとなっています。その為、グラフの左下に集中していればいるほど理想的なプログラムで、反対に右上にあればあるほど非理想的な言語となります。ちなみに、横軸の簡潔さはどのような基準で簡潔なのか冗長(文章や話などがくどくて長ったらしいこと)なのかを判断しているかは不明です。

まずはC言語、C++、Javaのコンパイラ系の言語を見てみましょう。

C言語

C言語

 
C++

C++

 
Java

Java

こうやってみてみるとこれら言語は処理速度は案の定速いのですが、プログラムを書く手間は結構掛かることがわかると思います。

これに対し、スクリプト言語のPHP、Perl、Rubyを見てみると

PHP

PHP

 
Perl

Perl

 
Ruby

Ruby

見ての通り、プログラムの簡潔さはいいのですが、処理速度は遅い方となっています。PHPに関してはグラフが他の言語と比較して若干ばらついているように見えます。それだけ不安定な言語なのかもしれません。

OCaml

OCaml

では速度も簡潔さも優秀な言語を探してみるとグラフ全体が左下に集中しているOCamlという言語がもっとも優秀といっていいんじゃないかと思います。この言語はどんな言語なのかというと・・・全然知りません(^^ゞ。

Wikipediaで調べてみると

Objective Caml(オブジェクティブ・キャムル)は、フランスのINRIAが開発した関数型プログラミング言語MLの方言とその実装である。通常 OCaml(オキャムル) と略称される。強力な型推論を最大の特徴とする。

とのこと。興味のある方は挑戦してみてはいかがでしょう(^^)

via : プログラミング言語の特徴を、実行速度と簡潔さで見る - Publickey

プログラミング作法

価格¥299

順位20,834位

カーニハン,ブライアン, パイク,ロブ

原著Kernighan,Brian, Pike,Rob

翻訳俊博, 福崎

発行アスキー

発売日2000/11/01

Amazonを開く

Supported by amazon Product Advertising API