作者: ねこ丸
日時: 2007/10/1(14:14)
  ねこ丸です。

機械伯爵 writes:

>  でも、大鉈でざっくりやると、根本が違ってると悲惨なコトに
> なるので、加減は重要ですが……話してて気分が悪くなっては
> つまらないので、以後気をつけます。

  あ、いえ。自分で書いててこまけーなぁと思ったんです。


>  ただ、ブラウザなどを教材に使うと、やたらオブジェクトが最初から
> 出てくるのは仕方が無いので、ごまかし方(?)も少し考えておいた
> 方がいいかもしれませんね。

  そうですね。Webブラウザだと登場するキャラクター(オブジェクト)が多過
ぎるかも。「めげる」危険性をできるだけ減らすということを考えれば、罠の
多い「ブラウザ + JavaScript」の組み合わせはやめた方がいいような気もして
きます。

# だいたい自分でも Firefox + Firebug + MozRepl の環境がないとやってられ
# ないし。


> >   早めに出すべき、とまでは言いませんが、それほど避けなくてもいいかなと
> > 思います。特に伝統的な変数とオブジェクトの違いを考えなくて済む(つまり
> > みんなオブジェクトな)言語なら。
> 
>  PerlとかRubyとかPythonあたりならいいかな……全てオブジェクトだけど、
> 例えば言語としてのSmalltalkとかだと微妙ですね。

  Perl はーー、やめた方が(笑) 関数とかオブジェクトとかまったく無視する
ならまだいいですけど、そこへ足を踏み入れることを考慮するなら避けておい
た方がいいような気がします。目的が「Perl/CGIで動的なホームページ」とか
言うなら止めはしませんけど、比較的モダンなスタイルを含めて学んでもらお
うと思うとちょっとつらいと思います。

# 昔はコンテキストってすげーって思ってたけど、地雷踏みまくりでいやになっ
# てしまいました。


>  Smalltalkerの主張のように、オブジェクト/メッセージ志向のパラダイムって
> 理解しやすいかどうか、は、私には正直判断しかねます。

  ぼかぁそんなオブジェクト指向の「理屈」は得意じゃないので。ただ「オブ
ジェクトにしてしまった方が扱いが楽」とは思ってますけど。「やり方はオブ
ジェクト自身が知っている」ので。対話的な環境さえあればずいぶん学習しや
すいと思います。


>  つまり「提示される例」の中に「構文の組み合わせ」が入るタイミング、と
> 云うのは、私はかなり考えるべきだと思うのです。

  そうですね。タイミングとレベルは重要だと思います。
  欲張らずに、今でも数当てゲームくらいがいいのかもしれませんね。


>  先に例で文字解析(実際には検索)の二重ループの話をしたと思いますが、
> 同じ構文を重ねたアレですら、私はかなり慎重に出すべきだと思うのです。

  あれは難しいと思います。というか自分は今でも二次元配列はきらいです。
使わずに済むなら極力使いたくない。


>  私は出来るだけ、組み合わせは基本的なものにとどめて、逆に「自分で」
> 構造を作っていくほうが分かり易いんじゃないかと思ったりもします。

  そうすっとやはり(作る方として)難しいのは「演習」でしょうか。

 
>  人のコードを理解するのと、自分のコードを作るのでは、意外に人の
> コードを理解する方が難しいのではないかと。

  難しいです。そもそも過不足のないコメントとか、分かりやすい構造を作り
出すのが難しいですから。


>  ただ気になるのは、たとえば「イディオム」が豊富なSmalltalkとかの
> イディオムのレシピを、まず理解する前に応用して使って行ってその慣れの
> 中で感覚をつかんで行くといった方法も、確かにあるのかもしれません。

  自分はそっちでしたね。最初に BASIC をやったときはリファレンスマニュア
ルについてたサンプルを片っ端から打って動かして、「改造」する際にマニュ
アルを読む、というスタイルでした。
  今でこそ言語の書き方だけをさらうようなやり方でなんとか飲み込めるよう
にはなりましたが、それでもやはり文化が習得できないんですよね、そのやり
方だと。それもあってサンプル重要という気持ちは強いです。


>  Pythonの基本文法なんて、Rubyを使える人なら10分で一通りマスターできる
> と思いますけどねぇ、多分(苦笑)

  Bruce. さんがちらっと書かれていますけど、さらっとやっただけだど、なん
とか読めても書くのは無理ですね。(Cっぽくすらないやつは読むのも無理。)
IDE 前提ならできるような気はしますが、それだと「使っている」のは言語じゃ
なくて IDE だろ、と思っちゃいますね。

--
    ねこ丸