One thing we hear a lot of in this class “people don’t use functional programming” in the real-world. This is totally incorrect. Functional programming’s modular focus makes it an ideal approach for many large scale, high performance, and high accuracy computing applications. Everything from social media networks to banking software uses functional programming techniques and some even use purely functional languages.

It is highly unlikely that a tech company uses one unified language across their entire tech stack.

Additionally, as a programmer, you want to have as many tools at your disposal as possible. Imagine a world where you ONLY learned how to drive a single model of car. Or imagine you only know how to add numbers, but not subtract them. Programming paradigms (e.g.functional, imperative, object-oriented, etc.) are all tools you can learn and then deploy when you see fit. By going through all three of these paradigms in this class, we want you to become flexible thinkers. That’s why on the first day, I told you this wasn’t a programming class! It’s a computer-science-thinking class!

In industry, it’s very common to choose a variety of languages and libraries across a stack each selected for its profile of disadvantages and advantages. Companies are looking for people who think fluently across paradigms and languages, because in two years when their tech stack has become obsolete, they don’t want to hire new people–they want their existing workers to be able to quickly adapt.