(65) 無知の知
先ほど述べましたよぅに今日は子らの運動会で、この季節の北海道にはまれな強烈な陽射しの中で歯を食いしばって参観した結果、目の下と下腕がとんでもない日焼け状態になってしまっているさるべーじですこんばんは。
騎馬戦も復活しましたし、リレーも低学年/高学年・男子/女子の4回に分けて実施。なかなかの盛り上がりで、アンカーの競りなどもぅ親御さん方全員怒号のよぅな応援を。
子らの着実な成長も見ることのできた、いい一日でしたよ。
さて。先日VS2005等のβ2が公開されました。
いろいろな新概念・新機能もあるんですが、今回私が一番気になるのが、Express Editionと名付けられた普及版。たぶん5,000円くらいの価格で、初めての方でも楽しくプログラミングができるよぅな構成になっているよぅに思われます。
たぶん…といぅかうまくいけば、ホビーとしてのプログラミングがより広い層の皆さんに普及していくきっかけになるかもしれません。
本家米国Microsoftのサイトを読んでいても、そこらへんを狙ったコンテンツの提供が始まってますし。
でもまぁウィザードとかいろんなツールで手軽に作っている分にはいいですけど、ちょっと凝ったことをしよぅとすると、たぶんやはり従来どおりのプログラミングの勉強をしていかなきゃならなくなるとも思うんですよ。
ふつー、何かの機能を作りたくてプログラミングの調査・学習をする場合、
それを作るために必要な知識情報の中で、自分に足りないものは何か。
といぅ問題点の整理と把握が必要になります。で、
その足りない知識情報は、どぅ行動すれば入手体得できるのか。
具体的には、
- 本を読むなら、どんな本をどぅ選んでどぅ読みこなすのか。
- インターネットで調べるなら、どんな機能でどぅ検索していくのか。
- 人に尋ねるなら、問題をどぅ整理して質問を投げかけるか。
などの調査能力が必要になります。
こーいぅ問題点の把握→調査能力ってのは、やり方を教えてもらってすぐできる、てゅうもんではありません。
たとえばGoogle等を使ったWeb検索ひとつとっても、どんなキーワードで探せばいいのか、検索結果の一覧のどこをどぅ斜め読んで閲覧していけばいいか、その作業をいかに素早く行えるかなどには個人差があります。
裏返して言えば、数をこなしていけば上達していく、つまり「訓練の必要な作業」なわけです。
そのそもそもの「問題点の整理と把握」自体が、一朝一夕でできるものではありません。手法やセオリーを数多く頭の中に蓄積し、何度もいろんな問題を解決すべくトライし、成功し、失敗していく中で経験を蓄積して上達していく、これも「訓練の必要な作業」なわけです。
「自分に何ができないのか」を的確に把握し、
「どうすればできるようになるのか」を知っている。
これができれば、今現在何ができてできないのかはあまり問題にならなくなります。
できなきゃできるように勉強し、その勉強の仕方を知っているわけですから。
この状態を、私は無知の知と呼んでいます。
元祖ソクラテスが言っているのとはかなり違ぅ意味ですが。
知らないということを知っている、どうすれば知ることができるのかを知っている、といぅ状態ですね。
では、前提となる知識が少ないがゆえに「自分に何ができないのかよくわからない」、調べ方・学び方を知らないもしくは下手なために「どうすればできるようになるのかがわからない」状態がその前段階としてある、といぅことになります。
先ほどの「無知の知」に対して、この状態を <strong>無知の無知</strong> と呼んでいます。勝手に(^^;)。
「無知の無知」状態は、別に恥ずかしいことではありません。
誰だって学び始めはそんなもんだ、といぅだけの話です。
しかし、プログラミングの学び方を説明している書籍/Webコンテンツで、学び方の部分を語った文章を、私はあまり見たことがありません。
ときおり書籍の巻末に、申し訳程度に「Web検索で調べてみよう」「コミュニティサイトで質問してみよう」といぅ記述を見ますが、学び方全般を俯瞰し、体系的に詳細に説明してあるといぅものを私は知りません。
また、コミュニティサイトを見ても、プログラミングに明るい方がその手の質問を受けた場合、よくて具体的な解法の説明、悪くすると「無知の無知」であることそのものを非難してみたり。
学び方・調べ方を促すよぅな視野の広い発言をされる方も若干いらっしゃいますが、なかなかそこまでの意識を持ってくださる方はやはり少ないよぅです。
非難する方においては、「無知の無知」状態の方を、「発展途上の人間」ではなく「自助努力をしない、依存心の強い、軽蔑すべき学習姿勢の人間」と捉えてしまっているよぅです。
確かにそのよぅな方もいないわけではありませんが、ほとんどは「努力の仕方がわからなくてあがいている」方に対して「努力が足りない」と叱っているよぅなもので、的はずれになってしまっていることが多いですね。
非難まではしなくとも、「最近プログラミングを始めた方の質が悪い」と嘆いている方なんかも割と見かけたり。
こーいぅ方は、相手が「無知の無知」状態にいることに気付いていません。あるいは、学び始めるに当たって「無知の無知」状態といぅプロセスがあること自体に気付いていません。でもって、自分がそーいぅことを気付いていないといぅことに気付いていません。
この状態を、私は無知の無知の無知と呼んでいます。
「無知の無知の無知」は、自分自身の技術スキルとしては優れたものを持っていたとしても(といぅか逆にそのへん優れた方に多いよぅに思います)、他人にモノを伝えていくといぅ部分でやはり発展途上な状態なわけです。
ある意味これは、「無知の無知」よりもたちが悪いかもしれません。
自身の実務スキルが高いことで、「わかった気になっちゃって」いますので。
てことで、今プログラミングを学びつつある方へ。
なんとなく勉強してみよーかなーなどと思っている方へ。
まず、現在の自分が「無知の無知」状態であることを認識しましょう。
で、真っ先に目指すのが「無知の知」であることを理解しましょう。
プログラミングスキルは知識ではなく、繰り返しの訓練で上達させる必要のある能力です。
そこらへんをわかっていただけると、おもしろい趣味として成り立つと思いますよ。
仕事としては…うーん、大儲けしているプログラマって、日本では見たことないんですよねぇ。(T-T)