プログラミング言語




世の中には数千種類のプログラミング言語がありますが、その多くは何らかのプログラミング言語から影響を受けてできており、また、自身も他のプログラミング言語に影響を与えていたりします。その関係を1つのマップ上に落とし込んだ相関図が「Programming Languages Influence Network」です。



















http://exploringdata.github.com/vis/programming-languages-influence-network/




Programming Languages Influence Network | Exploring Data
http://exploringdata.github.com/vis/programming-languages-influence-network/





まるで星のように見えている点がそれぞれ1つのプログラミング言語を表しています。たとえば「Lisp」にマウスオーバーすると、このように関連する言語までのラインが表示されます。このうち、オレンジ色は「影響を受けた言語」、青色は「影響を与えた言語」を示しています。Lispの場合はPythonやSmalltalkなどに影響を与えています。


マウスオーバー状態でクリックすると、その言語の詳細が表示されます。影響を与えた言語も確認できます。


BASICの場合


こちらはFortran、1954年に考案された初めての高級言語(高水準言語)です。源流を辿っていくと……


アセンブリ言語に辿り着きました。こちらは低級言語(低水準言語)で、高級と低級の違いは人間にとってわかりやすくできている(高級)か、コンピュータにとってわかりやすくできている(低級)か、といった感じ。


C言語ALGOLなどから影響を受けており、C++C#など数多くの言語に影響を与えています。ちなみに、ラインの色からするとJavaの影響を受けていることになっていますが、C言語は1972年登場、Javaは1990年代登場です。


この言語マップはホイールなどを使うことでズーム可能。


ズームすると、それまでは見えなかった小さな星(言語)まで見つけることができます。


中にはこのように、他言語とは独立して浮かんでいるものも。


言語が多すぎてわかりにくい場合、メニューの「Language Paradigm」から言語を絞ることができます。たとえばオブジェクト指向のプログラミング言語のみを選ぶと……


このような感じ。



http://gigazine.net/news/20120928-programming-languages-influence-network/









史上最初のプログラミング言語である1954年に考案された「Fortran」(フォートラン)から、今の各種最新言語に至るまで、いろいろなプログラミング言語が発展していく様子をまとめた巨大な系図を見ることができます。ちゃんと印刷できるようにPDFファイルなども置いてあります。自分の使っている言語がない場合には連絡して欲しいとのことです。

閲覧は以下から。



Computer Languages History (preview)

元のページはココ。A4用紙11枚に及ぶ印刷用PDFファイルなどをダウンロードできます。

Computer Languages History

こうやって眺めてみると、いろいろな言語がお互いに少しずつ影響を与えているのがよくわかります。さすがにあまりにもマイナーな言語はサポートしていないようですが、作者に連絡すれば入れてもらえるかも。

一応全言語の一覧は以下から検索できます。

The Language List

ほかにも、バベルの塔になぞらえたものもあります。

The Encyclopedia of Computer Languages
http://hopl.murdoch.edu.au/


縦バージョンの樹形図もあります。

diagram & history of programming languages


また、同じシリーズでUNIXとWindowsの系図もあります。どちらもすごい。