初心者向けプログラミング言語
河野真治 @ 琉球大学情報工学です。
やっぱり最初から実用的な言語に触って欲しいと思います。マイ
ナーな言語から教えるのは、ちょっとなぁ。初心者ということだ
と、
インタプリタとデバッガは譲れない
と思う。ってことは、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
河野真治 @ 琉球大学工学部情報工学科
Fnews-brouse 1.9(20180406) -- by Mizuno, MWE <mwe@ccsf.jp>
GnuPG Key ID = ECC8A735
GnuPG Key fingerprint = 9BE6 B9E9 55A5 A499 CD51 946E 9BDC 7870 ECC8 A735