Entry

プログラミング本の「初心者」「中級者」「上級者」

2011年10月02日

プログラミング,あるいはプログラミング本のレビューで,「初心者」「中級者」「上級者」とゆ言葉を使う人の話は信用しない方がいい,と,某入門書のレビューを読んでいて思いました。

というのも,「初心者」「中級者」「上級者」とかいった言葉には,明確な線引きがなく,言っている人が恣意的に設定できるから。大学なり高専なりの単位が取れる程度で上級者とか言う人もいれば,ペンタゴンのサーバに侵入するプログラムを書けて上級者と言うこともできる。「この本は初心者から中級者向きです」とか書かれたところで,読み手は一体どうすればいいのか。

入門書を手にする人の具体的な目的はいろいろあるのだろうけれど,基本には,そのプログラミング言語を使ってひとまとまりのプログラムを書きたい(あるいは読みたい)ということがあるのだと思います。素性も知らない他人(レビュアー)から,評価の定まらない「中級者」とか「上級者」とかと呼ばれるようになりたいわけじゃない。そうであるなら,プログラミングにまつわる全部または一部のうち「何ができるようになるか」を具体的に書くのが,レビューの本分なんでねいだろうか。

もっとも,ここでは何度も書いているけれど,邦書(訳本を除く)のプログラミング入門本で何ができるようになるかといったら,何もできないのが実際なのだと思う。プロとしてはもちろん,趣味プログラミングに必要なスキルすら身に付かない。そんなもんだから,入門書で「何ができるようになるか」なんてことは書くことができない。せいぜい,「初心者」なり「中級者」なりといった,よく分からない言葉を使うしかないところがあるのだとは思います。

個人的な開発スキルに関する基準を段階的に挙げるなら,

  1. 何も知らない。何もできない。
  2. コンピュータの仕組みを大まかに知っている。
  3. 開発に必要な範囲で開発言語の言語仕様をを理解できている(多くの入門書が扱っているはずの範囲)。
  4. 仕様なり設計なりを与えれば,それに適合したプログラムを適した作法で書ける。
  5. 与えられた仕様から合理的な内部設計(アルゴリズム)を起こして,それに適合したプログラム片を書ける。
  6. 与えられた仕様から,独立したプログラムコンポーネント全体を構成できる。
  7. 仕様そのものについて開発者の立場から合理的な意見を述べることができ,策定した仕様に基づいて独立したプログラムコンポーネント全体を構成できる。

とゆことになると思います。これらは縦軸で,横軸には作業の早さとかバグの少なさなんかがある。どれが初心者でどれが中級者でどれが上級者なのかは,よく分かりません。プロの話で言うなら,お金を稼ぐにあたって,下にいくほど「手間のかからない人」になる。一方,最近は即戦力が求められているとかいうけれど,実際入ってくる人は,3 の途中くらいの人が多い気がします(7 を自称する人はいるが)。会社的に即戦力としては,せいぜい4の途中くらいを期待しているんだろうけれど。

ま,最初の話に戻ると,なんつか,レビュアーが著者を甘やかしすぎていると思うわけですよ。まともな開発を行ったことがあるのか疑問のある入門書の著者もいるし,なんとかならんのかなぁ,と,おっさんはぶつぶつ。

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