Edited at

仮説・検証(39)プログラマにとって、何か知っている必要なことは何もない

「プログラマにとって、何か知っている必要なことは何もない」という仮説を立て、検証する過程の記録。

2019年5月10日 先週の 金曜日に、

仮説・検証(34)心理学の本を読むよりはコンパイラ書いた方がよくね

https://qiita.com/kaizen_nagoya/items/fa715732cc148e48880e

という話が出た次の会話。


何かを知らなくても、作れればよい。

門前の小僧とか、写経とか、知ることではなく、反復して慣れることで、作れるようになる道もあるかもしれない。

プログラミング言語教育のXYZ

https://qiita.com/kaizen_nagoya/items/1950c5810fb5c0b07be4

で紹介している母語方式。


知っていることと、作れることは方向性が違う。

「知っていて、人の作ったものに文句ばっかり言って、自分で作らない人が組織の中に、3割以上いると腐敗する」ということを語っていた先輩がいる。

知っていることと、作れることと、作ることは別の次元。

作るのは、試行錯誤でできる。

試行錯誤で作ったものが、品質が悪いかどうかは感性(sense)の問題。

知っていることと、作れることと、感性がいいことに、

順序関係が存在することを証明したという報告は聞いたことがない。

作っていくうちに感性がよくなるひともいれば、

知っていると感性をよくできる人もいる。

知っていることが邪魔して感性が悪くなる人もいれば、

作れちゃうので感性がよくならないひともいるかもしれない。

3つの事象は、直交するかどうかは確かめてないが、少なくとも二次元空間は貼るし、

ひょっとしたら三次元空間で考えるのがよいように感じている。

中学校の時の技術の先生は、人と違うことをしろと教えてくれた。

何かを知ることが技術ではなく、人と違うものを作ろうとすれば、技術が身につくと。

仮説・検証(37)ぼくの先生 プログラマになるまで

https://qiita.com/kaizen_nagoya/items/53e4bded9fe5f724b3c4


これも感性。

自分のまわりの一つや二つ、よくて10や20の例で、一般化していないだろうか

少数の例を一般化することは技術者としての感性がないことの証明になるかもしれない。

知っていることと同様で、どっちでもいいことかもしれない。

これくらいのものを作っていると、これくらいのことを知っている確率が高いというのは、

100人、200人と接すると、確率の中央値は収束することは経験則だと思う。

分布が正規分布にはなる経験はないし、1000人、2000人でも分散が小さくなる経験もない。

社会的事象は、自分に都合のいい論法を、自分に都合よく展開することはできる。社会的事象は根拠のデータは作ろうと思えば作れるし、逆のデータも作れる。

統計を取って、確率分布を想定するという作業をしても、

プログラマにとってという、多数の人間を扱うときに、そんなに有効な理論があるかどうか。

あれば、銀の弾丸になっている。

一般的な銀の弾丸はないということに合意している人が、

別の視点の議論では、一般的な銀の弾丸の仮説を検証せずにお題目にする。

ある行動をとった人が、次にどういう行動をとるかというのは、

WEBのデータなどから、商売に役立つ指針は作れるかもしれない。

あることを知っている人が、次にどういう行動をとるかは、

役に立ったという経験の分散が小さいという話は聞いたことがない。

何かを知っていることが、プログラムがかけることの根拠にはならないというのが経験則。

<この項はかきかけです。>

名古屋Reject会議 2011

https://www.youtube.com/watch?v=He1_tg4px-w&t=489s

この時の十数人の発表で、ニコ動での人気度は3位だった。

自分以外はほとんど十代、二十代、三十代の人たちの集まりで。


参考資料(reference)

仮説・検証(38)プログラマで「飛び抜けた人が少ない」という仮説

https://qiita.com/kaizen_nagoya/items/f0d22e20f6d2c58f2c1b

プログラマだったら当然知ってるよね?という知識一覧

https://anopara.net/2019/05/11/basics-for-programmers/

この記事へ何か加算しようと思ったら、減算しかなくて、結論はこの記事です。


文書履歴(document history)

ver. 0.01 初稿 20190513 昼

ver. 0.02 みだし修正 20190513 午後

ver. 0.03 日付補足 20190514 夕

ver. 0.04 見出し追記 20190514 夜

ver. 0.05 僕の先生 追記 20190516

ver. 0.06 プログラマだったら 20190517



http://b.hatena.ne.jp/guide/bbutton