著作一覧 |
配列はわかるがListがわからないと言われて、Listを教える。C#の話だ。
何がわからないのかと聞くと<>が一番わからないらしい。
っていうか、もうCを最初に教えるのはやめれ、と思った。せめてC++にしといてくれ。
と、考えると、C++のSTLは最初に覚えるには規模がでか過ぎる。C#かせめてJavaくらい(LinkedListの分だけ多いような気がする。もっとも<>の中に書けるタイプの数はC#のほうが倍以上ありそうではあるが、プリミティブだけで)が良さそうだな。
どうも、最初に教えとくべきものほど後から実装されているんじゃなかろうか。そりゃ、知恵は後からついて回るからかも。でも、JavaにしたってC#にしたって、最初の時点で型パラメータって考えはあったんじゃなかったかなぁ(Javaはもっと遡るといささか微妙かも知れないけど)。
中途半端なのだ。
型を教える/強制する言語を教えるのなら、本当に強制すべきだし、そうじゃないなら、そんなものは表面上は見えないものを教えるようにしといて内部表現に分け入るときに知れば良いのだ。と思ったけどclassがあればそれは型を作るときなんだから、そんなに単純ではないのか。型はどちらにしても教える必要があるなぁ、じゃなかった、記述上、強制するなら完全に強制すべきで、そうじゃないなら無しのほうが良いということだった。
ジェズイットを見習え |
> <>が一番わからないらしい<br>XNA (MSが最近出した C# で Xbox 360のゲームを書くというアレ) のサンプルソースにこういうクラスがあります.<br> public class SceneItem : List<SceneItem><br>これでListからTreeのNodeが作れちゃうと.<br>XNAって教育機関(大学とか専門学校)とかにも食い込んでいるらしいですが,「せんせーこれなんですか?」に応える先生も大変そうです……
えー、そんなのありなんですか? と思ったけどジェネリックだから(真の固有の型じゃないから)できるんですね。<br>今度、そういうクラスを使ってみよう(違)