「スパゲッティコード」の版間の差分

imported>Fallout New Tokyo
 
(3人の利用者による、間の7版が非表示)
6行目: 6行目:
== 主な原因 ==
== 主な原因 ==
=== 中級者病 ===
=== 中級者病 ===
初級者から中級者という時期は、ほぼ何でも読める程度に[[プログラミング言語]]に精通し、または偉い[[プログラマー]]の提唱した[[デザインパターン]]も一通り理解したくらいである。
[[中級者病]]とは、初級者から中級者へ昇格する時期はほぼどのような[[ソースコード]]でも読める程度に[[プログラミング言語]]に精通し、また偉い[[プログラマー]]の提唱した[[デザインパターン]]も一通り理解したくらいである。
すると、[[プログラミング言語]]の持つあらゆる機能と、偉い[[プログラマー]]の提唱するあらゆる技術を使わねばならないという思い込みが発生する。
すると、[[プログラミング言語]]の持つあらゆる機能と、偉い[[プログラマー]]の提唱するあらゆる技術を使わねばならないという思い込みが発生する。
そして[[Hello World]]にまで崇高な[[オブジェクト指向]]や[[デザインパターン]]を適用しようとしだすのである。
そして[[Hello World]]にまで崇高な[[オブジェクト指向]]や[[デザインパターン]]を適用しようとしだすのである。
26行目: 26行目:
[[緊急避難]]のスパゲッティコードである。
[[緊急避難]]のスパゲッティコードである。


=== オブジェクト指向 ==
=== オブジェクト指向 ===
[[オブジェクト指向]]では絡み合う[[クラス]]のすべての[[メンバー変数]]の状態を完全に把握していないとスパゲッティコードが生まれる。
[[オブジェクト指向]]では絡み合う[[クラス]]のすべての[[メンバー変数]]の状態を完全に把握していないとスパゲッティコードが生まれる。
つまり[[オブジェクト指向]]は愚かな考えである。
つまり[[オブジェクト指向]]は愚かな考えである。
34行目: 34行目:


実は[[オブジェクト指向]]の提唱者である[[アラン・ケイ]]も古くから同様の主張をしている。
実は[[オブジェクト指向]]の提唱者である[[アラン・ケイ]]も古くから同様の主張をしている。
それでもオブジェクト指向を作った理由を「関数型プログラミング言語は素晴らしいが難しすぎる」だという。
それでもオブジェクト指向を作った理由を「関数型プログラミング言語は素晴らしいが難しすぎる」のだという。


[[LISP]]は理想的だが、使いこなせるのは一握りであり、実質的に価値がない。
[[LISP]]は理想的だが、使いこなせるのは一握りであり、実質的に価値がない。
46行目: 46行目:


== 関連項目 ==
== 関連項目 ==
* [[中級者病]]
* [[ペアプログラミング]]
* [[ペアプログラミング]]
* [[不完全にしておよそ正しくないプログラミング言語小史]]
* [[不完全にしておよそ正しくないプログラミング言語小史]]
52行目: 53行目:
{{reflist}}
{{reflist}}


{{stub}}
[[category: プログラミング]]