一流天才プログラマー「論理的思考を放棄せよ」

1 名前:一般よりも上級の名無しさん 投稿日時:2020/06/16(火) 08:53:00.74 ID:ECHo9aLp0

天才プログラマーが2週間で構築 テレワークシステムが好評
2020.6.13 18:55
https://www.sankeibiz.jp/business/news/200613/bsj2006131855001-n1.htm

↓2週間で有能テレワークシステムを開発した天才プログラマー登大遊さんの過去のブログが話題に↓

論理的思考の放棄
https://softether.hatenadiary.org/entry/20070324/p1

僕は、1 日に少なくとも 3,000 行程度、多く書くときで 10,000 行以上のプログラムを書くことができる。
その結果、多い月で 10 万行 / 月くらいである。なお、言語は書くソフトウェアの性質上、大半が C 言語である。

また、プログラミングにはバグが付き物だが、ここ 2、3 年の間は、発生するバグの数を極めて少なく保つことに成功している。
とても大きく複雑で、かつレイヤ的に OS に近い処理をたくさんやるプログラムを書く場合は、プログラミングをするときでも、事前の設計が極めて重要となる。
設計をうまく行わないと、後になって全面的に書き直しをしないといけなくなったり、パフォーマンスが低下したりする原因となり、開発者の苦痛の原因となる。
当然のことながら、これまで書いたいくつかの大きく複雑といえるソフトウェアの大半の設計も、自分で行った。
いかなる場合でも、設計は、最初の 1 回目で確定させ、それ以降、プログラミングの作業に入った後もその設計を後悔したり修正しないといけなくなったりするようなことは、
極力起こらないようにしており、その結果、そういう惨事は発生していない。

このようなことは、僕が大学に入学してから現在までの 4 年間ずっとやってきたことだが、
同時にソフトウェア開発だけでなく、大学の単位の履修 (大学では普通に進級し特に留年等することなく卒業できた)、
学術活動 (4 年間で、学会で 4 件の招待講演、1 件の受賞、5 件程度の他大学での招待講演を行った)、ベンチャー起業と経営などいろいろなことを高い密度で行ってきた。
同時に多数のことを行っても、能力不足による支障はほとんど出なかった。
自分の能力は、上記程度であるが、能力というのはこれくらいが標準的なのだろうと思っており、
自分の能力が特別高いということは思っていなかった。しかし、どうやら、いろいろなソフトウェア開発者の話を聞いたり、記事を読んだりしてみたところ、
上記の程度にできる人はごく少数らしいということに、最近気付いた。

いろいろ調べたの結果によると、普通の開発者の作業能力は、1 ヶ月数百行程度、多い人でも 1 ヶ月で 3,000 行程度らしい。
"1 日、数百行" ではなく、"1 ヶ月、数百行" である。
もちろん職業プログラマーの話で、仕事の他に、毎日大学へ行ったり自分の会社を持っていたりしている訳ではなく、
プログラミングに専念していても、この程度だという。イメージしていた現状と全然違う。

そこで、ここ 4 年間くらい、自分自身の能力の根源について探求を重ねると共に、
いろいろなことを調べているうちに、普通の人の考え方と、自分の考え方とが大きく乖離しているらしいという事がわかった。

このようなことだけを書くと、「自分にはそういう能力には縁が無い」とか「少しできるからといって自慢するな」とか「偶然だ」とか思う人がいるかも知れないから、
これから、誰でも少し考え方を変えるだけで、上記のような能力・作業効率を獲得することができるのだということを伝えたいと思う。
そうすれば自分一人ではなく、みんなにとって有益だと思うからである。

まず最も重要な前提知識として、以下の 3 つのことを遵守することが必須である。

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

いきなり上のようなことを読むと、普段言われているようなことと正反対で、
驚いたり疑ったりする人がいる (というか、大半の人がそのようである気がする)。
我々は、普段、社会通念として、① 努力すること、② 論理的に考えること、③ 頭を使うこと、といったようなことをいつも言い聞かされているのだ。
そのような誤った「指導」を小学校~就職~退職までの間 (つまり人生のほぼすべて) で受けるので、全く自分の能力に気付かないまま、一生終わるという人もいるようだ。

特にコンピュータプログラミングは、論理的な仕事の極端な例なので、プログラミングをするときの開発者の頭の中はとても論理的に思考しているのだろうと思われるのが通常であり、
上記の「② 論理的に考えないこと」にとても大きな違和感を感じる人が多いと思うので、まずこの点について説明する。

後はソースで

3 名前:一般よりも上級の名無しさん 投稿日時:2020/06/16(火) 08:56:09.94 ID:+jJ7H8XAa
まあ論理的に考えたことがそのままコードで反映できるわけじゃないしな

結局はリソースから逆算した可能なことの寄せ集め

4 名前:一般よりも上級の名無しさん 投稿日時:2020/06/16(火) 08:57:30.19 ID:GrzGZm0q0
コイツは気分のママ勝手にコードかける天才だから…
6 名前:一般よりも上級の名無しさん 投稿日時:2020/06/16(火) 08:59:31.13 ID:JfLXkg9pM
>>4
いや文章は論理的でツマランぞ、、
5 名前:一般よりも上級の名無しさん 投稿日時:2020/06/16(火) 08:58:45.76 ID:JfLXkg9pM
>>
非論理的なキチゲェみたいな文章を期待したのに!
7 名前:一般よりも上級の名無しさん 投稿日時:2020/06/16(火) 08:59:40.98 ID:tT2rNuIK0
※ただし本能で思考できる天才に限る
95 名前:一般よりも上級の名無しさん 投稿日時:2020/06/16(火) 09:21:51.60 ID:bxquDjsPd
>>7
キングダムかよ
8 名前:一般よりも上級の名無しさん 投稿日時:2020/06/16(火) 08:59:54.49 ID:ITh/w2NKd
クソ内容なくて笑った
9 名前:一般よりも上級の名無しさん 投稿日時:2020/06/16(火) 09:01:19.29 ID:GmKvf12A0
職業プログラマが一カ月数百行はさすがに盛ってるだろ
10 名前:一般よりも上級の名無しさん 投稿日時:2020/06/16(火) 09:01:42.16 ID:mDVBI0Pb0
非論理的な文章なんて誰も読まないじゃん
読まないから誰も書かないのであって
書かれないのであればありえない発想だってこと
11 名前:一般よりも上級の名無しさん 投稿日時:2020/06/16(火) 09:01:58.33 ID:3gdZKFZV0
どうも、全く自分の能力に気付かないまま、一生終わる人です
15 名前:一般よりも上級の名無しさん 投稿日時:2020/06/16(火) 09:03:33.32 ID:Ci/CKnWy0
>>11
(社会的)死者の霊言やんけ
12 名前:一般よりも上級の名無しさん 投稿日時:2020/06/16(火) 09:02:57.74 ID:qfEKHd3T0
努力を努力と思わないみたいな話か?
13 名前:一般よりも上級の名無しさん 投稿日時:2020/06/16(火) 09:03:07.37 ID:HFBBjZ+a0
これがわからん奴、まともなアウトプットしたことないんじゃないの
14 名前:一般よりも上級の名無しさん 投稿日時:2020/06/16(火) 09:03:15.25 ID:LgKX504v0
>>1
ボールが来たらぶんっとバットを振るみたいな解説だよな…
16 名前:一般よりも上級の名無しさん 投稿日時:2020/06/16(火) 09:04:29.60 ID:SNWOOKHS0
1日3000行とかヤバすぎだろ
20 名前:一般よりも上級の名無しさん 投稿日時:2020/06/16(火) 09:06:10.38 ID:SO4ZYFOZ0
>>16
Cなら普通だろ
mallc、freeとか文字列一つ書くのにも1行以上使うし人間が書く必要のない記述が多いからな
37 名前:一般よりも上級の名無しさん 投稿日時:2020/06/16(火) 09:10:25.32 ID:SNWOOKHS0
>>20
CとかC++が記述長くなるのは分かるけどそれでも3000行はすげえよ
17 名前:一般よりも上級の名無しさん 投稿日時:2020/06/16(火) 09:04:50.53 ID:ECHo9aLp0
「上記のような方法は、恐らくプログラミングだけでなく、色々な物事の設計や、文章の執筆、自動車等の運転などおおよそほとんどの作業で活用することができるのではないかと思う。」

「作業の例としてプログラミング、作業効率の例として行数を挙げて説明したつもりだが、プログラミング以外の作業にも適用可能だ (依頼されて行う仕事も、自ら進んで行う趣味も)と思うし、
また作業効率として行数のみを挙げるというのはおかしいという話ももっともである。」

だそうなので非プログラマーモメンも論理的思考を放棄しましょう

18 名前:一般よりも上級の名無しさん 投稿日時:2020/06/16(火) 09:04:54.25 ID:fOLtVIR80
小学5年生くらいの知能のやつを社長にして思いつきで仕事をさせればいいということか
59 名前:一般よりも上級の名無しさん 投稿日時:2020/06/16(火) 09:13:51.17 ID:5bxVodSia
>>18
映画「ビッグ」がまさにそれ。子供の思考回路で玩具開発して精神は子供なのに成功する
70 名前:一般よりも上級の名無しさん 投稿日時:2020/06/16(火) 09:15:51.48 ID:YjEFw+/S0
>>18
ポルポトが子供に医者やらせて凄惨な外科手術あったよね��
19 名前:一般よりも上級の名無しさん 投稿日時:2020/06/16(火) 09:05:31.97 ID:tYnjWZq70
1日1万行はすごいわ
21 名前:一般よりも上級の名無しさん 投稿日時:2020/06/16(火) 09:07:08.01 ID:ncasi73O0
そもそもこれ論理的思考を意識して行う必要がこの人にはないってだけだからな
23 名前:一般よりも上級の名無しさん 投稿日時:2020/06/16(火) 09:07:23.80 ID:tT2rNuIK0
1日1万はそれだけ書く内容があるなら大変だが不可能じゃない
ほとんどの仕事は1万どころか千ぐらいで終わってしまう
24 名前:一般よりも上級の名無しさん 投稿日時:2020/06/16(火) 09:07:26.51 ID:/g8jZJMPM
言語化するという行為が情報量を大幅に削減するんだよな
他人に伝えるなら必要だけど一人でやる仕事の場合は不要なんだよ
25 名前:一般よりも上級の名無しさん 投稿日時:2020/06/16(火) 09:07:39.76 ID:x8kODlz56
1日3000ってどんなレベルだよ。改行が2900くらいあるのか?
41 名前:一般よりも上級の名無しさん 投稿日時:2020/06/16(火) 09:10:49.73 ID:+jJ7H8XAa
>>25
CでVisualstudioで勝手にAI生成されるのを含めるとそのぐらいは普通に行く
26 名前:一般よりも上級の名無しさん 投稿日時:2020/06/16(火) 09:07:58.27 ID:tlNPtvLC0
言いたいことは分かるが、これ結局
「できるやつはできるができんやつは逆立ちしてもできん」
類の話やで

論理性を捨ててるのではなく、論理性を意識しなくても良いくらいに習熟してる、というだけのことやから

27 名前:一般よりも上級の名無しさん 投稿日時:2020/06/16(火) 09:08:03.87 ID:OuC46wmL0
>>1
面白いじゃん
28 名前:一般よりも上級の名無しさん 投稿日時:2020/06/16(火) 09:08:12.73 ID:VIr0X1d/0
>>1
嫌儲民の知識を遥かに凌駕するパソコンの大先生だから何言っても許される
29 名前:一般よりも上級の名無しさん 投稿日時:2020/06/16(火) 09:08:28.32 ID:pZhoN6ADp
設計が大事なのは同意
でもあんな長文や長いコードを書けるのは結局
体力と集中力なんだと思う
書く内容がわからないから3000行書けないわけじゃないんだよ
30 名前:一般よりも上級の名無しさん 投稿日時:2020/06/16(火) 09:08:56.15 ID:0g2qGn+Ca
また俺なにかやっちゃいました?
31 名前:一般よりも上級の名無しさん 投稿日時:2020/06/16(火) 09:09:02.82 ID:xaPsXsKYM
誰……?
43 名前:一般よりも上級の名無しさん 投稿日時:2020/06/16(火) 09:10:59.75 ID:dttLIxoj0
>>31
SoftEtherの開発者や
32 名前:一般よりも上級の名無しさん 投稿日時:2020/06/16(火) 09:09:13.50 ID:dttLIxoj0
面白いなあ
33 名前:一般よりも上級の名無しさん 投稿日時:2020/06/16(火) 09:09:44.63 ID:tT2rNuIK0
腰とかケツとか目とかがそんなに保たない件
34 名前:一般よりも上級の名無しさん 投稿日時:2020/06/16(火) 09:09:46.60 ID:vxICtXAHM
新しいtehuか?
49 名前:一般よりも上級の名無しさん 投稿日時:2020/06/16(火) 09:11:37.79 ID:dttLIxoj0
>>34
tehuと比べるな
すでに実績ありまくりの人や
35 名前:一般よりも上級の名無しさん 投稿日時:2020/06/16(火) 09:10:09.19 ID:2D6Re6ix0
行数で評価してる時点で???なんだが
こいつもしかしてラルキ系か?
すげー自分をでかく見せるのが得意だよな
36 名前:一般よりも上級の名無しさん 投稿日時:2020/06/16(火) 09:10:20.96 ID:aviGcbH8r
ナチュラル天才な俺自己演出っぽい
38 名前:一般よりも上級の名無しさん 投稿日時:2020/06/16(火) 09:10:29.40 ID:k1wYDgJ9M
現代文できるやつも別にあれ大して論理的に考えようとか思ってないしむしろ感覚に近い
プログラミングが得意なやつも似た感じだろう
60 名前:一般よりも上級の名無しさん 投稿日時:2020/06/16(火) 09:14:10.07 ID:e8vWldxHp
>>38
現代文は本当にセンスありきだからな
センスがない奴はなんとか法に頼るしかないが
75 名前:一般よりも上級の名無しさん 投稿日時:2020/06/16(火) 09:17:31.84 ID:7yqzMy5Hd
>>38
しっくりきた
39 名前:一般よりも上級の名無しさん 投稿日時:2020/06/16(火) 09:10:39.99 ID:LgKX504v0
サヴァン症候群とかそんな感じだよ
常人には無理
40 名前:一般よりも上級の名無しさん 投稿日時:2020/06/16(火) 09:10:45.22 ID:zLBMUQVQr
1行1秒で書いたとして3時間弱か
早すぎるだろ
44 名前:一般よりも上級の名無しさん 投稿日時:2020/06/16(火) 09:11:05.33 ID:FWchc22tM
一個の関数読んだら何百行と動くわけだ
言語が高級になればなるほどそうなるわけで
時代と共に書く量は減っていく
45 名前:一般よりも上級の名無しさん 投稿日時:2020/06/16(火) 09:11:17.65 ID:LR7Asw2Ma
をれ、25歳のときに一晩で逆アセンブラーつくったよ。
46 名前:一般よりも上級の名無しさん 投稿日時:2020/06/16(火) 09:11:19.11 ID:hXIFPJvg0
論理捨てろとかラマヌジャンかよ
まあ天才はそれでいいけどさ
47 名前:一般よりも上級の名無しさん 投稿日時:2020/06/16(火) 09:11:23.16 ID:w+es3SQB0
一日1万行も書いてたら小指が動かなくなるだろ
絶対に盛ってる
50 名前:一般よりも上級の名無しさん 投稿日時:2020/06/16(火) 09:11:42.44 ID:mtuOvPbB0
努力しないで英語をマスターできます!
のような詐欺CMみたいだな
52 名前:一般よりも上級の名無しさん 投稿日時:2020/06/16(火) 09:11:59.13 ID:gk3ynI/EM
天才過ぎて参考にしたらだめなやつ
53 名前:一般よりも上級の名無しさん 投稿日時:2020/06/16(火) 09:12:03.75 ID:xsR4aPlp0
7万冊読んだケンモメンを思い出す
(こっちの方が先だが)
55 名前:一般よりも上級の名無しさん 投稿日時:2020/06/16(火) 09:12:59.23 ID:2D6Re6ix0
softether以外なんかあるの?
一日1万行書いてたら大量の実績があるはずだよね?
99 名前:一般よりも上級の名無しさん 投稿日時:2020/06/16(火) 09:22:53.49 ID:hSAhzcRap
>>55
そうなんだよな
こいつ最初見た時はすげえと思ったけどその後が微妙
いやすごいんだけどエンジニア止まりというか
56 名前:一般よりも上級の名無しさん 投稿日時:2020/06/16(火) 09:13:03.29 ID:dttLIxoj0
感覚的思考をそのままプログラミング言語にできる人がどれだけいるんやろな
63 名前:一般よりも上級の名無しさん 投稿日時:2020/06/16(火) 09:14:50.22 ID:tT2rNuIK0
>>56
それは出来ないとむしろ仕事でやってけないだろう
76 名前:一般よりも上級の名無しさん 投稿日時:2020/06/16(火) 09:17:48.69 ID:w+es3SQB0
>>56
感覚を言語化することの方がよっぽど重要だけどな
それが違和感から問題を発掘する能力に繋がる
57 名前:一般よりも上級の名無しさん 投稿日時:2020/06/16(火) 09:13:07.43 ID:mngO/jzsx
ぼくの考えたスーパー超人です!

って思い浮かべたら後は椅子に座って無心でキーボード打つだけってことか。なるほど。

できるか!

58 名前:一般よりも上級の名無しさん 投稿日時:2020/06/16(火) 09:13:47.13 ID:+/SnBFnj0
ほら、簡単でしょ
って言いながら絵を描いてるおっさんを思い出した
61 名前:一般よりも上級の名無しさん 投稿日時:2020/06/16(火) 09:14:24.01 ID:n0odyD8D0
ステップ数なんて参考にならんやろ
素人がスパゲッティコード書いても3000行なんだが
64 名前:一般よりも上級の名無しさん 投稿日時:2020/06/16(火) 09:14:52.81 ID:44LKA1Mq0
>事前の設計が極めて重要
完全に同意
>設計は、最初の 1 回目で確定させ、それ以降、プログラミングの作業に入った後もその設計を後悔したり修正しないといけなくなったりするようなことは、
極力起こらないようにしており、その結果、そういう惨事は発生していない。
これができるためには圧倒的なWMCが必要となる
65 名前:一般よりも上級の名無しさん 投稿日時:2020/06/16(火) 09:14:53.52 ID:oJL81idh0
ま、要は「ね、簡単でしょ?」の高位バージョンだよ
行間の間にとてつもなく複雑な話が入ってる
67 名前:一般よりも上級の名無しさん 投稿日時:2020/06/16(火) 09:15:16.16 ID:Z3fqAOQpr
頭使わないで、論理的に考えないで、努力しないコードなんて保守がスパゲティ
68 名前:一般よりも上級の名無しさん 投稿日時:2020/06/16(火) 09:15:26.05 ID:1xud72sza
手を付ける前によく考えろって事だろ
69 名前:一般よりも上級の名無しさん 投稿日時:2020/06/16(火) 09:15:50.92 ID:sDT3W5BM0
じゃあ元々論理的思考をするための脳回路がないまーんさん達は最強だな(爆笑)
71 名前:一般よりも上級の名無しさん 投稿日時:2020/06/16(火) 09:16:31.36 ID:2D6Re6ix0
秀まるおさんのほうがすげーからな
72 名前:一般よりも上級の名無しさん 投稿日時:2020/06/16(火) 09:16:33.79 ID:hJAIEv6Zr
2007年の記事だけど今はどう考えているんだろう
73 名前:一般よりも上級の名無しさん 投稿日時:2020/06/16(火) 09:16:38.98 ID:dttLIxoj0
ラズベリーパイ100台使って組んでて
設備費用1/10にしたんだな
80 名前:一般よりも上級の名無しさん 投稿日時:2020/06/16(火) 09:18:31.39 ID:tT2rNuIK0
>>73
費用1/2でいいからまともな機材使ってほしいわ
ラズパイ電源周りとか貧弱だぞ
74 名前:一般よりも上級の名無しさん 投稿日時:2020/06/16(火) 09:17:08.73 ID:JLlv6TWR0
なんか悟空に静かに怒ればお前もスーパーサイヤ人になれっぞって言われてる気分だな
79 名前:一般よりも上級の名無しさん 投稿日時:2020/06/16(火) 09:18:28.55 ID:IVT9KYiod
ひらめきを信じろってことなのかもしれないけど
そうは言っても俺ら閃かないからなあ
83 名前:一般よりも上級の名無しさん 投稿日時:2020/06/16(火) 09:19:26.03 ID:Fb0C6AQd0
>>79
そりゃ膨大な前提知識が必要ですし
82 名前:一般よりも上級の名無しさん 投稿日時:2020/06/16(火) 09:19:11.54 ID:Eups5nty0
こいつはガチモンの天才だから参考にならんわ
102 名前:一般よりも上級の名無しさん 投稿日時:2020/06/16(火) 09:23:34.49 ID:jS28sFyV0
>>82
そう思う
リソースがないと直感的なものをつなげることできんだろ
84 名前:一般よりも上級の名無しさん 投稿日時:2020/06/16(火) 09:19:28.17 ID:SNWOOKHS0
まあ設計が超重要って言うのはわかるけど後は分かるような分かんないような感じだなあ
88 名前:一般よりも上級の名無しさん 投稿日時:2020/06/16(火) 09:21:08.10 ID:Fb0C6AQd0
>>84
設計を頭に叩き込んでそれを元にコードをイメージして後は無意識下での自動プログラミングって事だよ
ええ、誰でもできませんよw
86 名前:一般よりも上級の名無しさん 投稿日時:2020/06/16(火) 09:20:10.23 ID:RpLoI9eVa
まーた凡人が天才のはなし聞いてるんだ笑
89 名前:一般よりも上級の名無しさん 投稿日時:2020/06/16(火) 09:21:08.86 ID:44LKA1Mq0
コーディングのはやさも結局は設計力
ハイレベルからローレベルまで設計が完成してればコーディングははやくなる
1が1日1万行と言ってるのもそういうこと
90 名前:一般よりも上級の名無しさん 投稿日時:2020/06/16(火) 09:21:09.09 ID:3hHM0ANv0
参考にならんわ。whileループで1から100まで正数を画面に表示させるコードを書いてたら、確かに論理的思考はしない。

たけど、すこし複雑になって、カウントが10に達する度にビープ音を鳴らして、
カウントが15に達する度に別のカウンターを立てて、その個別カウントが3に到達する度に50パーセントの確率で全体カウントをゼロに戻す、
とかやってると、あの変数どうなった?ってなるよ。思考してしまう。

101 名前:一般よりも上級の名無しさん 投稿日時:2020/06/16(火) 09:23:01.90 ID:tT2rNuIK0
>>90
どっちかというと前者のほうが頭使う
前者ができた上で後者やるなら簡単

設計が重要ってそういうことだろう

93 名前:一般よりも上級の名無しさん 投稿日時:2020/06/16(火) 09:21:42.37 ID:xRVHalRqr
イキリ散らしてて草
94 名前:一般よりも上級の名無しさん 投稿日時:2020/06/16(火) 09:21:45.86 ID:Q6KmaUxg0
コピペでできないような仕事を割り振る奴は無能なのでさっさと辞める

これが一番SEには大事

96 名前:一般よりも上級の名無しさん 投稿日時:2020/06/16(火) 09:22:04.37 ID:V6tZ6Vbt0
いやいやいやいや
この文章からしてめちゃくちゃ論理的でわかりやすいんだがw
98 名前:一般よりも上級の名無しさん 投稿日時:2020/06/16(火) 09:22:48.50 ID:3gdZKFZV0
昨日、メディア関連の企画制作の人がツイッターで紹介して本人がリツイートしてたのか
100 名前:一般よりも上級の名無しさん 投稿日時:2020/06/16(火) 09:23:01.05 ID:ObJSpY/P0
無駄に長くて中身薄いコード書いてそう・・・
103 名前:一般よりも上級の名無しさん 投稿日時:2020/06/16(火) 09:24:24.01 ID:dttLIxoj0
金子勇が生きてたら今何作ってたろうな

コメント一覧

タイトルとURLをコピーしました