1read 100read
2013年02月プログラマー125: まつもとゆきひろ「コードとは設計である」 (420) TOP カテ一覧 スレ一覧 2ch元 削除依頼
Java、Android開発の職業訓練について (899)
ビルゲイツ「」←何言わせても勝ち組 (702)
■自宅待機プログラマが自宅から集うスレ 6ヶ月目■ (509)
週間マガジン連載中のBLOODY MONDAYって (534)
日立製作所の脱法行為をやめさせよう! (709)
【未踏IT】未踏ソフトウェア28【IPA岡田】 (621)

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


1 :2012/11/30 〜 最終レス :2013/02/07
「ソフトウェアは工業製品ではない」、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元 削除依頼
偽装派遣は法律違反だ (813)
Sun認定Java資格 実用情報 2 【SJC-WC用】 (428)
職場でRー 3ヌキ目 (691)
給料比較 公務員>SE>プログラマー (922)
世間は社会保険庁を叩くけど・・・ (349)
輝け!バカ会社ベスト10 (471)
--log9.info------------------
【爆発】ドルアーガの塔 運営開発への文句スレ (574)
The Tower of AION チャントスレ Part29 (304)
Le Ciel Bleu ル・シエル・ブルー Part322 (863)
【DAoC】Dark Age of Camelot(E) 46章 (604)
TERA -The Exiled Realm of Arborea- Part886 (1001)
● mabinogi -マビノギ- 本スレ案内所8th ● (645)
☆☆ Everquest ☆☆ Lv46 (301)
EVE Online 第壱百九艦隊 (1001)
MapleStory Part1634 (1001)
真・女神転生IMAGINE悪魔350万円FX勧誘悪徳CAVE779 (518)
ネコと勇者(クロニア)【くろネコONLINE改】part62 (861)
Lineage雑談総合スレッド Part164 (377)
コンチェルトゲートフォルテ Part495 (1001)
大航海時代Online船大工スレ 37往復目 (877)
大航海時代Online Boreas 鯖 (207)
Grand Fantasia -精霊物語- 第188楽章 (316)
--log55.com------------------
梅津 弥英子vol.83(^−^・)怪獣とポコ
【ゴゴスマ】皆藤愛子☆212【窓Cafe】
【テレ朝】林美沙希part30【JチャンMC麻雀LOVE】
椎名林檎(生)林檎博'18-不惑の余裕-Part10
【―不惑の余】児玉裕一専用スレ Part2【裕―】
自由へ道連れのCD発売させる為の署名スレ
■黒猫堂■□SR猫柳本線86■林檎班■
三毒史 part8