kiyoka.2006_10_13 RSSPLAIN

Related pages: !kiyoka.blog.list !kiyoka.blog.2006_10
555555555555555555
5

[プログラミング] Rubyの生産性の高さはどこまで本当か? 

5

私も何度も生産性の議論を書いていますが、生産性の議論は本当に難しいと思います。

5

このエントリーEXTでも、やっぱり純粋に自由度と生産性と気持ちよさを考えると最後には、S式macroとMOPEXT最強論に吸いこまれていますね。

5

やっぱりJavaの発明者から言語界のブラックホールEXTといわれるだけあるLispです。

5

もし、括弧に対するアレルギーが無いのだったら、Lisp系言語は最高ですよ。

5

例えば、GaucheEXTを使えば、メタプログラミングは当然できますし、ブロック構文とソックリのイディオムを提供する関数も標準で沢山あります。

5

(with-input-from-file 'filename' ...)など。

5

細かい話は置いておくとして、もしLisp系言語のパワーそのままで、ソースコードの外観もPythonやRuby程度の普通っぽさを持っていたら、もうちょっと普及の方向に動くと思います。

5

誰か作りませんか?GaucheベースのRubyスキンとか。

5

Schemeハッカーは言語の拡張にいそしんで、普通のハッカーは、PythonとかRuby構文でプログラミングを行うという分業体制ができます。

5

これが将来ほとんどの言語が辿り着く姿なんじゃないかと予言します。外れると思いますが。

5

 

5

 

5

COMMENTshiro

それなんてDylan? ってことになりそうな気も…

5

COMMENTじょりちょこ

僕もMOP最強と思いますし、Dylanにも大いに期待していたのですが

....

個人的には、LispやSchemeを使っていると「楽しすぎる」感じがします。「あ、こう書いた方がもっとエレガントだな...」と盛り上がってしまって、いつまでもコードをいじっていたくなるというか...

Rubyを使っているときには、エレガントさにはあまりこだわりません。そこがOOPのいいところというか、デザインパターンのようなセオリーがプログラマーたちの共通の語彙になっているので、他人が読んで十分読みやすそうなレベルで「リファクタリング欲」が満足するのです。

Lisp系の場合、強力なマクロがあるせいもあって、パターンの繰り返しをどこまで減らせるかに夢中になってしまうのです。(僕だけですかね...)

5

COMMENTcut-sea

>「あ、こう書いた方がもっとエレガントだな...」と盛り上がってしまって、いつまでもコードをいじっていたくなるというか...

同感です。

全てが再帰的にS式なので、リファクタリングの限界が無いと思ってます。

どこにでも埋め込めるし、どこでも切り出せちゃうし。

5

COMMENTkiyoka

コメントありがとうございます。

昔Dylanの記事をbitで読んだことがあります。

普及するのが楽しみで待っていたんですが、ついに普及することなく今日をむかえています。

最近は Open Dylanなんかがあるみたいですね。

でも、やっぱり普及するものを作ろうと思ったらPythonやRubyと互換性にあるスキンにすることに意味があると思います。

> 全てが再帰的にS式なので、リファクタリングの限界が無いと思ってます。

> どこにでも埋め込めるし、どこでも切り出せちゃうし。

それは特に私も感じるところです。

ある程度コードが長くなるたびに、どの部分でも関数やマクロにしてまとめながら(いわゆるリファクタリングしながら)どんどん具現化していけるのが気持ちいいです。

Schemeは自由度が高いから、どこまでもリファクタリングできて、綺麗に書けたと思ってもまだまだ綺麗に書く方法が見つかるという感じですね。

5

...comment disabled...