- 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
- 無駄に長くて中身薄いコード書いてそう・・・
コメント