「Staticおじさん」の版間の差分

提供: MonoBook
ナビゲーションに移動 検索に移動
imported>Administrator
(ページの作成:「'''staticおじさん'''とは、2010年に@ITに「実はオブジェクト指向ってしっくりこないんです!<ref>http://el.jibun.atmarkit.co.jp/minagawa/2010...」)
 
 
(4人の利用者による、間の13版が非表示)
1行目: 1行目:
'''staticおじさん'''とは、2010年に@ITに「実はオブジェクト指向ってしっくりこないんです!<ref>http://el.jibun.atmarkit.co.jp/minagawa/2010/04/post-ebc4.html</ref>」と投稿して炎上したおじさんのことである。
+
{{小文字}}
 +
'''staticおじさん'''(読み:すたてぃっくおじさん)とは、2010年に@ITに「実は[[オブジェクト指向]]ってしっくりこないんです!<ref>http://el.jibun.atmarkit.co.jp/minagawa/2010/04/post-ebc4.html</ref>」と投稿して炎上したおじさんのことである。
  
2010年ごろは[[IT土方]]界隈では[[Java]]を中心とした[[オブジェクト指向]]が主流の時代であり、なんでもかんでもオブジェクト指向という風潮があった。このためstaticおじさんはボロクソに叩かれる結果となり、さらには[[プログラミング]]そのものの話を飛び出して[[オブジェクト指向]]推進派による学歴差別などに発展、無事[[炎上]]した。
+
==概要==
 +
staticおじさんが爆誕した2010年ごろの[[IT土方]]界隈では[[Java]]を中心とした[[オブジェクト指向]]が主流であり「なんでもかんでもオブジェクト指向」という風潮があった。このためstaticおじさんは多勢に無勢でボロクソに叩かれる結果となり、さらには[[プログラミング]]そのものの話を飛び出して[[オブジェクト指向]]推進派による学歴差別などに発展したすえに無事[[炎上]]した。
  
その数年後、staticおじさんの主張に「[[staitc変数]]は使わない」「[[関数ポインタ]]を多用する」という[[コーディング規約]]を加えた「[[関数型プログラミング]]」、およびそれを半ば強制する[[仕様]]の「[[関数型プログラミング言語]]」が世界的に大流行した。
+
それからわずか数年後、staticおじさんの主張に「[[グローバル変数]]は使わない」「[[関数ポインタ]]を多用する」という[[コーディング規約]]を加えた「[[関数型プログラミング]]」が[[JavaScript]]界隈を中心に爆発的に流行し、その流れに乗るかたちでこれら規約を半ば強制する[[仕様]]の「[[関数型プログラミング言語]]」も多数登場するなど世界的に一大ブームになった。
  
 
ちなみにstaticおじさんの主張と非常に酷似したものが、staticおじさんの登場より遥か昔、[[インターネット]]を支える中核技術である「[[IP]]」の[[RFC]]([[仕様書]])にも「[[階層化の有害性]]」として書かれていたりする。また、海外でも同様の主張を面白おかしく書いた「[[Bjarne Stroustrup インタビュー]]」なる怪文書が出回り、こちらも大炎上した。
 
ちなみにstaticおじさんの主張と非常に酷似したものが、staticおじさんの登場より遥か昔、[[インターネット]]を支える中核技術である「[[IP]]」の[[RFC]]([[仕様書]])にも「[[階層化の有害性]]」として書かれていたりする。また、海外でも同様の主張を面白おかしく書いた「[[Bjarne Stroustrup インタビュー]]」なる怪文書が出回り、こちらも大炎上した。
  
つまるところ、[[オブジェクト指向]]と[[関数型]]のどちらが正しいというものではなく、どちらも書き方を間違えればカオスになるということである。少なくとも「[[オブジェクト指向は愚かな考え。排便メソッドを実装した人間クラスから美少女クラスが作れない。]]」という一見するとふざけた問題を真剣に考えられない[[プログラマ]]を雇い、ある程度以上の規模の[[プログラム]]をオブジェクト指向風に書かせると高確率で[[デスマーチ]]に突入するということである。
+
==総論==
== 関連項目==
+
つまるところ、[[オブジェクト指向]]と[[関数型]]のどちらが正しいというものではなく、どちらも書き方を間違えればカオスになるということである。
 +
 
 +
少なくとも「[[オブジェクト指向は愚かな考え。排便メソッドを実装した人間クラスから美少女クラスが作れない。]]」という一見するとふざけた問題を真剣に考えられない[[プログラマ]]を雇い、ある程度以上の規模の[[プログラム]]をオブジェクト指向風に書かせると高確率で[[デスマーチ]]に突入するということだ。
 +
 
 +
基本設計をしっかりできるのであればオブジェクト指向でも問題ないし、むしろ学習コストの大きい関数型よりも効率的ではある。しかし、基本設計をまともにできない状態でオブジェクト指向を採用すると [[X Window System]]のような結末になる。
 +
 
 +
なにより一番恐ろしいのは「わたしは設計できる」と過信していることである。本当に設計できるかを確かめる意味でも「[[オブジェクト指向は愚かな考え。排便メソッドを実装した人間クラスから美少女クラスが作れない。]]」というふざけた問題をもう一度真剣に考えてみよう。
 +
 
 +
==関連項目==
 +
 
 
*[[階層化の有害性]]
 
*[[階層化の有害性]]
 
*[[Bjarne Stroustrup インタビュー]]
 
*[[Bjarne Stroustrup インタビュー]]
 
*[[オブジェクト指向は愚かな考え。排便メソッドを実装した人間クラスから美少女クラスが作れない。]]
 
*[[オブジェクト指向は愚かな考え。排便メソッドを実装した人間クラスから美少女クラスが作れない。]]
 +
 +
==参考文献==
 +
{{reflist}}
 +
 +
[[category: プログラミング]]

2024年3月13日 (水) 01:22時点における最新版

staticおじさん(読み:すたてぃっくおじさん)とは、2010年に@ITに「実はオブジェクト指向ってしっくりこないんです![1]」と投稿して炎上したおじさんのことである。

概要[編集 | ソースを編集]

staticおじさんが爆誕した2010年ごろのIT土方界隈ではJavaを中心としたオブジェクト指向が主流であり「なんでもかんでもオブジェクト指向」という風潮があった。このためstaticおじさんは多勢に無勢でボロクソに叩かれる結果となり、さらにはプログラミングそのものの話を飛び出してオブジェクト指向推進派による学歴差別などに発展したすえに無事炎上した。

それからわずか数年後、staticおじさんの主張に「グローバル変数は使わない」「関数ポインタを多用する」というコーディング規約を加えた「関数型プログラミング」がJavaScript界隈を中心に爆発的に流行し、その流れに乗るかたちでこれら規約を半ば強制する仕様の「関数型プログラミング言語」も多数登場するなど世界的に一大ブームになった。

ちなみにstaticおじさんの主張と非常に酷似したものが、staticおじさんの登場より遥か昔、インターネットを支える中核技術である「IP」のRFC仕様書)にも「階層化の有害性」として書かれていたりする。また、海外でも同様の主張を面白おかしく書いた「Bjarne Stroustrup インタビュー」なる怪文書が出回り、こちらも大炎上した。

総論[編集 | ソースを編集]

つまるところ、オブジェクト指向関数型のどちらが正しいというものではなく、どちらも書き方を間違えればカオスになるということである。

少なくとも「オブジェクト指向は愚かな考え。排便メソッドを実装した人間クラスから美少女クラスが作れない。」という一見するとふざけた問題を真剣に考えられないプログラマを雇い、ある程度以上の規模のプログラムをオブジェクト指向風に書かせると高確率でデスマーチに突入するということだ。

基本設計をしっかりできるのであればオブジェクト指向でも問題ないし、むしろ学習コストの大きい関数型よりも効率的ではある。しかし、基本設計をまともにできない状態でオブジェクト指向を採用すると X Window Systemのような結末になる。

なにより一番恐ろしいのは「わたしは設計できる」と過信していることである。本当に設計できるかを確かめる意味でも「オブジェクト指向は愚かな考え。排便メソッドを実装した人間クラスから美少女クラスが作れない。」というふざけた問題をもう一度真剣に考えてみよう。

関連項目[編集 | ソースを編集]

参考文献[編集 | ソースを編集]