2007-01-03
■[その他]Lispが何故使われないか

原因のほとんどは経路依存性*1とかネットワーク効果*2によるもので、Lisp自体の性質とは無関係だと思います。と言った上で、私が何となくLisp系言語を使わない理由としては、
- Too dynamic: 実行時にコードが差し替えられることがすごい利点だ、と言っている人がいましたが、逆に言えば今どのコードが走っているか理解しにくい、という欠点にも繋がる。
- Meta programming:S式のおかげでMeta Programmingがしやすいが、Meta Programmingを多用したプログラムは理解しにくい。
- 動的型付け:利点でもあるけど、特有のバグを引き起こす。
- 識別子に関数と値の2種類が別々にバインドできる。これは私には非常に美しくなく感じます。主観ですが。一方でSchemeは言語仕様が弱い。(特にModule機能が標準でない)
- Proprietaryな実装が中心。CMU LispはStandaloneなネイティブコードを生成してくれない(?)
- 上記の利点の大半はRubyやErlangで実現されているし、これらはOOやマルチスレッドというEncapsulationに都合のいい機能を言語自体の機能として盛り込んでいる。
- (Lisp一般とは違うけど)EmacsLispの印象が悪い。スタックのサイズがデフォルトではかなり制限されていたり、設定を単に変数の値を(動的に)変化させて行うあたり。
まとめると、利点が欠点でもあること、自由度がありすぎることあたりが気に入らない点かな。間違いなどありましたらご指摘ください。
追記:Shiroさんのno titleも参考にしてください。
コメントを書く
トラックバック - http://d.hatena.ne.jp/yoriyuki/20070103/p1
リンク元
- 2121 http://practical-scheme.net/wiliki/wiliki.cgi?Lisp:よくある正解
- 528 http://www.shiro.dreamhost.com/scheme/wiliki/wiliki.cgi?Lisp:よくある正解
- 237 http://www.shiro.dreamhost.com/scheme/wiliki/wiliki2.cgi?Lisp:よくある正解
- 156 http://d.hatena.ne.jp/babie/20070118/1169119443
- 122 http://reader.livedoor.com/reader/
- 77 http://b.hatena.ne.jp/hotentry
- 70 http://d.hatena.ne.jp/
- 68 http://practical-scheme.net/wiliki/wiliki.cgi?Lisp:よくある誤解
- 59 http://practical-scheme.net/wiliki/wiliki2.cgi?Lisp:よくある正解
- 46 http://b.hatena.ne.jp/entrylist?sort=hot
