Bruce.です。
ねこ丸 さんは書きました (2007/09/14 19:03):
>> いやあ、そもそも日本に限っての話をすれば、使う側使う側の両方に
>> 妙な「C言語信仰」みたいなものがあるように思います。
>> 結構「プログラミングの初歩」から書いている「Cの入門書」って多いと思うんですよね。
>> つか、「Cの入門書」のほとんど全部が「プログラミング入門書」を兼ねているように
>> 感じられます。
>
> あーそうか。そうですね。
> そう言われるとほんとに基礎を教えてくれる入門書は C に行き着く気がしま
> す。そうか、その時代に計算機科学の流行りは終わってしまったんですね。
あ、いや。わたしの云わんとするところはですね。
本来Cで書くべきではないレベルの入門書にまでCを使ってはいないだろうか。
ということです。「行き着く」のニュアンスがわたしにはちと違うものの
ように感じられます。
たとえ話は危険だと認識しつつも使ってしまいますが(笑)、Cを使って
プログラミング入門者にプログラミングを教えることは、スキーを入門者に
教えるのに、いきなり上級者コースの上に連れて行ってさあ転びながらでも
いいから自力で降りろ。というようなものだと思っています。
もちろんそういうやり方でもどうにかなってしまう人はそれなりにいるとは
思います。実際のところ自分も、上級者コースではありませんが中級者向けの
ところに連れてかれてそういう目にあいました(笑)
ただ、一見突き放したようなそんな教え方でもいろいろとフォローはありまして、
たとえばコースに連れて行かれる前には、転び方と起き上がり方を徹底的に
教え込まれました。んで、「危ないと思ったらとにかく転べ」と。
そういうフォローをプログラミングに当てはめると何になるのかなあというのは
ちと微妙ですが、たとえばデバッグの方法とかはそのひとつには挙げられるんじゃ
ないかと思います。わたしのweb日記を見ている方はよくご存知だと思いますが、
「趣味」でいくつかの質問掲示板(おしえてgooとかYahoo知恵袋とかそんなの)を
見ていますが、デバッグのやり方なんて教わってないんだろうなあというのが
たくさんありますし、独学でやってる場合なんかはまずそういうのを知ることは
できないですよね(皆無ではないけどそういうことが書いてある本がない)。
んな状況なのに、落とし穴がそこらじゅうにあるCを使って、まともにサポート
できる人もいない状態で、「Cで入門しろ」というのはいくらなんでも
やりすぎだろうと思うのです。
> そしてオブジェクト指向の本は Java ものかめっちゃ抽象かどっちかですね。
>
> しかしそうなると、「勉強したけりゃ C と Java は読めた方がいい」ってこ
> とにもなりませんかね。自分を振り返ってみても、Java 本に目を通すのが苦痛
> だという怠惰な理由でデザインパターンが分かりません(ひどい
vistorパターンがいまだによく理解できない…
んでまあ、「勉強したけりゃ…」というのはその通りで、反論はありません。
ただ、入門レベルで云えば言語が変わっても基本的な書き方はそう変わらない
(んーCは偉大だ)ので、疑似言語みたいなものとしてみればそんなに難しい
ことはまでは要求されないと思います。
また、ネットに転がっているサンプルにできるプログラムもC/C++/Javaで
大半でしょうから、その意味でも「読める」ようになることは損ではないし
やっておいた方がよいといえると思います(ということはweb日記で書いた
記憶が)。
> 自分も C を学べと言う気はないんですけど、一方で C が分からないと困る
> ことはある、とはっきり感じています。実際、Java と PHP しか経験のない人
> でメモリのイメージが全然つかめていない人を目の前にして、これは困ったなぁ
> ということはあるんです。しかしわざわざ C からやってもらう余裕もないし、
> ここはこの作りじゃダメとだけ言ってこっちでダメな部分は直してしまいます
> が、なぜダメなのか納得させることができないんですよね。うまく説明するこ
> とができないんです。
>
> 余裕があったらという言い方でやんわり C もやってみたら、と伝えてはあり
> ますが、そんな遠回りな方法しかないのかなぁというのも釈然としないところ
> です。何かいい方法ないですかねぇ。
これはまあ置かれた状況次第ですね。
四の五の云ってられない状況なら業務命令でも何でもいいから強権発動します。
あと幸いにして、コードレビューなんかで「ここはこれこれこうだから
こういう書き方じゃなくてこうしましょう」とかやっても一応わかって
もらえてはいるようです。運良くそういうレベルの人がそろったのかも
しれませんけど(^^;
あと、差し支えなければ「うまく説明できなかったことがら」の実例を
一つ二つあげてもらえませんでしょうか? ちと興味がありますので。
--
木村浩一
I thought what I'd do was, I'd pretend I was one of those deaf-mutes or should I?
mail kbk@...
web www.kt.rim.or.jp/~kbk/zakkicho/
homepage3.nifty.com/farstar/