なんとなく「関数型プログラミング(FP)」って聞くと、カッチリしてて難しそうってイメージあるよね💭
わたしも最初は「これ、ほんとに使えるの?」って正直戸惑ったんだ🥺
でもね、あるブログを読んでて気づいたんだけど、FPってやめること自体が意外と難しいし、そもそもやめる必要ないんじゃない?って思ったんだ✨
関数型プログラミングって、なにがそんなにクセモノなの?👀
FPは「副作用なし」「状態を変えない」っていうのが基本ルール。
これが良いところで、コードがシンプルでバグも減るって言われてるよね🍓
でも…わかるんだよ、ずっとそれに縛られてると、「もっと自由にやりたい!」って気持ちも出てくる💡
「どうやってこのFPから抜け出せばいいの?」って悩む人が結構いるんだけど、答えはすごくシンプル。
FPをやめるより「どう付き合うか」を考えたほうがいい理由🎀
ブログを書いた人はこう言ってたよ👇
- FPは魔法じゃない。完璧じゃない。できることとできないことがあるよ
- やめたくなるのは、FPだけに頼りすぎたとき
- FPの「良いところ」を残して、苦手なところは別の方法で補おう
なるほどね…と思ったんだけど、これってまるで友達関係みたいだなって思った✨
「この子とはここが合わないな〜」ってなるけど、全部切るんじゃなくて得意なところだけ活かす感じ🧠💗
具体的にはどういうこと?🤔
例えばこんな感じで考えてみてほしい👇
- FPの特徴を活かして「副作用なし」の部分はきっちり守る
- でも、どうしても状態を変えたいときは無理せず別のやり方も使う
- FPを全部に適用しようとせず、必要なところだけ取り入れる
これならFPのいいところは残しつつ、息苦しくならないよね🌸
まとめると…💬
FPは「全部やらなきゃ!」って思うとストレスだけど、「やめる」じゃなくて「いいとこ取り」するのが楽で続けやすいってこと💡
わたしもこの話読んで、肩の力がちょっと抜けた気がするよ✨
そんな感じで、FPに悩んでる人は「やめる」ことばかり考えずに、どうやって自分らしく使っていくかを探ってみてほしいなーって思う!🥺💭
コメント
ハンナ
同僚が理解できないコードを書くのはやめよう、FP熱狂者でもJavaオタクでも関係ないよ。
クリス
この記事はFPに対する自分の気持ちをそのまま言ってる。 モノイドが何かは知らなくても、理論や難しい用語を超えれば関数型は自然に感じるよ。
ハンナ
「モノイドはエンドファンクターのモナドです」って説明すると大抵FPが嫌になる。
ノーラン
もう関数型は終わり。 次はオブジェクト指向を学ぶ番だ。
レオ
Scala使っててマネージャーが「関数型禁止」? ありえない。
ロバート
同僚は無駄に複雑で例外で壊れやすいコードやめてほしいだけで、.mapやfilterに文句はないよ。
チャーリー
最高すぎる。
キンバリー
「メソッドに副作用が1つある。 それでいいの?」って話で、「関数型禁止」は副作用1個以下が最低ラインって感じで理想は不明。 コードレビューを通せるといいね。 これがFPファンが嫌いな理由。
クリス
副作用を避けるのは関数型だけの話じゃないよ。 構造化プログラミングの基本だしね。
ハンナ
著者はストローマン論法使ってる。 悪意か無知かわからないけど、記事全体の信頼を落としてる。
リリー
自分の職場では手続き型がバグの元凶で大混乱。
クロエ
これは普通にデータベースクエリで実装するよね。
ベン
この例をデータベースクエリに書き換えてくれない?
エイダン
共感できて笑える部分もあった。
ロバート
全部、手を抜いて自分で問題を作ってイライラしてるみたいなもんだよ。 プログラムはシンプルに、副作用なしで。
ジョージ
この記事とコメントは10年前のもの。 なんで今redditに出てるんだ?