I'm Brett Slatkin and this is where I write about programming and related topics. Check out my favorite posts if you're new to this site. You can also contact me here or view my projects.

16 January 2016

Why I don't use functional programming languages

There was some interesting discussion (thread1, thread2) following my answer to the question of "How do you choose the programming language for a project?" My preferred languages are Python, Go, C++, C#, JavaScript, C, Java, TypeScript, and Swift. Functional languages (Lisp, Haskell, OCaml, etc) are conspicuously omitted from my list. Why?

What if the programmers who prefer functional languages are essentially "left-handed"? Some product of nature and nurture leads most programmers in the world to be "right-handed", preferring imperative programming languages over functional ones. Some especially gifted people are "ambidextrous" and work well with both types depending on the situation.

What if the choice between imperative and functional languages is purely subjective? They are two different perspectives on accomplishing the same thing. There are advantages and disadvantages to both. Neither approach is empirically better. One is much more common for unclear reasons. Programmers of either preference can't quite understand the appeal of the other side.

I'll leave it at that. And for the record: I'm also right-handed.
© 2009-2016 Brett Slatkin