とりとめのないことを書いております。
by tempurature
カテゴリ
全体
プログラミング
scheme
verilog
未分類
以前の記事
2016年 04月
2016年 03月
2016年 02月
2016年 01月
2015年 12月
2015年 11月
2015年 10月
2015年 09月
2015年 08月
2015年 07月
2015年 06月
2015年 03月
お気に入りブログ
PHPで競技プログラミング
メモ帳
最新のトラックバック
ライフログ
検索
タグ
その他のジャンル
ブログパーツ
最新の記事
情報処理技術者試験 お疲れ様..
at 2016-04-17 18:55
基本情報技術者試験 平成27..
at 2016-04-14 04:48
基本情報技術者試験 平成27..
at 2016-04-13 23:03
苦い薬(ハーブ、サプリメント..
at 2016-04-09 14:03
「おバカ度チェックリスト」を..
at 2016-03-24 09:54
外部リンク
ファン
記事ランキング
ブログジャンル
画像一覧
プログラミング言語の相関図(?)
lispはJoel本に感化されて始めました。とはいえ、Common Lispではなく、Schemeとracketですけど。On Lisp読みたいけど、実際にCommon Lispを触っている人でも結構敬遠しているみたいですね。

私の頭のなかでは、プログラミング言語はアセンブラ・Ada・Lispを頂点とする三角形の中に収まっていると考えています。

c0364169_22490450.png
なんとなく書いてみた相関図です。Lispは、コンピュータの歴史の中では最も古い言語の1つと言われており、ある意味コード効率が最高です。つまり、アセンブラとLispの間にはコード効率という軸があると考えます。また、プログラミング言語には、信頼性という軸もあるらしく、それがアセンブラ・Adaの辺を成していると考えました。

上図から、コード効率を求めるならば動的型付けを、信頼性を求めるならば静的型付けを選択すべきであることがわかります。

Adaと他の言語群との間に大きな空白がありますが、ここには細々としたマイナー言語が入ると思われます。Adaがまだそれほどクローズアップされていないので、その近辺の言語にもスポットライトが当たっていないということだと思います。

さて、私たちはどの言語を選択すべきなのでしょうか?適材適所というのが現実的な解ですが、プログラミング言語を習得する上で、マルチパラダイムは敬遠したほうがいいように思います。マルチパラダイムといえばJavaやPythonが思いつきますが、とってつけたようなオブジェクト指向や関数型指向の機能にはとんでもない深遠な意味が含まれているので危険なのです。むしろ、その考え方の源流となった言語を習得すべきでしょう。私の中でおすすめなのが、アセンブラ・Bシェル・scheme・haskell・Eiffelです。F#・D・Adaはマルチパラダイムなので非常に危険です。

C、Java、Pythonを習得すべきでないというのではなく、これらの言語はコーディングするときに使う言語なのです。

[PR]
by tempurature | 2015-11-29 23:44 | プログラミング
<< lispに疲れたのでhaske... 男女比1:1の「正直女子さんぽ... >>