登大遊氏の「論理的思考の放棄」を要約してみる

そして、今日から実践してみようと思います!

3つのこと

・僕(登氏)は、1 日に最低3,000行、多いときは10,000行以上のプログラムを書くことができる。その結果、多い月で10万行/月くらいである。
・発生するバグの数を極めて少なく保つことに成功している。
・設計は最初の1回目で確定させる。
・プログラミングの作業に入った後もその設計を後悔したり修正するようなことは起こらないようにしており、起こっていない。

誰でも少し考え方を変えるだけで、上記のようなことができる。

① 努力しないこと
② 論理的に考えないこと
③ 頭を使わないこと

我々は普段、① 努力すること、② 論理的に考えること、③ 頭を使うこと、をいつも言い聞かされている。
このような誤った「指導」のせいで、自分の能力に気付かない。

実はプログラミングの作業のほぼすべてにおいて、論理的な思考は全く必要無い。

人間の感覚的処理は、速くて効率的

例えば、音楽を聴いて「これは良い」と思ったり、映画を観て感動したりするといった作業は、論理的思考というよりも、直感的な作業である。
コンピュータは、論理的な処理しかできないが、人間には感覚的な思考処理が行える。もっと効率が良い方法で色々な作業を行うことができるのである。
人間のアーキテクチャは感覚的思考によって動作し、その処理能力はとても高い。

人間の論理的処理は、遅くて非効率

(一方で)人間は、努力すれば、感覚的思考の機能の上に、普通のコンピュータが行っているような論理的処理を行う環境を仮想的にエミュレーションし、その上で色々な論理的プログラムを実行することができる。
例えば、電卓を使用しなくても数字の暗算ができたり、短いプログラムであれば、コンピュータに入力しなくても、頭の中で実行することができる。
だが、人間の論理的処理機能は、とても処理が遅い。
あらゆる方式の処理を瞬時に同時実行することができる人間の頭脳(感覚的処理)がせっかくあるのに、論理的処理で物事を考えると、効率が悪くなる。
これが、普通のソフトウェア開発者が 1 ヶ月にわずか数百行 ~ 3,000 行程度しかプログラムを書くことができないという原因になっている。


結論

論理的思考を極力排除し、人間の本来の得意な思考方法である、感覚的思考機能を用いて、色々な作業を行うことにすれば、とても効率的になる。

実際のプログラミング方法

まず、だいたいこういうソフトウェアがあればいいなあとか、このような機能を付ける必要があるなとかいった、とても抽象的なことを思い浮かべる。
次に、だいたいイメージができたところで、心の中に、ソフトウェアの設計図やデータ構造といったものを思い起こす。徹底して、感覚的な思考でもって設計する。

コンピュータの前に座って、キーボードの上に両手を置けば、後はあまり考える必要はない。自動的に手がキーボードを打ち、プログラムを入力して完成させてくれる。
途中で論理的思考を行うことは厳禁である (作業の邪魔になる)。ひたすら何も考えない。

カテゴリ: