ごとけんです

In message "[ruby-list:25757] Re: 原先生の本"
    on 00/11/01, Yukihiro Matsumoto <matz / zetabits.com> writes:
>|初めて学ぶ言語として基本的にオブジェクト指向な言語は馴染みますでしょう
>|か? 
>
>ごとけんさんが経験があるので聞いてみてはどうでしょう?

おっと、なんか呼ばれてる ^^;;

えーっと、なんにせよifやwhileなどの制御構造に時間を割く必要
があるので、OOPLらしさをメリット込みで紹介するには半年では困
難と思います。けれどもRubyは、プログラミングをはじめて教える
という観点では、宣言やコンパイルといったおまじないがなく、文
法も単純に見える点で大変優れているというのが僕の結論です。

詳しくいえば僕が最初のコース(180分×15回)で必須だと考えてい
るのは以下の10項目です。

  実際に動かす
  データ(オブジェクト)と変数の関係、特に数学の変数との違い
  制御構造
  アルゴリズムと言う抽象概念の紹介
  トップダウンデザインの紹介
  データ抽象(クラス)の実例の紹介
  --
  楽しむ(プログラミングの可能性を予感する)
  文法と実行の区別をつける
  スタイルとデバッグの実例
  レファレンスマニュアルや言語仕様

後半のよっつは独立した話題としては難解になりがちなので、折に
触れ、たびたび取り上げるべきことでしょう。んで、上記の項目を
簡潔に例示出来ることが最初のコースで使う言語に要求されること
だと僕は考えています。そしてRubyがこの条件をクリアしているこ
とには同意していだたけると思います。Cはデータ抽象を例示する
のが難しいと思います。C++は最初に知るべきことが多すぎる気が
します。またJavaははじめての人にはめんどくさいと思う。VBは言
語としてはそんなに悪くないとは思うけど操作の説明が厄介です。

なお、インデントを強制するという観点だけでいえばPythonの方が
優れています。桐山さんはご存知でしょうが、コーディングスタイ
ルの有用性を教えるのは非常に困難な課題なんですよね。

ちなみに、いま教科書を書いています。半期のレジュメに使える程
度の一部をまずWebで公開しますが、もうしばらくお待ち下さい。
出版は来年の後期開講には間に合わせるつもりです。

-- gotoken

# AERAは札幌では今日発売でした。まつもとさんりりしい。

# 北大生協に来た原先生本を棚に並ぶ前に買っちゃったのは僕です。
# ごめんなさい。