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

提供: MonoBook
ナビゲーションに移動 検索に移動
imported>Administrator
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おじさんの主張に「[[static変数]]は使わない」「[[関数ポインタ]]を多用する」という[[コーディング規約]]を加えた「[[関数型プログラミング]]」が[[JavaScript]]界隈を中心に爆発的に流行し、その流れに乗るかたちで半ば強制する[[仕様]]の「[[関数型プログラミング言語]]」も多数登場した。
+
それからわずか数年後、staticおじさんの主張に「[[static変数]]は使わない」「[[関数ポインタ]]を多用する」という[[コーディング規約]]を加えた「[[関数型プログラミング]]」が[[JavaScript]]界隈を中心に爆発的に流行し、その流れに乗るかたちで半ば強制する[[仕様]]の「[[関数型プログラミング言語]]」も多数登場するなど一大ブームになった。
  
 
ちなみにstaticおじさんの主張と非常に酷似したものが、staticおじさんの登場より遥か昔、[[インターネット]]を支える中核技術である「[[IP]]」の[[RFC]]([[仕様書]])にも「[[階層化の有害性]]」として書かれていたりする。また、海外でも同様の主張を面白おかしく書いた「[[Bjarne Stroustrup インタビュー]]」なる怪文書が出回り、こちらも大炎上した。
 
ちなみにstaticおじさんの主張と非常に酷似したものが、staticおじさんの登場より遥か昔、[[インターネット]]を支える中核技術である「[[IP]]」の[[RFC]]([[仕様書]])にも「[[階層化の有害性]]」として書かれていたりする。また、海外でも同様の主張を面白おかしく書いた「[[Bjarne Stroustrup インタビュー]]」なる怪文書が出回り、こちらも大炎上した。
  
つまるところ、[[オブジェクト指向]]と[[関数型]]のどちらが正しいというものではなく、どちらも書き方を間違えればカオスになるということである。少なくとも「[[オブジェクト指向は愚かな考え。排便メソッドを実装した人間クラスから美少女クラスが作れない。]]」という一見するとふざけた問題を真剣に考えられない[[プログラマ]]を雇い、ある程度以上の規模の[[プログラム]]をオブジェクト指向風に書かせると高確率で[[デスマーチ]]に突入するということである。
+
つまるところ、[[オブジェクト指向]]と[[関数型]]のどちらが正しいというものではなく、どちらも書き方を間違えればカオスになるということである。少なくとも「[[オブジェクト指向は愚かな考え。排便メソッドを実装した人間クラスから美少女クラスが作れない。]]」という一見するとふざけた問題を真剣に考えられない[[プログラマ]]を雇い、ある程度以上の規模の[[プログラム]]をオブジェクト指向風に書かせると高確率で[[デスマーチ]]に突入するということだ。
 +
 
 +
基本設計をしっかりできるのであればオブジェクト指向でも問題ないし、むしろ学習コストの大きい関数型よりも効率的ではある。しかし、基本設計をしっかりできないのにオブジェクト指向を採用すると [[X Window System]]のような結末になる。
 +
 
 +
==関連項目==
  
== 関連項目==
 
 
*[[階層化の有害性]]
 
*[[階層化の有害性]]
 
*[[Bjarne Stroustrup インタビュー]]
 
*[[Bjarne Stroustrup インタビュー]]
 
*[[オブジェクト指向は愚かな考え。排便メソッドを実装した人間クラスから美少女クラスが作れない。]]
 
*[[オブジェクト指向は愚かな考え。排便メソッドを実装した人間クラスから美少女クラスが作れない。]]
  
== 参考文献 ==
+
==参考文献==
 
{{reflist}}
 
{{reflist}}
 
<references />
 
<references />

2018年11月22日 (木) 05:43時点における版

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

概要

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

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

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

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

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

関連項目

参考文献