Entry

本日のぶーたれ - いつまで「入門」やってるつもり?

2009年06月24日

この頃,文句ばっか言ってる気もするんだけれど(いつもか)。

先日,プログラミング関係で,「次に読む『入門書』は何がいいですか?」なんて聞かれちゃって,なんだか微妙な感じに。いつまで「入門」やってるつもりなんだろ,この人,みたいな。

プログラミング言語の入門書籍は,言語仕様の説明が主たるもので,それを使った実用的なプログラムの作り方にまで深く触れていることは,あまりありません。入門書を新しく読んでも,同じ言語について別の説明で言語仕様が説明されているだけだったりします。

で,この言語仕様なんですけれど,言語仕様を知っていることと,その言語でプログラムを作れることは,かなり大きな差があったりする。いや,差があるというよりは「別物」と思ったほうがいい。たとえ話にするのもアレなんだけれども,たとえば「とんかちで釘を打つときの力学的なメカニズムを知っていること」と,「とんかちと釘で犬小屋を作ること」は別物なのと同じようなもんなんだと思う。つまり,ある言語について,どんなにその仕様を知っていても,プログラムを作れるようにはならない,と。

これの最たるものが,例えば,「オブジェクト指向でプログラムを作るには,多態性の内容と利点について説明できなくてはならない」,みたいな話。ガッコウのテストじゃないんだから,そんなもんできなくてもいい。そりゃ,できて悪いことはないし,間接的に役立つこともあるんだと思います。しかし,プログラムを作ることとは直接関係がない。できなきゃいけないのは,「多態性の仕組みを利用してプログラムを実際に作ること」だろう。

考えてみると,こゆ緊張関係は,情報工学におけるサイエンスの部分と,エンジニアリングの部分の関係とも言えるんだと思います。一般的に工学は,理屈に基づいて実践がある,という位置関係にあるわけだけれども,特に情報系の界隈では,この関係が逆転している傾向がある。

それは,この界隈のあれこれが事実先行で進んでいるところに起因しているからなんだとも思います。多くの場合,理屈は後付けで,最初に成果物が示される。極端に言うと,「やってみたらできちゃった」→「どうしてなんだ?/何か言葉を作らなきゃ」みたいな具合。ポリモーフィズムにしても,モジュール性の議論にしても,もとはエンジニアリングの界隈から実践されてきたものを,理屈(言葉)で固めてきれいにしたところがあったりします(全部とは言わないが)。

そんなことから,せめてプログラマを目指すなら,「入門」は早々に終わらせて,早く実践の現場に首を突っ込んでもらいたいと思うわけなんですけどね。入門書を読み終わったら,自分でどんどんプログラムを書くべきなんじゃないか,とか云々。

Trackback
Trackback URL:
Ads
About
Search This Site
Ads
Categories
Recent Entries
Log Archive
Syndicate This Site
Info.
クリエイティブ・コモンズ・ライセンス
Movable Type 3.36
Valid XHTML 1.1!
Valid CSS!
ブログタイムズ

© 2003-2012 AIAN