この章では、命令プログラミングと関数プログラミングのパラダイムの違いを理解するために、簡単な計算問題を取り上げます。 命令プログラミングと関数プログラミング 当たり前過ぎて意識されていないかもしれませんが、改めて命令プログラミングのパラダイム(以下「命令型」と略記)を説明すると、次のようになります。 命令を列挙する(典型的には命令である文をセミコロンで区切って並べる) 状態がある(状態とは再代入可能な変数のこと) 再代入を使って状態を変化させる 一方、関数プログラミングのパラダイム(以下「関数型」と略記)は次のようになります。 関数を引数に適用する 状態はない (値を破壊したくなったら)新たな値を作る 状態がないので、変数の値は変わりません。これが関数プログラミングを永続データプログラミングと定義した理由です。しかし、関数型で本当に問題が解けるのか疑問だと思います。これから簡単な計算問題を