読者です 読者をやめる 読者になる 読者になる

知識のブラックホール

本とかオーディオブックとか。知識収集活動全般。

『プログラミングの心理学』をコツコツと読み進める試み その9

読書メモ プログラミングの心理学

いつもどおり続き。今日は9章。全部で13章なのであと5つ。

audiobook.hatenablog.com

『第9章 知能、ないし問題解決能力』

これまで見てきたように、プログラマを相手にするとは、平均を超える知能を持った人々を相手にする、ということである。

日本ではこれはないと思う。SEという特殊な職業があるので。

『心理的構え』

注釈は、それがついている命令または文の正しい解釈に向けて、読み手に心の準備をさせる。プログラムが正しいものであれば、注釈はそのように役立つであろう。

注釈(ここではソースコードへのコメント)について、ちゃんと更新しなさいといっている。 1970年代からこの辺りは変わりませんね。ただし、対象のプログラムがバグっていないという前提で。

『問題解決の種々相』

ほかに客観的な基準が見当たらないために、しばしばわれわれはプログラムがどのくらいむずかしいかを、プログラマがそれを作るためにどのくらいがんばったかによって判断するものだ。 この種の尺度を使った場合われわれはやすやすと最悪のプログラマを最高と見誤る、という誤りに陥る恐れがある。

人月商売の業界の方に、よくよく言い聞かせていただきたい。むしろ発注側かな。
これからは労働時間規制の関係上、労働時間内に最大の成果を上げることが求められているように思いますが。

『プログラミングのける知能の諸側面』

問題解決技法には、大きな個人差がある。同じことをするにも人によって得意不得意がある、という一点を取ってみても、である。 人はみな、もし彼が知的であるなら、自分の最良の資質を活かし弱点を避けて通るような解決方法を見つけようとするだろう。

なるほど。自分の長所を生かしつつ、短所を克服するのとは違って、弱点が弱点にならないような状況を作れ、と。
典型的な言うは易し、するは難し…ですけども、一つのヒントかな。

ドキュメンテーションがむずかしい原因は、いろいろある。第一に、プログラムがうまく書けていなかったら、どれほどドキュメンテーションでがんばろうと、死人を生き返らせようとするのと同然である。(後略)

あー、やばいな。心当たりがありすぎる。製品自体が複雑なキメラと化した場合、ドキュメントもどうしようもない複雑怪奇な魔獣と化すんです。どうしようもないです。以上。

某社某製品の、膨れ上がるドキュメントという悪夢を思い出してしまった。 ドキュメント担当者が熱意に溢れる人だったけど、所詮、平社員*1なんでのれんに腕押しでしかも開発担当からは煙たがられてましたね。

第三に、かれは自分のドキュメンテーションの中から、最後にわずかばかり残った多義性を根絶やしにできるだけの根気を持たなければならない。 ドキュメントは、この最後の段階で掛けた五パーセントの労力によって、100パーセントぐらいよくなるものだからである。

ということだそうで。文章からの曖昧さの排除が重要、ってことかな。

『適性検査』

(前略)だからIQテストでは、受験者は無意味な綴りとか、無意味な単語列とかを覚え込めと要求される。 一方「実生活」で役に立つのは選択的な記憶、つまり重要でないものを忘れ、重要なものを長期にわたて記憶にとどめる能力である。 学校ではそうではない。(後略)

素晴らしい洞察。なるほど、同じことを就職試験によく利用されているSPIにも言えるかな?実生活で使わないような計算問題を早く大量に解かせることに意味があるかどうか。

『プログラミングのための適性検査』

経験者だと自称するプログラマがきたら、座って小さいプログラムを一つ書いてもらうか、または仕様を与えて解釈させ、それをどう実現するつもりか方針の概略を述べてもらう、というわけにいかないのだろうか。 本当に、どうしてそれではいけないのだろう。

その通り。新卒一括採用とかアホなこと言ってないで、独自に試験内容を考えるべき。 新卒採用だとしても、理科系は多少はプログラミングの授業を受けているはずなんだからさ。 ただ、問題は、この本は1970年代の本だってこと。進歩しないよね。

「未経験者歓迎です」、ならともかく、本気で海外のIT企業と戦いたいなら、そんなんじゃダメだろうと思う。

『まとめ』

(前略)だから問題は、プログラマを選ぶことよりはむしろ育てることにある。 いい換えればよいプログラマは作り出されるものであって、おのずと生まれてくるものではない。 だからわれわれとしては注目、いわば製造の、つまり訓練のプロセスの方に移す必要がある。

賛否両論ありそう。勝手に育ったプログラマの方が多いんじゃないかな。育てられるか、可能か不可能かという話であれば可能である、と思う。訓練の量について日本社会は軽視しているように思う。

『第9章 「知能、ないし問題解決能力」へのコメント』

適性検査は無意味だとおっしゃっておられる。 育てることの重要性については25年前と考えは変わらないとのこと。

今日はここまで。

残り4章。続きます。

プログラミングの心理学―または、ハイテクノロジーの人間学 25周年記念版

プログラミングの心理学―または、ハイテクノロジーの人間学 25周年記念版

それでは。

*1:しかも非プログラマで、なによりフレックス勤務で1時間早く来て1時間早く帰宅する