1read 100read
2013年17プログラマー26: まつもとゆきひろ「コードとは設計である」 (486) TOP カテ一覧 スレ一覧 2ch元 削除依頼
お世話になった本 (125)
スーパーSEイムジンリバーが降臨するスレ (392)
Androidアプリ 個人開発者の雑談スレ3 (891)
プログラマのオナペット*3* (202)
IT用語に(笑)を付けてみるスレ (337)
新人研修についていけない新人 (113)

まつもとゆきひろ「コードとは設計である」


1 :2012/11/30 〜 最終レス :2013/09/24
「ソフトウェアは工業製品ではない」、Rubyのまつもと氏が講演
http://www.atmarkit.co.jp/news/200904/10/matz.html
コードとは設計である
 「ビューティフルコード」と題した基調講演を行ったまつもと氏は、
2007年に共著者の1人として出版した同名の書籍に書いたエッセイに
込めた思いを、次のように語る。
 「世界に冠たる日本の製造業のノウハウを適用することで生産性を
上げることができるに違いないという発想がありますが、
ソフトウェアは工業製品ではない。そうした誤解を正していきたい」。
 コード(ソフトウェア)を書くというのは、組み立てのことではなく
製造業でいう「設計」に相当するという。
 「クルマを作るときに、まず形や強度の設計をしますよね。
それこそがソフトウェア作りです。ソフトウェア作りは、
最初から最後まで工業製品でいう設計に当たるんです」。

2 :
馬鹿には無理

3 :
【衆院選】声優の平野綾さんが千葉4区から出馬へ
http://ikura.2ch.net/test/read.cgi/nissin/1285228112/

4 :
>>1
コーディングが設計www
Web屋さんって全体の構成とか設計してから作らないの?

5 :
>>4
うわぁwww

6 :
さすがにコードが設計というのは無理あるだろ

7 :
the source code is a design document and that the construction phase is actually the use of the compiler and linker.

8 :
世界的には「コードが設計」というのは常識。
日本のヒト売りSIerだけが、人月計算でライン工のように誤解してるだけ。
そういう「製造工程」は、コンパイラやリンカなど、コンピュータ自身がやってくれる。
単純な「製造」ライン工は不要。

9 :
コーディングが設計じゃないなら、
必要な全てが記述された設計書が存在して、
コーディングはその設計書を翻訳してるだけなんだよね?
素朴な疑問なんだけど、なんでその設計書を直接コンパイルしないの?

10 :
SIer(笑)
上流工程専門(笑)
こいつらには理解出来ないよ。
理解する頭がない。
すぐに無くなる会社だから気にしなくていい。

11 :
>>9
> 素朴な疑問なんだけど、なんでその設計書を直接コンパイルしないの?
人間使った方が安いから。

12 :
>>11
わざわざ翻訳するくらいなら、最初からコンパイル出来る言語で書いた方が安いよ。
え?プログラミング言語で書けない無能はどうすればいいって?
仕事辞めたら良いんじゃないかな。

13 :
わざわざコーディングしてる時間なんて無いんだよ。
人件費の無駄遣いだしね。

14 :
無能を雇ってる方が人件費の無駄遣いだし、
事実、無能を抱えたSIerは死に体になってる

15 :
SIerはそういう商売なんだから仕方ない。
「技術力に自信があるんなら、SI業界じゃなくてGoogleなどにいけ」
ってSI業界のトップも言ってるしね。
とうぜん、SIerの下請けPGなんて論外だからね。

16 :
まず、ソフトウェアにコストがかかっている部分のことを
製造と呼ぶのか? と考えてみればいい。

17 :
Windowsの”製造”工程といったら開発終了したWindowsを
DVDに焼いてパッケージングする工程のことだよな。
だから少なくともそれまでの作業は製造ではないな。

18 :
DVDは知らんが、CDをプレスするコストなんて小ロットですら1枚当たり2,3円だったな。
日本のSIerなんて、(自称)上流工程に逝く程、技術力が無い。
SE=プログラミングの出来ないPG
コン猿=フローチャートすら書けないパワポ紙芝居師
お前のことだよ! >>ミカカDATA

19 :
>>18
だから、技術力無くて問題ないんだって。
技術力が無いのが嫌だっていうんなら、SIなんかやめろよ。

20 :
なにそれ?下書きってことか?

21 :
>>19
SI業界まるごと傾いてるんだから、問題あったってことだろ > 技術力無し

22 :
Matzもプログラマに媚売るためにこんなこと言ってるだけ

23 :
>>21
もしかして、技術力があれば傾かなかったと思ってる?

24 :
不況になって仕事が減っても、元請けに技術がないから
下請けをバッサリ切り捨てられない
下請けがやってる行程を元請け側では行えないから
もう下請けへの単価も限界まで減ってるし、あとは
余りまくってる単価の高い上流行程専門のリストラしかない

25 :
変化に強い会社の設計も出来ないのだから、技術力はないだろうな。

26 :
うぇぶ(笑)っていつも偉そうだよなw
社会の底辺らしく負け犬の遠吠えってかw

27 :
負け犬の遠吠えの例 ↑

28 :
SI業界の下請が、元請けより技術力があるとか言ってても虚しいだけだろ。
技術力あるんなら、自分で製品なりサービスなり作って売ればいいのに。

29 :
> SI業界の下請が、元請けより技術力があるとか言ってても虚しいだけだろ。
意味分かんないw
だいたい下請ってのは、自分よりも技術力があるから仕事を発注するんだよ?
たとえば、俺が印刷会社に仕事発注すること考えてみ。
確実に印刷会社のほうが俺より印刷技術がある。
むしろ、印刷会社よりも俺のほうが技術あるとか思ってるほうが
無知のうぬぼれってやつだろう。

30 :
>>28
世の中の下請け構造の問題を知らんのか
大手が仕事を請けて下に丸投げしてんだろ
最上流はどうかしらんが、中間業者はアホばっかりだぞ

31 :
最近、上流行程できます(笑)な人達が
Web業界に押し寄せて来てるけど、みな門前払い
そのせいか、最近>>26系の書き込みをよく見るようになった

32 :
Web 系が偉そうってのは良くわからない。
誰でも簡単に覚えられる仕事で、一山いくらのドカタが安い賃金で黒々と働かされている業界だろう?

33 :
GoogleがWeb系といえば理解できるか?

34 :
Web系って自分たちがGoogleの仲間だと思ってたのかw
どんな論文出してるのか言ってみてよ。

35 :
言い出しっぺが先にだしな

36 :
>>34ってなんのために匿名掲示板使ってると思ってるんだろw
個人を特定されないようにしてるのに
個人が特定されるようなことするわけないだろ。
そんな簡単なこともわからないのか。馬鹿だなー。やっぱり馬鹿だなーw

37 :
ここはGoogleがハード設計からやってることを知らない底辺Webの巣窟
ハードも知らないWeb屋=メーカー以下のど底辺
それなのにGoogle様と自分を同一視してる虚しい生き物、それがうぇぶ(笑)

38 :
↑こんなスレで自己紹介している哀れな人

39 :
なんで俺がWeb屋だってばれたんだ…

40 :
何屋かでレベルを見分けられるなんて、よっぽど能力高いんだろうな。
俺には出来ないや。

41 :
単価で大体分かるでしょ。

42 :
ただ単価書いてないけどねw
オレの目には普通の見えないモノが見えるんだ!
(中二病患者)

43 :
お前のことなんか誰も気にしてないから。

44 :
なるへそ。
技術力が高いからではなく、単価が安いから下請に丸投げピンハネしてるだけか。

45 :
無差別にroot奪取を推奨するのはやめろよ

46 :
SKEのまつりなも語るべきだ

47 :
ttps://twitter.com/yukihiro_matz/status/279802518341550080
右傾化してる自民党だけには投票できない。与党のうちはそれでも安定運営してるように見えたのに、下野したら極端化した。
ttps://twitter.com/yukihiro_matz/status/279802899121455104
外交上の不利益を無視して隣国をシナって呼ぶところもなあ。

48 :
売国プログラマーならRubyだな

49 :
宗教上の理由でモルモン教徒の言うことは一切聞かないことにしてます

50 :
>49
斉藤由貴も駄目なのか?

51 :
>>47
chinaはシナと呼ぶべきだと前から思っていたけどなあ。
中国だと、岡山や広島を思い浮かべてしまう。

52 :
Rubyでネトウヨサービス作ってMatzに見せてみようぜ

53 :
立候補すれば島根知事になれるだろうな
売国政策やりまくるんだろうか

54 :
まぁ、コンパイルを製造というならコーディングは設計なのかもしれない。

55 :
Rubyのばあいは製造しないんだな。

56 :
実行時に製造してるよ。

57 :
中共が支那と呼ぶことに抗議したなんて話はきいたことがない
どんだけ自虐史観に洗脳されてんだこいつは

58 :
>>56
つまり、プログラマは製造機を製造してるわけだ。

59 :
>>58
してないよ。
製造機はすでにできていて、
プログラマは設計を作る。設計を入れたら
そしたら製造機(インタプリタ)が実行時に製造してくれる。

60 :
インタプリタくらい理解して使ってくれよな。

61 :
ソースコード = 設計書
インタプリタ・コンパイラ = 製造機
ってことか。

62 :
インタプリタは何を製造するんだ?

63 :
そりゃ実行コードだろw
メモリの中にネイティブの実行コードが
生成されているからこそ
ソースコードは実行できるわけで
繰り返すけど、インタプリタぐらい理解してくれよ。

64 :
インタプリタ作ったこともない奴 >>63

65 :
>>64
えと、Rubyの話だよな?

66 :
インタプリタだって言ったのは誰だっけ?

67 :
Rubyはインタプリタだぞ

68 :
Rubyはスクリプトだが?

69 :
スクリプトでインタプリタだろ。こいつ馬鹿か?

70 :
どっちみち「コードは設計」とかいっちゃう馬鹿とは仕事したくないわな

71 :
【死刑】馬鹿にプログラムを書かせるな! その1【処刑】
名前: 仕様書無しさん
E-mail: sage
内容:
デバッグ・派生開発などまわりの全てが不幸になる
馬鹿プログラマのコーディング業務を禁止する法律を作るべき!
スレ立てられなかった
だれか建ててくれ

72 :
>>51
国語辞典でも、中国とはまず中国地方のことだと書いてあるよね

73 :
>>70
> どっちみち「コードは設計」とかいっちゃう馬鹿とは仕事したくないわな
正確に言えば、コードは設計書。
プログラミングが設計。
コーディングは、code+ing というスペルの通り
設計書を書く行為のことですね。

74 :
こんなC#, C♯, C#ライブラリ無いですか?
http://toro.2ch.net/test/read.cgi/tech/1342672311/

75 :
javaみたいに名前空間とファイルシステムが連動してればお目当てのソースを
見つけやすいが、rubyを含め1つのファイルにアレもこれも入れれる言語だと
お目当てのソースを見つけるだけでも疲れる。
javaの1ファイル1クラスは窮屈だけど、見つけやすい。javadocみたいなのも
標準で入ってるのは強みだし。
ソースは設計書とか言う割にはそういう部分が弱すぎるんだよな > ruby

76 :
おjava様は馬鹿を言う

77 :
設計じゃなくて証明じゃなかった?

78 :
>>75
まず、RubyにはRDocという(javadocに相当する)自動文書化ツールが「標準」で入ってるから、
あるクラスがどこで定義されているかを探す目的くらいであれば、まったく問題無いはず
あるいは、RDoc(あるいはjavadoc)では不十分で、コード全体の名前空間やクラス継承の構造を
俯瞰したい(=大まかに理解したい)というのであれば、以下のようなツールも利用できる
・TmDoc - Rubyソフトウェアの保守ドキュメントを作成
 http://www.h6.dion.ne.jp/~machan/tmdoc/index-ja.html
出力文書のサンプルもあるので、目を通してみてくれ

79 :
>>78
> まず、RubyにはRDocという(javadocに相当する)自動文書化ツールが「標準」で入ってるから、
> あるクラスがどこで定義されているかを探す目的くらいであれば、まったく問題無いはず
それはRDocが用意されているものに限るな。
RDocが用意されてないライブラリなんてあるのかよ?と思うのであれば
実践経験に乏しいとしか思えない。
RDocが用意されてないのは昔自社の誰かが作ったコードだよ。
もちろん自分が作ったコードの場合もあるが。

80 :
工学として考えるとプログラミングは設計そのものなんだけど
商習慣としてはプログラミングが製造工程なんだよな。

81 :
我らがSE様がおっしゃられました。
「さっさとソース製造しろよクソPGどもめ」

82 :
>>79
RDocは(javadocとは違って)簡素なRubyの構文解析処理をしているから、
たとえパッケージ化されずRDoc向けコメント化すらされていない
過去の「自社の誰かが作ったコード」や「自分が作ったコード」であっても、
コードが配置されているディレクトリへ移動(cd)してrdocコマンドを実行すれば、
モジュール/クラス(名前空間)やメソッドの一覧を自動抽出してHTML文書を生成できる
だから、>>75の「rubyを含め1つのファイルにアレもこれも入れれる言語だと
お目当てのソースを見つけるだけでも疲れる」という指摘は意味不明というのが>>78の主旨
結論として、プログラマに1ファイルに1クラスしか書けないという制約を負わせ、
しかも「標準」では(javadocのような)貧弱な文書化ツールしか提供されていない言語と
比較すれば、Rubyは「ソースは設計書」と言うにふさわしい適性があるのではないかと....
もしもRubyをdisりたいのであれば、別の視点で攻めるのがいいと思われ

83 :
>>82
べつにRubyはやったことないけど、ソースはあくまで結果(最終はもちろん実行ファイルだが存在としてはイコール)
であるとも考えられるじゃない。
設計とは結果を導くための道標と位置づけであるからして、別物である、と
いうこともできる。
結局、個人の位置づけでいかようにも捉えられるのではないだろうか。

あ、あけましておめでとうございます。

84 :
>>82
例えばjavaだと「net.2ch.kohada.prog.スレ名」というクラスがあったとしたら、
「net/2ch/kohada/prog/スレ名.java」というファイルにプログラムが記述
されているという言語的な制約とそういう名前を付けるという習慣がある。
どこか別のソース、例えば「net.2ch.toro.tech.スレ名」というソースで
使っていて、探そうとした場合に自社ソースだったら割りと簡単に追える。
別にjavadocで出力してなくてもだ。 まあ、rubyに限らずjava以外の言語で
こういう制約を付けている言語はなかったとは思うけどね。 そもそもRDocで
出力しなければ分からないという時点ですでに劣っている。 構文解析云々と
いうなら、javadocもコメント無しのやつは出力されるし。
少人数の開発ならjavaのああいう制約は鬱陶しくて面倒だけど、ある程度以上の
規模の開発や人の入れ替わりが激しい開発なんかだと便利なんだよね。
Railsでも言ってるでしょ、設定より規約ってね。

85 :
Javaはディレクトリ深すぎ。

86 :
じゃばばんばぁだからね

87 :
>>1
こりゃダメだわ。バカだったのか。

88 :
実装手段によらない部分を設計っつーんじゃなかったのか

89 :
>>88
たとえばアルゴリズムを考えれば設計がなにかわかると思う。
名前の無い新しい検索アルゴリズム。
その手順を日本語で書く。
まさにアルゴリズム=実装手段によらない部分=設計だね。
その手順を日本語ではないプログラム言語で書いたからって
やっぱりアルゴリズム自体は設計なんだ。
実装手段によらない設計を頭で考える。考えただけでは形にならない。
その設計を曖昧な日本語で書くか、曖昧さのないプログラム言語で書くかそれだけの違い。
考えたもの=設計、それを書いたコード=設計書なんだよ。

90 :
だから行き当たりばったりのコードが量産されるのか。

91 :
コードを書くという行為が設計書を書く行為だと知らずに、簡単なものだと考え、
下っ端にやらせるから、行き当たりばったりのコード(設計書)ができあがる。
優秀なアーキテクトを雇うなりして、そのアーキテクトの設計書(コード)を
手本として、みんなで設計力をつけていけば、まともなコードを書けるようになる。
コードが設計書だと理解していないところは、たいがいエクセルかなんかで書いた
曖昧な日本語を元(それを設計書だと言いはって)に、各自ばらばらかってに
実装(実際は設計)してくれなんてやるからめちゃくちゃになる。
各自ばらばらに設計して統一されたものが出来るわけがない。

92 :
> 優秀なアーキテクトを雇うなりして、そのアーキテクトの設計書(コード)を
> 手本として、みんなで設計力をつけていけば、まともなコードを書けるようになる。
うちはそれやって、自発的に設計書を書くようになりました。

93 :
はい、設計書=コードなので当然ですね。

94 :
言葉遊びをしたいんなら一人でやっててね。

95 :
スレタイ読んでね。
コード以外に曖昧さのない
設計書は存在しないから。

96 :
コードは結果(体現)であり設計は結果を導くために考案した式、故にコードを設計とみてもおかしかないが
それだと「なぜそのその手法を選択したのか?」という問いに答えることはできない
結果だけでは伝える能力は半減するのだ
定石ならまだしも、専門的なものについてはコードだけでは足りないものがある、故に俺はコード=設計には
異論の側面はあるとみる
あと、別の観点では顧客に説明するときにコード見せるなんてことはまずあり得ない(Javadocの類でさえも)

97 :
そも、特定の言語や環境を挙げて議論するならその旨を前提条件として設けるべきだな
例えばWeb屋ならどうだ、とかね(業界でもいいけど)

98 :
>>96
> それだと「なぜそのその手法を選択したのか?」という問いに答えることはできない
それはコメントに書くんだよ。

99 :
COBOLではソースコードと実際に走ってるモノは違うのが当たり前だったりしなかったけか?
提出されたコードは全て水増しされたダミー

100read 1read
1read 100read
TOP カテ一覧 スレ一覧 2ch元 削除依頼
この会社辞めたくなった社長の一言 0x01 (822)
山口県宇部市在住プログラマー限定スレ (407)
長門有希が質問に答えるスレ (395)
遠隔操作ウイルスで警察が学んだ事 〜 情報は捏造できる (392)
日本信号のプログラム書いた奴ちょっと出てこい (784)
仕様書をExcelで書くなというPGは無能 (286)
--log9.info------------------
思い出を語り復活を願う静岡県高校野球part111 (817)
栃木県の高校野球について語るスレpart126 (473)
岩手県勢がいつまで経っても弱小な理由 Part3 (356)
【前橋育英】高橋光成【群馬のダルビッシュ】 (155)
岩手県が完全に高校野球ファンに嫌われてしまった件 (208)
永久に優勝できなさそうな岩手県 Part3 (443)
【弱小県】岩手富山鳥取を応援しよう【三弱】 (972)
【監督】富山商業高校応援スレ【代えろ】 (330)
岩手野球に対する率直な印象を書いていくスレ (327)
三重県の高校野球 背番号100 (892)
【センバツ】21世紀枠について考える【13年目】 (268)
1970年代の高校野球を語ろう18 (703)
【全国最強】宮城県立佐沼高校【大阪桐蔭は雑魚!】 (110)
如水館野球部10 (806)
甲子園に復活出場してほしい高校(を語る)part8 (124)
東京農大二高野球部応援スレ Vol.4 (678)
--log55.com------------------
【ガルネリウス】GALNERYUS 109【2020.1.1】
2020年代でメタルは終わる
45歳くらいの熟女でいいからセックスしたい!!!6
CANTA(LUKE/雷電/MASAKI)48 ワッチョイなし
【JAPAN TOUR】BAND-MAID 43 【激動】【進化】
ジェイラップ(笑)part21
森田由乃
2010年代の名曲を決めようぜ