カテゴリ
全体プログラミング 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で競技プログラミングメモ帳
最新のトラックバック
ライフログ
検索
タグ
racket
その他のジャンル
ブログパーツ
最新の記事
外部リンク
ファン
記事ランキング
ブログジャンル
画像一覧
|
CやJavaでプログラミングをしていると、なんで同じようなコードを何度も何度も書かなければならないのかと考えこむことがある。または、プリプロセッサ仕事しろとか、云々。
現代的な意味において、Lispとはそれに対する合理的な解の1つであるように思う。つまり、ソースコードの中で文法を記述できるとするならば、どのくらい効率的かということだ。 今の私の感覚で言うと、こんな感じ。 ・コード効率はCの2倍(とはいえライブラリが貧弱なのでむしろ効率悪い) ・単純なくせに難易度が高い ・可読性はよくない ・実行効率もLL言語より悪い 大体、つい最近まではLL言語はプログラミングができない人がやるものだと思われていたが、LL言語というのはLispとCが下地にあって、両方のいいとこどりをしている。だからLisp言語でいいところといったらマクロくらいしか思い浮かばないのだ。 とはいえ、schemeはやっておくと他の言語で書いた時もソースコードがキレイになるというのは本当だと思う。Lispというのはある意味Cよりも危うい言語で、その中でソースコードが書けると他の言語でも難なく書けるというボディビルディングのような側面がある。また、ライブラリを考慮しなければコード効率は最強なので、他の言語のソースコードも、最適な記述方法なのかヘボいコードなのかを一発で見ぬくことができるようになる。 あと、言語の難易度はracket < scheme < Common Lispだと思っていたが、むしろCommon Lisp < scheme < racketではないかと思っている。 racketは環境が一番充実していて素晴らしいのだが、まず日本語のドキュメントが皆無、英語のマニュアルもどことなく計算機科学者向けのまどろっこしい説明になっていて困る。racketはschemeとCommon Lispのいいとこどりの言語らしいのだが、どこかschemeとCommon Lispを両方理解しているものとしてマニュアルを書いているような感がある。よって一番難解。 schemeは、定本がなくて困る。SICPは読むのを断念した。 Common Lispは、ポール・グレアムのANSI Common Lispが一番安心できる定本であるように思う。Common Lispの難易度はC++と同じくらいなのではないかと思う。 [同日 追記] schemeについては、「プログラミングGauche」という本が一番よさげなので、読んでみて、よければ記事を書き直したいと思います。
by tempurature
| 2015-10-12 19:09
| プログラミング
| ||||||||||||||||||||||
ファン申請 |
||