タグ

2023年2月9日のブックマーク (1件)

  • なぜmapやreduceやfilterなのか〜前編|こわくない関数型プログラミング

    のように、式を変形してから代入するというテクニックが使えます。 もちろんこの式変形はxとyがどんな実数のときでも成り立ち、特定の値だとうまく行かない、なんてバグはありません。 割り算を含むような式では、「0で割るのは未定義」といったアサーション条件もきっちり定義されています。 数学で習ったたくさんの式たちは、どれをどう組み合わせてもバグがないのです。 プログラミングをしていて、たくさん作ったクラスやメソッドのどれをどう組み合わせてもバグがない状態なんて、ちょっと考えられませんよね。 バグの少ないプログラムを書きたい こんなことを考えてみましょう。 バグのない関数の組み合わせだけで全部の処理が書けるだろうか? 「関数の組み合わせ」と言うのは、 関数Aの返り値を関数Bの引数として渡す という意味です。四則演算もれっきとした関数です。Scalaなんかでは"+"とか"-"もちゃんと標準ライブラリの

    なぜmapやreduceやfilterなのか〜前編|こわくない関数型プログラミング
    nemoba
    nemoba 2023/02/09
    バグって論理的なミスと副作用による不具合があって、分かりやすくするために混同した結果わからなくなってるような。手続き言語で2行書いたら終わりなんだよーぐらい分からせればよいんじゃないかなー