DEV Community

Tien Do
Tien Do

Posted on

Going Back to Functional Programming, This Time on Purpose

I'm going back to learning functional programming. I've tried before — Haskell, Elixir, Clojure, Scala, books like Grokking Simplicity — and it didn't go well.

Looking back, I mostly read and jumped between resources instead of writing code and sticking with one language. I picked Haskell partly because it's hard, and some part of me wanted people to think I was a good engineer for understanding it. I kept looking for "exciting" projects instead of practicing on ordinary ones, because ordinary bored me — that was ego and dopamine chasing, not a learning plan. I also told myself functional programming had little value for a Rails engineer, which wasn't even true — Rails uses blocks and lambdas functionally all the time — though that wasn't the main reason I quit.

Why now: AI can generate about 80% of my code quickly, and quite well — maybe partly because Ruby/Rails is well represented in AI training data compared to less popular languages. It's easy to lose touch with a codebase and stop knowing what you're actually doing as an engineer when that much of the writing happens for you. I've also reached a point with OOP where I don't think I can improve much further on my own right now — I'm still learning it, still far from expert, but the pace has slowed.

This time the goal isn't to become an expert in functional programming. It's to actually understand what problems it solves and what problems it creates.

I'm not against AI agentic coding — I spend real time daily improving my own agentic workflow. This is separate from that.

Top comments (0)