手続き型構造化プログラミングに慣れた人が感じる関数型プログラミングへの「気持ち悪さ」の話 by エンジニアカウンセラー 白栁隆司

関数型まつり2025
公募セッション25分
公募セッション

手続き型構造化プログラミングに慣れた人が感じる関数型プログラミングへの「気持ち悪さ」の話

ShirayanagiRyuj エンジニアカウンセラー 白栁隆司 ShirayanagiRyuj

対象とする聴衆のレベル(該当するレベルを記載してください。)

  • Beginner: 分野の前提知識を必要としない

セッションのテーマ(該当するテーマを記載してください。なければ追加頂いて良いです)

  • 入門
  • C#(LINQ)
  • Java(Steram API)

セッションの概要

このセッションでは、C#やJavaを事例として、手続き型構造化プログラミングから関数型プログラミングへの移行と、これらを混在させた環境でのコードの読み方/書き方を解説します。

  • 新しいプロジェクトで関数型プログラミングが導入されたけれども、なんだかなじまない
  • 関数型に慣れない人が、つい手続き型の書き方をしてしまう
  • もっとうまく関数型プログラミングを扱いたいけど、どうしたらいいかわからない
    こんな経験はありませんか?

私はこの違和感を「気持ち悪さ」として捉えていました。それはどこから来るのでしょうか?
現代の多くのプログラマーは、手続き型構造化プログラミングで学習し、キャリアを築いています。
その習慣のまま関数型プログラミングに取り組もうとすると、適切なコーディングができなかったり、意図しない形で手続き型のパターンを持ち込んでしまったりします。

特に、C#やJavaのようなオブジェクト指向言語に関数型の概念を取り入れた場合、この違和感はより顕著になります。
手続き型の思考と関数型の考え方のギャップを整理し、どのように適応すれば「気持ち悪さ」から脱却できるのかを解説します。