タグ

副作用に関するtokumagaのブックマーク (2)

  • 現代のオブジェクト指向の class の割れ窓化と宣言的プログラミング

    オブジェクト指向には、カメラがやっとついたころのガラケーのイメージがある - きしだの Hatena の件。基的には同意。ただちょっと切り口が違うので自分の意見を言っておく。ただ、このテーマで何度か書こうとして失敗していて、今回も成功しているとはいえない。 宣言的プログラミングの時代 現代の主流は「宣言的プログラミング」であると思っている。これはリソースの宣言と、その状態遷移の手続きや振る舞いの付与が中心にある。 宣言型プログラミング - Wikipedia その代表的な例がフロントエンドReact と、バックエンドの k8s で、どちらも時系列に基づいた状態の宣言と、フレームワーク側による状態遷移処理、 Reconcillation(調停) が基礎にある。 フロントエンドとバックエンドという両極端な世界で、この変化が起きたのがこの時代を反映したものであると思う。 例えば、jQuer

    現代のオブジェクト指向の class の割れ窓化と宣言的プログラミング
  • プログラミングで副作用と状態ってなに? | 民主主義に乾杯

    # 1. 副作用とは 「副作用」とは、関数またはメソッドを実行した時に、オブジェクトの属性が変化することを指しています。 例えば Python の list.sort は、副作用のあるメソッドです。 反対に sorted は、副作用のない関数です。 # # 副作用あり # lst1 = [1, 0, 3, 2] lst1.sort() lst1 # [0, 1, 2, 3] -> オブジェクトが変化したので副作用がある # # 副作用なし # lst2 = [1, 0, 3, 2] lst3 = sorted(lst2) lst2 # [1, 0, 3, 2] -> オブジェクトは変化していないので副作用はない lst3 # [0, 1, 2, 3] プログラミングにおける副作用(ふくさよう)とは、ある機能がコンピュータの(論理的な)状態を変化させ、 それ以降で得られる結果に影響を与えるこ

  • 1