河野真治 @ 琉球大学情報工学です。

やっぱり最初から実用的な言語に触って欲しいと思います。マイ
ナーな言語から教えるのは、ちょっとなぁ。初心者ということだ
と、

 インタプリタとデバッガは譲れない

と思う。ってことは、eval loop を書ける言語ってことですね。C
でも書けるって? ふーん。

なので、実は、Perl からが良いんじゃないかと思ってます。自分
で授業を持っていたときは、Perl からでした。

 perl -de 0

として、debugger を立ち上げさせて、そこから色々やってもらう。
 $a=1+2
 p $a
とか。

メジャーだけど、嫌なのはVBか。OS X でも動くはずだが。

scheme ってのも良いんだけど、マイナーなのがちょっとなぁ。ど
れくらい使ってもらえるんだろうか? Perl は一生の財産になる(
借金か?)になるだろうし。Emacs lisp の方がまし? 

そういえば和田先生がPostScript とか言ってたな。和田先生もInterpreter
が好きらしい。 http://tinyurl.com/2xkb8v 


Java はコンパイラだし、教えるものが、ちょっと多い。Iterator
とか Comparator とか入っちゃたからなぁ。Eclipse みたいなIDE
を使うと、ちょっと良いが... オブジェクト指向プログラミング
を教えるためには、プログラムの経験が必要だっていう矛盾があ
るからなぁ。Java で入門すると、どうしても非オブジェクト的な
プログラムから入ることになるし。

オブジェクト指向だったら、Squeak から教えるという技はあると
思うんだけどね。最初の環境がはではですぎる。もっともminimum
なのないの? 

C でも、glib 使えば良いってな話を読んだけど、基本的なデータ
構造を言語の外に出してしまうのは、構文的に勿体無いね。もっ
とも、malloc() を使いこなせない学生を見ていると、「mallocを
知らなくてもプログラムできる方がいいのか」と思わなくもない
です。C とアセンブラを教えないっていう選択肢は情報工学科で
はないと思うんだけど、どうなんでしょうね? と言いながら、う
ちではアセンブラの正規の科目がないんだよな。

JavaScript という選択もありなんだけど、JavaScript のPureなengine
って、あまり意味がないしな。かと言ってBrowserをいちいちあげ
てってのも、デバッグが辛いし。Java Script Interpreter 付き
のBrowser とかを作ればいいのか? 

ML 系はeval loop がある(top levelがある)言語なので、初心者
向きだと言えなくもないです。型が表示されるので、型の理解の
手助けにもなるね。ただ、リストの表現が独特なのはなんで? 馴
れだとは思うが。それに、やっぱりマイナーだと思う。

この前、AppleScript を学生に見せたら、はまっていましたが、
あの地獄の遅さと、わけわからない構文がネックだな。properity
とか properties とか英語嫌いな人にはつらいだろうし。デバッ
ガもないしね。大きなものを書く気にならない言語の一つ。

Flex とかはどうなんだろう? Flash は、学生には受けるかもね。

---
Shinji KONO @ Information Engineering, University of the Ryukyus
河野真治 @ 琉球大学工学部情報工学科