こんにちは。
いちおう、プログラマをしている者です。
私は、ブラインドタッチができ、月に6000行くらい書いています。

そこで、ソフトイーサの開発者は、天才プログラマだ、という話を聞いたので調べてみたのですが、

「彼は日本で最も速く高品質にプログラミングを行える技術者のひとりで、一般的なプログラマーの8~10倍の速度でプログラムが行えるそうで、しかも高品質で安定しているとのこと。「頭よりも指先が先に動いている感じ」と関係者は言います。」
ttp://www.satsuei.net/a-blog/kaz.php?date=2007-01-11

また、エンジニアtype 07.09号での特集では、
「多くの専門家が絶賛するのは、登のプログラミングの正確さとスピードだ。一般のプログラマは一ヶ月あたりで約3000行書くのが精一杯と言われているのに対して、登は最高で一日一万行をこなしたこともあると話す。しかもバグが発生する確率はタイピングミスによるものが中心で、『ミスがあっても一万行に一回くらい』という。」

と書かれています。
常人3000行/30日 と 登氏10000行/1日。。ということは、、
常人300行/1日 と 登氏10000行/1日。。
つまり約33倍の効率。しかもバグが『一万行に一回』なので、テストも軽くパスするでしょうから、実際にはもっと生産性に差がつくと思います。

いくらタイピングが早いとはいえ、これは不可能なんじゃないでしょうか?
創造的思考をしながら知的生産物を作成していくのにあたって、これだけの速度・精度で書ける、というのは信じられません。ちなみに、主に開発に使用している言語はC言語だそうです。

やはり世の中には凡人プログラマの及びもつかない天才がいるということなのでしょうか?

それとも、いちいち細かく改行したり、無意味に処理を複雑化させたり、コメントや空行も行数に数えたりして増やしているのでしょうか?

個人的には同じ挙動をするプログラムなら行数が少ない方を書いた人の方が優秀だと思います。もちろん程度によりますが。。

ことの真偽をご存知の方、おりましたらご回答ください。

A 回答 (7件)

ANo.6補足


>訓練しだいで誰にでも可能なレベルなのかなどについて、
>皆さんのご意見をいただきたかっただけです。
全ての人がイチローや中田 英寿になれるわけでは無いのと同様
で誰にでも成れるものでは有りません。
その点だけは留意する必要が有ります。
#もしかして訓練次第で可能になる方法が有ると信じていたとか?
同じ事ができないからといって努力する事を止める理由にはなり
ません。
本人の力量の及ぶ範囲で足掻き続けて1歩ずつでも前進していく
事が必要です。

この回答への補足

ご回答ありがとうございます。

>上記は、「覚えて使おうとするだけでも手一杯のOSや
>言語を作れる様な人」を指しています。
例えば、Linuxカーネルは、世界各地の開発者(日本人含)によって、週に何百もの修正パッチが作成(報告)され、それをTorvalds氏らを含む有識者が判断し、パッチの適用の可否を決めています。他のオープンソースの開発にも、日本人は多数参加しています。日本人でなくとも、独力で「覚えて使おうとするだけでも手一杯のOSや言語を作れる様な人」はいないと考えるのが通常ではないでしょうか。

>各人が目先の事だけに目を奪われ「中には上を見ている人も
>いると思います。」と言って人任せにするだけで済ませて
>本当に良いのでしょうか?

他分野の話になりますが、物理学では、よくアインシュタインは天才と言われますが、では、アインシュタイン以外がみな天才ではなかったのか、というとそういうわけではありません。たまたまパラダイムシフトをしたのがアインシュタインであって、そこにいたるまでの思想や数学、実験などには日本人の物理学者も影響を与えましたし、アインシュタインだけでは到底成し得なかった、というのが物理の常識です。

ITの世界でも同様に、TCP/IPは軍事通信、OSはMSやMac、UnixOSはベル研、その他オープンソースプロジェクトの多くは海外発になっていますが、そこに日本の影響がないのか、というとそうではないでしょう。日本発のものとしては、Rubyはまつもとゆきひろ氏が作成しましたし、日本語プログラミング言語「ひまわり」もあります。2ch発のOS「Mona OS」もあります。裁判になっていますが、Winnyの技術も世界レベルでしょう(使用の可否は別)。
それが世界に拡散しないのは、世界に「日本語」がどれほど通用するか、によるものだと思います。逆に言えば、開発者が英語に堪能で、最初から英語版を作成していたら、日本発のプロジェクトもそれなりのものになると思います。

また他分野で申し訳ないのですが、化学の分野で成長著しいカーボンナノチューブは飯島澄男氏、有機ELは白川英樹氏、ブルーLEDは中村修二氏、ノーベル賞に限っても、日本は極東の島国にしては異常なほど受賞しています。世界初の彗星探査機「はやぶさ」も、日本のものです。

ITに限るのでしたら、
なぜ日本で独自技術は生まれないのか(上)
http://itpro.nikkeibp.co.jp/free/ITPro/OPINION/2 …

第2回 日本発の独自技術を開発する
http://www.atmarkit.co.jp/im/carc/serial/roundta …
などを参照することをお勧めいたします。


>#大幅な機能追加をしていったら13000ステップ以上有った
>#プログラムがいつのまにか6000ステップ程に....何故?
どこから13000ステップがでてきたのですか?
私の名前で検索でもしたのでしょうか?
だとしたら、とても気持ち悪いです。そのようなことはなさらないほうがよいと思います。
ちなみに、理由は、パッケージの導入先によって当然、開発ステップ数も変わるからです。

ANo.6補足
>>訓練しだいで誰にでも可能なレベルなのかなどについて、
>>皆さんのご意見をいただきたかっただけです。
>全ての人がイチローや中田 英寿になれるわけでは無いのと同様
>で誰にでも成れるものでは有りません。
>その点だけは留意する必要が有ります。
>#もしかして訓練次第で可能になる方法が有ると信じていたとか?
この点は、それぞれの価値観の違いでしょうから理解しあえるとは思いませんが、私は誰にでも可能性があると信じるタイプです。可能性があれば、努力する価値もあると思います。はじめの一歩によい言葉があります。「努力した者がすべて報われるとは限らん、しかし!、成功したものは皆すべからく努力しておる」。
また、書籍でしたら、新渡戸稲造氏の「自分をもっと深く掘れ」などをお勧めいたします。
あくまで、私見ですので、価値観の相違に対するご批判はご遠慮願います。

>本人の力量の及ぶ範囲で足掻き続けて1歩ずつでも前進していく
>事が必要です。
この点については同意いたします。

※月曜日にて締め切りとさせていただきます。

補足日時:2008/02/11 02:11
    • good
    • 0

>>海外にはそれができる人が多数いるわけです。


>これは、どこのソースから得た情報なのでしょうか?
上記は、「覚えて使おうとするだけでも手一杯のOSや
言語を作れる様な人」を指しています。
海外にはMS社を始め、各種言語等の開発メーカーが多数
存在していますし、オープンソース上での開発も日本と
比べるとはるかに多く行われている事は周知の事実だと
思います。

>コミュニケーション能力があること、顧客折衝のできる
>方、などを重要視しているところも多いかと思います
これも単にOSや言語を道具として使うレベルに留まって
いる点で同じでは?
OSや言語を開発できるレベルの技術者という点では何の関係
もないと思いますが?
今、中国やインド、韓国等に仕事を発注する事が多くなって
いて、それらの国は着実に実力を上げてきています。
そういう環境の中で、何もせずに他人がOSや言語を作って
くれるのを漫然として待つだけの状態をこれからも続けて
いっても良いのかと危惧しています。

>また、下のほうばかりを見ている人も、いるでしょうが、
>中には上を見ている人もいると思います。
米国や欧州各地はOSや各種言語・ツール、中国・台湾等は
100ドルPCを初めとする安価なハードウエアを武器にして
国際競争力をつけている中、日本だけ独自技術を持とうとも
せず危機感も持たずにのんびりしている様に思うのですが...
各人が目先の事だけに目を奪われ「中には上を見ている人も
いると思います。」と言って人任せにするだけで済ませて
本当に良いのでしょうか?

>訓練しだいで誰にでも可能なレベルなのかなどについて、
>皆さんのご意見をいただきたかっただけです。
野球やサッカー等のスポーツでも、かつての日本と海外の
チームとの実力差は明白なものでした。
それが現在、海外のチームの実力に近付きつつあるのは
何故でしょうか?
レベルの高い人を目標として競い合い高め合う事で全体的
なレベルが高まり層が厚くなっていく中から、優秀な人が
で易い環境が整っていきます。
そしてそれらの優秀な人間の内の一部は先頭に立って導き
別の者は底辺を支えていく事で全体のレベルが更に上がる。
そういった事が行われたからだと思います。

現在の日本でその様な事が行われているでしょうか?
どれだけ素質を持った人材がいても、それを引き出す事が
できる環境が整っていなければ宝の持ち腐れになるだけです。
#各人が個別に「独学」のみで勉強しなければいけないと
#信じている内(指導する側も含めて)は殆ど不可能という
#気がします。

追伸
凡人の私としては、色々な小ネタを駆使して日々の糧を得る
のに精一杯ですが、回りを見回すとそういた小ネタも工夫も
せずに無駄な事をしながら忙しがっている人が多い様です。

>私は、ブラインドタッチができ、月に6000行くらい書いています。
私は、ブラインドタッチはできませんが、先週1週間で
6000ステップ程のプログラムを作りました,,,,
#既存のパッケージをベースにしてですが....仕様変更と
#大幅な機能追加をしていったら13000ステップ以上有った
#プログラムがいつのまにか6000ステップ程に....何故?
    • good
    • 0

>ただ、サヴァン症候群などのように、特定の分野において類稀な


>能力を発揮する人もいますし
他人が作った言語を覚えて使おうとするだけでも手一杯の
人間にとっては、それを作れる様な人の頭の中がどうなって
いるか想像し難いと思いますが、海外にはそれができる人が
多数いるわけです。
それらの人は全てサヴァン症候群なのでしょうか?

日本でSE, PGを目指すといえば主にVBやJava等の言語をマスター
する事のみとされ、それ以上を目指そうとする人は数少ないと
言うよりも目線が下の方ばかり見ていて全く見えていない様に
感じます。
目標自体が低いものしかなく、それで満足しているだけならば
例え上のレベルの事を垣間見たとしても、単なる都市伝説かの
如く扱うだけなのでしょう。
#日本では珍しくてもMIT辺りにいけば良く見られる光景かも?

この回答への補足

ご回答ありがとうございます。

>それらの人は全てサヴァン症候群なのでしょうか?
私の引用が悪かったです。すべてをサヴァン症候群などの類稀な能力の結果として解釈しようとしていたわけではありません。

>海外にはそれができる人が多数いるわけです。
これは、どこのソースから得た情報なのでしょうか?
わたしの「一般のプログラマは一ヶ月あたりで約3000行書くのが精一杯と言われている」というのは、「エンジニアtype 07.09号での特集では」と引用をはっきりと示しています。それなりの信用ある根拠を教えていただきたいと思います。

>日本でSE, PGを目指すといえば主にVBやJava等の言語をマスター
>する事のみとされ、それ以上を目指そうとする人は数少ないと
>言うよりも目線が下の方ばかり見ていて全く見えていない様に
>感じます。
SE,PGを目指す⇒主に、言語をマスターすることのみとされ、
というのは、何による定義なのでしょうか。
一般的なSIer企業のリクルート情報を見ても、SE,PGの募集要項には、言語をマスターしていること、よりも、例えば、コミュニケーション能力があること、顧客折衝のできる方、などを重要視しているところも多いかと思います。
また、下のほうばかりを見ている人も、いるでしょうが、中には上を見ている人もいると思います。

>目標自体が低いものしかなく、それで満足しているだけならば
>例え上のレベルの事を垣間見たとしても、単なる都市伝説かの
>如く扱うだけなのでしょう。
私の解釈が間違っていたら申し訳ないのですが、この文章からは、
”自分の及びもつかないレベルのことを垣間見た私が、そのことを都市伝説のように扱っている”、と仰っているように読めます。
そのようなつもりはまったくありません。

ただ純粋に、
「多くの専門家が絶賛するのは、登のプログラミングの正確さとスピードだ。一般のプログラマは一ヶ月あたりで約3000行書くのが精一杯と言われているのに対して、登は最高で一日一万行をこなしたこともあると話す。しかもバグが発生する確率はタイピングミスによるものが中心で、『ミスがあっても一万行に一回くらい』という。」

という、この文章について、私の経験から、尋常ではないレベルだと感じたので、そのように感じる方はどの程度いるのか、訓練しだいで誰にでも可能なレベルなのかなどについて、皆さんのご意見をいただきたかっただけです。

補足日時:2008/02/10 19:49
    • good
    • 0

単に1日のコーディング量のみに限れば、予め雛型と


なるプログラムを1本又は数本作っておいた物を数十
本にコピペすれば、完成はしていませんが行数だけは
簡単に目標クリアできます。
#コピペだけなら1~2時間もいらない(?)
後は、各プログラムで使用しないモジュールを削除
していった後、本当に個別に追加する必要が有る部分
を追加していくだけ....
#予め各プログラムで必要されるモジュールは雛型に
#盛り込んでおく事。
雛型に追加していくのではなく引算によってプログラム
を作る為には、設計時に必要なモジュールの洗い出し・
共通化を行うので無駄なモジュールを作らずに済むので
結果として工数も削減させる事ができます。
#単に1本のプログラムの事だけを考えるのではなくて
#システム全体を見る事で、個々のプログラムの作り方
#も大分変わってきます。
    • good
    • 0

一応、職業プログラマです。


レベルとしては、一般的と言われる部類に入ると思っています。

10000/1日が可能かどうかと言うことですが、設計が完了しており、ただ書くだけであれば可能だと思います。私も、書いてとりあえず動くという状態までならば、600~800/1hは大丈夫です。1日の中に試験まで含めるのであれば、話は別ですが。

> 一般のプログラマは一ヶ月あたりで約3000行書くのが精一杯

多くの専門家が何を根拠にこのように言っているのかは知りませんが、この数字は、おそらく設計、製作、試験を含めものなんじゃないでしょうかね。製作だけならば、ちょっと少なすぎます。一人でそれなりに仕事ができるエンジニアであれば、3000なんて1日で書けますよ。
これに関して少し気になるのですが、

> 私は、ブラインドタッチができ、月に6000行くらい書いています。
> 一般のプログラマは一ヶ月あたりで約3000行書くのが精一杯
> 登は最高で一日一万行をこなしたこともある

これは、本当に同じ条件なんでしょうか。
1日1万行は、おそらく書くだけの話のような気がします。
設計、製作、試験を含めて1日1万行であれば、ちょっと考えられないくらいの速さです。もちろん、設計と試験はドキュメントを作ることが前提とすれば、です。

また、『ミスがあっても一万行に一回くらい』も個人的には眉唾だと思います。もし本当であれば、仰っているようにOS以上の精度です。しかし、世界最大のMicrosoftであっても、毎月のように修正パッチをリリースしている現実を鑑みると、俄かには信じられませんね。もちろん、プログラムの難度、機能にもよりますが。機能が限定的で、難度が低ければバグは少なくなるでしょうし。

ただ、世の中には、常軌を逸した才能と言うものは確かにあると思いますので、もしかすると本当に可能なのかもしれません。
まぁ、こればっかりは、本人に確認してみないと分からないんじゃないでしょうか。


最後に、

> 常人3000行/30日 と 登氏10000行/1日。。ということは、、
> 常人300行/1日 と 登氏10000行/1日。。
> つまり約33倍の効率。

1ヶ月 = 30日ではないでしょう。出勤日は20日前後だと思います。
また、3000/30 = 100なので、30日計算だと約100倍の効率ですね。
システム開発の全工程で考えれば、一番上と一番下の技術レベル間では、効率と品質の差は100倍くらいはあると思います。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。

>10000/1日が可能かどうかと言うことですが、設計が完了しており、ただ書くだけであれば可能だと思います。私も、書いてとりあえず動くという状態までならば、600~800/1hは大丈夫です。1日の中に試験まで含めるのであれば、話は別ですが。
なるほど、です。私はまだそのレベルまでいっていないですね。境界値検査とか、フールプルーフとかを考えないで、正常なデータしかインプットされない、とした場合で「正常に」動くプログラムを書く速度は、400/1hくらいが限界です。

>設計、製作、試験を含めて1日1万行であれば、ちょっと考えられないくらいの速さです。もちろん、設計と試験はドキュメントを作ることが前提とすれば、です。
>また、『ミスがあっても一万行に一回くらい』も個人的には眉唾だと思います。
このあたりはご回答者様と同じ意見です。

ただ、サヴァン症候群などのように、特定の分野において類稀な能力を発揮する人もいますし(登氏が特別な脳である、と言っているわけではありません)、プログラミング的思考にも向き、不向きがあるでしょうから、できる人もいるかもしれませんね。

また、
>1ヶ月 = 30日ではないでしょう。出勤日は20日前後だと思います。
は仰るとおりです。ご指摘ありがとうございました。

お礼日時:2008/02/03 23:21

>登は最高で一日一万行をこなしたこともあると話す。


仮りに、完成したソースプログラムを見ながらタイプしたとすれば
どれぐらいでタイプできますか?
その事を考えれば、全く不可能とも言えない数字では無いと思い
ます。
#あくまでも「最高で」の話で、平均値ではないでしょうし...

>創造的思考をしながら知的生産物を作成していくのにあたって
PCに向かって考えながらタイプしている様ではいけません。
PCの前に向かう時には、頭の中で全ての処理が完成していて後は
タイプするだけというぐらいでないと駄目です。
#世間にはPCの前であれこれ悩む人が多い様ですが...
#全ては無理にしても、概要のイメージが頭の中にできているか
#いないかでもプログラムを作成する効率は格段の差ができます。

>無意味に処理を複雑化させたり
以前、アセンブラで同様な事をする人が書いたソースを見る機会
が有りましたが、むしろ単純なパターンの組合せで作成している
様でした。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。

>>登は最高で一日一万行をこなしたこともあると話す。
>仮りに、完成したソースプログラムを見ながらタイプしたとすれば
>どれぐらいでタイプできますか?
>その事を考えれば、全く不可能とも言えない数字では無いと思い
>ます。
うーん、可能かもしれませんが、だからといって堂々と「書くのが正確で早い」と公言するのはどうか・・と思ってしまいます。

>>創造的思考をしながら知的生産物を作成していくのにあたって
>PCに向かって考えながらタイプしている様ではいけません。
>PCの前に向かう時には、頭の中で全ての処理が完成していて後は
>タイプするだけというぐらいでないと駄目です。
私は、たとえば、四則演算はこのクラスで、偶数奇数判定はこのクラスで、それをこうして組み合わせて・・・といった感じで考えていきますが、実際に偶数奇数判定のプログラムの部分はその場で考えます。
forループで2ずつ引いていって、ゼロになったら偶数、マイナスになったら奇数 とか、 
2で割ってみて、小数点以下の余りがあるかないかをif文で判定するか とか、 
switch文を使って末尾の数字が1,3,5,7,9なら奇数と判定する とか、
私の脳では全体を俯瞰して見ることは出来ても、詳細まで俯瞰することは出来ないので、細部はどうしても”大雑把な機能のかたまり”としてしか捕らえられません。

やはり、デキる人は脳のつくりというか、感覚が違うのかもしれませんね。
プロ棋士は目隠ししても頭の中に盤があるから将棋ができるように、プログラミングに当たっても、頭の中に詳細に完成図までイメージできる人がデキる人なのかもしれません。
訓練でどこまで近づけるかはわかりませんが。。

お礼日時:2008/02/03 23:12

タイプしなくても、既存のソースなんかからコピペすれば良いのですし。


他にもマクロで半自動でプログラムを組むとか、適切に置換するとか、生産性を向上させる方法はたくさんあります。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。

>一般のプログラマは一ヶ月あたりで約3000行書くのが精一杯と言われているのに対して、登は最高で一日一万行をこなしたこともあると話す。
この文脈だと、「~に対して」を使っているので、
・一般のプログラマは一ヶ月あたりで約3000行書く
・登は最高で一日一万行を"書く"

と受け取れてしまうので、そんな超人がいるんかな・・と思った次第です。
そもそも、それだけ書いていながら、PacketiX VPN 2.0 とPacketiX Desktop VPN 以外には(実験サービスを除き)商品化されているものはなさそうなのも、どーなの?と思ってしまいます。

バグ率について調べてみたところ、世界中の人が解析し、パッチを開発しているリナックスのカーネルで、ようやく一万行に一つのバグ、だそうです。その他のソフトウェアは推して知るべし、とのこと。MySqlも1000行に一つのバグがあるそうです。

『ミスがあっても一万行に一回くらい』と自ら言う・・・。
どんだけ超人やねん・・。。

お礼日時:2008/02/03 18:34

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

今、見られている記事はコレ!

おしトピ編集部からのゆる~い質問を出題中

お題をもっとみる

このQ&Aを見た人が検索しているワード


このカテゴリの人気Q&Aランキング

おすすめ情報

カテゴリ