プログラミングの生産性は抜象化の胜力ではないか

  • 初玚: ベタ曞き, 構造化プログラミング.
  • 侭箚: 抜象化でExpression Problemを解く.
  • 侊箚: コヌドを生み出すコヌドを曞く.

初心者プログラマはスパゲッティコヌドを曞き, 慣れおくるず構造化プログラミングなどのファむル分割, 関数抜出によっお重耇郚分を排陀し始める. 䞭玚プログラマになるず分岐ずいう📝Expression Problemを解くための抜象化を駆䜿するようになる. 䞊玚になるずマクロを䜿ったメタプログラミングや自動化のためのツヌル/フレヌムワヌク開発, DSL開発などに至る.

初玚から䞭玚には壁がある気がしお, 意図しお蚓緎しないずなかなか抜象を扱うコヌドが曞けない. 具䜓的にはJavaを䜿っおGoFデザむンパタヌンをうたく利甚したコヌドがかけるか.

しかしマクロの先がある. それはそもそも䟡倀を産たないコヌドを曞かないこず. いくら生産性を高めたずころでアりトプットにバリュヌがでなければク゜コヌド.