Why valuable knowledge looks useless

Why valuable knowledge looks useless
Photo by Jilbert Ebrahimi / Unsplash

Should you learn Haskell despite never getting a chance to use it? Many will say no. Some might say yes. The answer to this tricky question is "yes," and it has nothing to do with Haskell.

A programming language is not used just because it's the best. It's used because it's "popular," which means many can use it. However, a "common denominator" solution often solves all problems poorly. For example, we're drowning in productivity apps but starving for productivity.

When you truly understand software engineering, you realise that it was never the syntax, but a way of thinking. As you expand your horizon, your thinking becomes more clear.

When you learn something seemingly esoteric like Haskell, it still changes the way you think about building great applications. You can then apply the new thinking to any mainstream language (to whatever extent possible). You don't end up writing "Haskell in Java," instead, you borrow useful concepts that was more apparent in Haskell.

In short, you don't have to learn Haskell to always write code in it. Just like how you don't practice etudes (practice pieces in music) to give a stage performance of those etudes.

Of course, this is applicable to everything other than Haskell too, and gives us insight into why "esoteric" things can be valuable to understand even if you don't get to use them in the conventional sense.