タグ

関数型とオブジェクト指向に関するd_animal141のブックマーク (1)

  • オブジェクト指向と関数型で副作用の扱いが違うって知ってた?(2021年版) - セカイノカタチ

    (2021/2/23 加筆訂正。文章を見直して現在の結論を追記しました。文意は変わっていません) 最近、オブジェクト指向と関数型を比べる人が多くなってきたみたいなんで、自分の考えをまとめてみます。 まず、件ですが、壮大なテーマだと思いますので、全体を網羅して書くのは難しいです。 なので、主眼を絞ります。 主眼は、ズバリ「副作用」です。 副作用とは、薬なんかだとその薬が目的とする「作用」に付随してくる好ましくない「作用」の事を指します。 例えば、風邪薬を飲むと「眠くなる」とか、タミフルを飲むと「ベランダから飛び降りたくなる」*1。 副作用によって、プログラム全体の動作が複雑になり、わかりにくくなるため、最近のプログラマー達の議論では「副作用は悪」であるということでコンセンサスが取れているようです。 関数型言語と副作用の戦い 関数型言語における、対副作用兵器は「参照透明性」です。 関数から、

    オブジェクト指向と関数型で副作用の扱いが違うって知ってた?(2021年版) - セカイノカタチ
  • 1