論理的思考の放棄要約
導入
C言語で月10万行の生産性、バグも少ない
設計も自分で行っており、設計をやり直すこともない
プログラミング以外にも学校や経営などマルチなことを行った。
実はこれは少数らしい。
普通の職業プログラマーの生産性は1ヶ月数百行〜3000行程度
この違いについて自分の考え方を4年ほど探求した結果、考え方の違いだとわかった。
考え方を変えることで能力・作業効率を獲得できるのであれば有益なので共有する
前提
① 努力しないこと
② 論理的に考えないこと
③ 頭を使わないこと
が大切である、これらは学校の指導や社会通念に反するため馴染みがないと思われる。
特に、プログラミングは論理的な作業だと考えられているので、それについて説明する
論理的思考の話
コンピュータは論理的な結果を得るための作業なので、
論理的思考で行うの良いと思われているが、実はほとんど不要である。
(論理的思考とは何か、は厳密には定義しない)
プログラミングと脳機能の話
感覚による話で論理的・科学的には間違っているかもしれないが、感覚的な話として説明する
人間には感覚的な処理機能が備わっている。
例えば、映画を観る、音楽を聴くといった行為には論理的な処理は発生しない。
人間の脳内の処理も、ノイマン型コンピュータと同じような論理的な処理として説明されるが
人間は感覚によって動作するアーキテクチャで
暗算などの論理的思考はエミュレーションしているにすぎない。
これは、人間が本来できる処理に比べて非常に処理が遅い。
論理的思考をプログラミングに用いる普通のソフトウェア開発者の効率が悪いのはこのオーバーヘッドのせいである。
「感覚的思考は作曲や小説の執筆、絵画の制作など芸術的な創作作業でのみ使用することができ、
プログラミングとか設計とか計算とかそういう類の論理的な作業では使用することができない」
と思われているが、
実は、プログラミングにも感覚的思考機能を使うことができ、そちらを使うことで高効率が発揮できる。
作業の方法
作るものをイメージする
設計をイメージする
コンピュータに対してプログラムを行う
バグを修正する。
まとめ
プログラミングだけでなく、色々な物事の設計や、文章の執筆、自動車等の運転などおおよそほとんどの作業で活用することができるのではないかと思う
作業効率が良いコンピュータ関係の者は表現は異なるが上記のことを実践しており、遥かに高い能力で作業をしている。
この文章を読んでも、大抵は「論理的にありえない」と論理的に考えてしまうため実践することができない、それはもったいない。