作者: 機械伯爵
日時: 2007/9/28(13:53)
 機械です。

 時々思うのですが、なぜか私は、PerlとRubyとCommon Lispとは縁が無いです。

 縁が無いというのは、勉強する意欲も必要も結構ある筈なのに、なぜか勉強が
続かないし、すぐ機会も消えてしまう……

 もしかすると、良い入門書に出会えなかったからかもしれないのだけど……

> そもそも最初から「その
> 本だけ」で「まったくプログラミングそのものが初めての人」を「相手にしき
> る」気はないのです。

 『全くプログラミングそのものが初めての人』です。

 たとえばなんらかの言語を経験してるなら、Pythonコードなんかすぐ書けます
し。

>   相手にしきる気があるのであれば変数とはなんぞやオブジェクトとはなんぞ
> やという話が出てこなけりゃウソだと思います

 正規表現は論外として、オブジェクトの説明もかなり後でいいかな、と思います。

 言語によって、オブジェクトの機能って、かなり違いますし。

※SmalltalkとC++とか出さずとも、JavaのオブジェクトとPythonのオブジェクトでは、
 別物かと思うほど違いますよね。

>   あー自分はたかだか1行でできることでインパクトを追求してもしょうがない
> と思ってますね。自分にとってはそういうのは「覚えるだけ」なんですよ。記
> 法や関数を覚えればできる。そうじゃなくて、「組み合わせて」再現できるも
> のの方が嬉しいんです。

 組み合わせは私も大好きですが、それが「できる」ようになったのは随分
後です。

 数学でしか「式」や「関数」を扱ったことが無い人が、それをぶん回して
遊べるようになるには、でかいハードルがあるような気がします。

※わかる人は一発でわかるでしょうが。

> # まったく異なる要素を組み合わせることの方に重きを置いて
> # います。

 ましてや、未体験の「プログラミング言語の構文」を組み合わせろったって、
とまどうだけだと思います。

 その点、BASICやCの教科書(たしかPascalやFORTRANも)でよく見かける、
語句解析のための二重ループは、大体出題するタイミングが早すぎると思います。

>   ただ上に書いた通り、これはその本だけですべてを面倒見る気がないから言
> えることでもあって、全部面倒見る気があるなら逆にインパクトの追求はしな
> いと思います。

 ただ、インパクトが全然無いと、やはり面白くない(苦笑)のは事実なんで
すが、私の少ない経験から言えば、プログラミング未経験者って、結構ささいな事
でも喜ぶみたいですよ。

<中断>
>   ただ、途中でいやになってもオーケーという前提があります。自分は Perl
> も Ruby も途中で放り出してます。何かの拍子に帰ってきて、「あぁ!なるほ
> ど!」と思います。

 私はPerlもRubyも、未だ再開してません(大汗)

 そろそろやってもいいとは思うんですが、Pythonで妙に怠け癖がついたので、
「え〜、コレってコレで書けないの?」とかの引っ掛かりがかえって多くなって、
再開が非常に困難です(苦笑)

※ファーストクラスオブジェクトに慣れすぎて、Schemeはわかりやすいのに、
 Common Lispはやりにくい……とか……

>   るびまに登場するような有名人はみんな Ruby の習得には苦労がなかったと
> 言ってますけど、ぼかぁ苦労しましたねぇ…。

 Perlが最初から書ける人にはRubyは楽勝、と、よく聞きます。
 でも、RubyとPythonの行き来って、あまり聞きませんね。
 もしかしたら、根本的にセンスが違う集団なのかも(汗)

 そういえばRubyによるプログラミングの入門書で本当にプログラムが書ける
ようになった人、いるのかな?……ってのは失礼か(笑)いるにきまってる
けど、入りやすかったのかなぁ?

 /機械伯爵/