アカウント名:
パスワード:
例えば、どうしてもポインタが理解できないとか、再帰が理解できないとか。
ポインタを使えないってことは、プログラミングの適性の有無を知るのに最適みたいなんですよ。
ポインタが解らない趣味や教養プログラマは、カーネルハッカーになれないと思う、多分。
違うよ。頭の一部が不自由だから、理解できないんだよ。
そう思う時点で、プログラマに向いてない頭脳なのですよ。
C言語の解説本を読まないとC言語でプログラムを書けないって時点で適性がない。
C(やそのほか多くの言語)にイテレータが「無い」という言い方は不正確だと思います。
男性には生を受けたときからハゲという名のバグがプログラムされています。
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
最初のバージョンは常に打ち捨てられる。
俺が教えた時 (スコア:1)
教材はまずはバブルソート、それから数当てゲーム(mooとかHit&Blowとかいわれるやつ)とオセロをやらせた。
でもいまやるなら仕事がSIだから、B系ShellかPerlのスクリプトだな。
Re:俺が教えた時 (スコア:0)
>教材はまずはバブルソート、それから数当てゲーム(mooとかHit&Blowとかいわれるやつ)とオセロをやらせた。
同じくC言語に一票。
>>11~14歳の優秀な生徒を対象とした、
5~10歳ならBASICとかRubyとか他の言語も考えるけれど、
11~14歳ならそこまで手抜きをする意味がない。
C言語で普通にアルゴリズムとデータ構造などのプログラミングの基礎をミッチリ
やればいい。それでオチこぼれるなら適性が無かったってだけの話なので、この
世界から足を洗うのに早すぎるということはない。
Re:俺が教えた時 (スコア:1, すばらしい洞察)
正直いって教える側の手抜き、思い上がりでしょう。指導方法の悪さをカバーする言葉以外のなにものでもない。なんでこういう歪んだ考えになったか考えたら、
> この世界から足を洗うのに早すぎるということはない。
この世界ってなに?って話。子供に野球(サッカーでも)を教えるときに「この指導方法でオチこぼれるなら適性が無かったってだけの話。この世界から足を洗うのに早すぎるということはない。」なんていう人は極端なプロ志向の一部だけじゃないでしょうか?
それでなくってもこの業界って周囲の無理解を嘆くことが多いのに、君の方針はそれを加速させるだけ。
Re: (スコア:0)
下手にプログラムを書けるとIT土方になりかねません。早めに撤退するのも必要なことです。
Re:俺が教えた時 (スコア:1)
再帰はCでなくても教えられますね。
Re: (スコア:0)
いやいや。
ポインタを使えないってことは、プログラミングの適性の有無を知るのに最適みたいなんですよ。
サッカー選手の適性見るのに、瞬発力をチェックしたり、長距離走をやらせて
みたりするようなものですかね。
>再帰はCでなくても教えられますね。
それは「C言語でなくてもいい理由」ではあるけど「C言語でいけない理由」ではないですね。
Re:俺が教えた時 (スコア:1)
もちろん、例えばカーネルハッカーを目指すならCで入門もありだとは思います。
でも、趣味や教養としてもプログラミングなら、ポインタなんか解らなくてもいいし、そこまでシビアにプログラミング適性を測る必要もない。
しかも、趣味や教養プログラマからカーネルハッカーに成れないか、というとそんなことも無いわけだし。
Cだと、いわゆるプログラミング以外に雑多なことを覚えなきゃいけない。コンパイルとか#includeとかmain()とか、まともにエラー処理をしてくれないってこととか。それって別に楽しいことでもなんでもない。
そんなもの覚えてる暇があったら、λ式とかイテレータとか、そういうものを覚えた方が楽しいんじゃないですかね。これらは、Cには無い物です。
Re: (スコア:0)
ていうか、教え方が下手だから理解に導けないんでしょ
むしろ、ポインタとそうでないものが混在しているのは混乱の元なので薦めるべきでないかもね
そう考えると、全てがオブジェクトへのポインタである言語の方が、ポインタへの理解も容易でいいかもしれないね
Re: (スコア:0)
そして器質的な理由でポインタを理解できない人は、同様の理由でλ演算やイテレータが理解できるようになることもないんだよ。
そういう人にとってプログラミングが楽しいことになることは絶対にないし、世の中にはもっと楽しくて役に立つことはいっぱいあるから、早めに別の道に進むことを考えた方がその人のためじゃないかなぁ。
Re: (スコア:0)
Re:俺が教えた時 (スコア:1)
私が教えた場合という非常に少ない例を挙げさせて頂くとですね。
ポインタ以外はそこそこ分る、ポインタだけが分らない人達相手に教えたことがあるのですが。
その人に合った説明すると、理解できるようになってくれました。
一度分ると、応用も利いてダブルポインタも理解できるようになってました。
オブジェクト指向が理解できない方も、同様でしたね。
どちらも器質の問題じゃなくて、例えるなら「アハ体験」の前な状態なんだと思いますよ。
Re:俺が教えた時 (スコア:1)
ただし、趣味や教養プログラマが、ポインタを理解するようになる場合もある。
しかも、Cで入門してポインタを理解できない確率より、非ポインタ言語で入門してCに進み、ポインタを理解できない確率の方が低いと思う。
Re:俺が教えた時 (スコア:1)
Re: (スコア:0)
うっさい!
ハゲはプログラマの適性と関係ないだろ!
Re: (スコア:0)
そう思う時点で、プログラマに向いてない頭脳なのですよ。
C言語の解説本を読まないとC言語でプログラムを書けないって時点で適性がない。
C言語の仕様書を読んだだけでC言語でプログラムを書けるようでないと向いてない。
もちろん書けるだけでは不十分で、上手に書けなければならないが、そのレベルになってようやく、他人のコードを見るとかノウハウ本を読むとか、人の手を借りてもいいと思う。
実際、C言語の仕様よりも、よっぽど複雑怪奇で落とし穴だらけなものを相手にすることになるんですよ?
Re: (スコア:0)
いっぽうで、広い意味での「参照」は凄く大事だと思います。
早い時期かどうかはともかく、どこかの時期では
きっちり習得してもらわんといかん(駄目プログラマにしかならん)。
Cは他にも面倒が多すぎる(たとえばポインタについても構文の変態さが有る)んで、
あんまりお勧めできない言語だなと思います。
ラムダやイテレータとかといった高級志向も良いことだと思います。
>これらは、Cには無い物
C(やそのほか多くの言語)にイテレータが「無い」という言い方は不正確だと思います。
だってループカウンタの整数「i」だって(外部)イテレータなのだから。
内部イテレータにしてもqsortみたいに使われる部分は有るし。
Re:俺が教えた時 (スコア:1)
趣味と教養のプログラミングでよければ、そこまで要求するのはナンセンス。
問題のスコープを正しく捉えられないのは、プログラマに向いてないんじゃないかと思いますね。プログラマ以前の問題かもしれませんが。
Re:俺が教えた時 (スコア:1)
Re: (スコア:0)
Re:俺が教えた時 (スコア:1)
…とツッコんでしまうこの機能はバグでしょうか仕様でしょうか?
Re: (スコア:0)
ジジィとババァはとっとと死ぬべきです。
# 俺?16進なら超えてないから大丈b……うわなにをするはなs
Re: (スコア:0)
初めて「プログラミング」という概念に触れるレベルで、C言語の仕様書(JIS X3010-1993 プログラム言語Cとか?)を読むだけですべてを理解できるのは同じ星の人間には無理そう...
それが出きるのは本当の天才だけです。プログラミングという概念を発明できるくらいのね。
Re: (スコア:0)
面倒臭がりは、そもそも自分でプログラムを組もうとは考えない。
出来合いの物で何とかしようとする。たとえ結果的に自分で組んだ方が早かったとしても。
まず、誰か同じ事考えて既にプログラムを作っているに違いないと考えて探す。
それで見つかればよし。見つからなければそこで面倒臭くなって諦めるか、
もうちょっと探すかの選択をする。
もうちょっと探しても見つからなかった場合、その時点で諦める。
このあと自分でプログラムを組もうと考える奴は面倒臭がりじゃないと思う。