>えーと、以前の言及には気づいていませんでした。
ちょっと検索してみました。
# この掲示板には検索機能はないですが、今のところ
#
http://kmaebashi.com/bbs/list.php?boardid=kmaebashibbs&range=800
# とかやると過去の全発言が表示されるのでブラウザ内検索。
# もっと発言が増えてくると破綻しますが… そのうちガードをかけないと…
「一度や二度ではない」は言い過ぎだったようです。2回ですね。
このへんとか。
http://kmaebashi.com/bbs/list.php?boardid=kmaebashibbs&from=372&range=1
>私はゲームプログラミングにはうといのですが、Javaで「継承やオー
>バーライドやインタフェースやスレッドを知らなければならない」
>というのは、
>
> * やろうとしていることが実は複雑である
> * Javaの提供するモデルとやろうとしていることが合ってない
いくらなんでもボールがマウスを追いかけるくらいが複雑だとは思えないので、
Javaに関して言えば、「Javaの提供するモデルとやろうとしていることが合ってない」
のだと思います。もちろんこれは用途次第で、ダイアログを使うビジネスアプリケーション
ならJavaのモデルでよいわけです。
ただ、Javaの場合、もともとWebページの飾り付け用の言語として世間に投入された
はずで、にもかかわらずこのモデルはどうよ? とは思います。これは言語ではなく
ライブラリの問題ですけど。
また、Javaの場合、たかがhello, worldでも、classとかpublic static void mainとか
System.outとかの謎の言葉が出てきます。これはライブラリでなく言語の問題でしょう。
これを見ておっかなく思う初心者はいるかもしれません。が、実は「決まり文句」と
思っておけば済むことかもしれませんし、クラスがあってもhello, worldを1行で
書ける言語は可能です(Rubyのように)。
たとえばクラスが難しいものだとしても、初心者にクラスが見えないのなら、
初心者向け言語からクラスを外す理由にはなりません。その点で、[731] のyuyaさんの
指摘は的を射ていると思います。
ということで、私もおおむね説得されているわけですが、
a)初心者だからといって入門書を最初から順番にやっていくだけとは限らない。
雑誌に載っていたりネットに転がっているコードを読むこともあるだろう。
b)初心者だってライブラリは使うしマニュアルも読む。
ということは言ってよいと思います。Javaでhello, worldを書くとき、System.outは
決まり文句と思っていればよいかもしれませんが、これを決まり文句と思っている間は
APIリファレンスが引けません。
また、C++だと入門書の最初のページでcoutとか使ってるかもしれませんが、
これをちゃんと理解するには演算子のオーバーロードを知らなきゃいけませんし、
ちょっとコレクションを使おうとするとSTLが出てきてtemplateを知らなくては
いけなくなったりします。STLでなく(危険を承知で)Cの配列を使おうと決心したと
しても、既存の、ゲームを作るのにすごく便利なライブラリが、引数にSTLの
vectorを要求してたりして。
そういえば、話としてはずれますが、最初にCを勉強したときには
(c = getchar()) != EOF
がおっかなく見えたことを思い出しました。
>「削ることによってわかりやすくなる」という意見はよく聞きます
>が、実際は「適切なモデル(or 機能)を提供することによってわか
>りやすくなる」のであって、削ることだけが能じゃないと思います。
もちろん、なんでもかんでも削ればよいと思っているわけではないです。