メッセージ。 - Scheme:初心者の質問箱
# Scheme:初心者の質問箱
http://www.shiro.dreamhost.com/scheme/wiliki/wiliki.cgi?Scheme%3a%bd%e9%bf%b4%bc%d4%a4%ce%bc%c1%cc%e4%c8%a2
わーい。こういうのが欲しかったんだ。MLとかWiLiKiは敷居が高くって質問できなかったから。まぁ、「初心者」として質問するには、ぼくはもう、ずいぶんトウが立ってしまっているけど。
ぼく自身に関していえば、Gaucheを勉強しはじめて、プログラミングパラダイムの違いをすごく感じた。まずは、どうやって勉強していいか分からなかった。Cやjavaのように入門書があるわけじゃないし。一般の言語を覚えるときのように、「変数があって、制御構文はこうで、関数はこうやって定義して……」とするだけでは、「プログラムが組める」ようになる感じがしなかった。
いま思えば、Schemeに対して感じた最初の壁は、「関数型言語」の壁だったのかもしれない。Schemeは、C言語やPerlとは入出力に対するイメージが大きく異なる。Schemeでは、何を入力に受け取って何を出力として吐き出すのか、そして本丸である「その過程でデータがどう加工されるのか、どういうコアライブラリがあるのか」がさっぱりイメージできなかった。
言語の本質は、たぶんシンタックスとセマンティクスなのだろう。そして、その一枚外側に関数やメソッドといったライブラリがあるのだと思う。システムとの入出力は、さらに外側にあって、本質から外れた枝葉末節だと見なす人もいる。だけど、人間はその枝葉末節にかこまれて生活している。だから、具体的な枝葉末節を手がかりに勉強するのが分かりやすい。たとえば、Perlのワンライナーのような単機能を実現すべく言語機能を動かしてみるとか。
ということで、ぼくが最初に手を付けたのは、catやgrepといった手近なツールを自作してみることだった。Emacs上でinfoコマンドを叩き、「たとえばgrepはこうすれば実装できる」みたいなサンプルコードをコピペして実行したんだ。そこからスタートして、七転八倒しながらなんとかここまでやってきた。「こうやって勉強すればいいんだよ」みたいな情報が、あってもいいんじゃないかなと思うのだ。
Scheme:初心者の質問箱
わーい。こういうのが欲しかったんだ。MLとかWiLiKiは敷居が高くって質問できなかったから。まぁ、「初心者」として質問するには、ぼくはもう、ずいぶんトウが立ってしまっているけど。
ぼく自身に関していえば、Gaucheを勉強しはじめて、プログラミングパラダイムの違いをすごく感じた。まずは、どうやって勉強していいか分からなかった。Cやjavaのように入門書があるわけじゃないし。一般の言語を覚えるときのように、「変数があって、制御構文はこうで、関数はこうやって定義して……」とするだけでは、「プログラムが組める」ようになる感じがしなかった。
いま思えば、Schemeに対して感じた最初の壁は、「関数型言語」の壁だったのかもしれない。Schemeは、C言語やPerlとは入出力に対するイメージが大きく異なる。Schemeでは、何を入力に受け取って何を出力として吐き出すのか、そして本丸である「その過程でデータがどう加工されるのか、どういうコアライブラリがあるのか」がさっぱりイメージできなかった。
言語の本質は、たぶんシンタックスとセマンティクスなのだろう。そして、その一枚外側に関数やメソッドといったライブラリがあるのだと思う。システムとの入出力は、さらに外側にあって、本質から外れた枝葉末節だと見なす人もいる。だけど、人間はその枝葉末節にかこまれて生活している。だから、具体的な枝葉末節を手がかりに勉強するのが分かりやすい。たとえば、Perlのワンライナーのような単機能を実現すべく言語機能を動かしてみるとか。
ということで、ぼくが最初に手を付けたのは、catやgrepといった手近なツールを自作してみることだった。Emacs上でinfoコマンドを叩き、「たとえばgrepはこうすれば実装できる」みたいなサンプルコードをコピペして実行したんだ。そこからスタートして、七転八倒しながらなんとかここまでやってきた。「こうやって勉強すればいいんだよ」みたいな情報が、あってもいいんじゃないかなと思うのだ。
Comment
Trackback