Where to Go from Here?

The next steps you can take upon completing this course.

We'll cover the following

Next steps from here

The best thing you can do is apply functional programming to your projects. Most mainstream programming languages—including Kotlin, Java, JavaScript, Swift, Python, and Scala—readily support functional programming and typically provide extensive documentation on how to do so.

There are many excellent books, tutorials, and blog posts about functional programming out there. Each will have its own merit, depending on what you want to dig deeper into. If you want to learn more about the functional way of thinking, I heartily recommend the following two masterpieces:

  • “Structure and Interpretation of Computer Programs” (also known as SICP or the Wizard book) by MIT professors Harold Abelson and Gerald Jay Sussman, with Julie Sussman.
  • “Thinking Functionally with Haskell” by Oxford professor Richard Bird.

The two books Real-world OCaml and Real-world Haskell are excellent resources for those who want to learn more about OCaml and Haskell.

If you want to do functional programming in a particular language such as Scala, Java, Kotlin, Swift, Python, and more, you’ll have no problem finding books, tutorials, or documentation to learn the particular syntax and idioms in that language. However, the fundamentals discussed in this course will remain valid regardless of the programming language.

Before ending the course, let’s recall what we mentioned in the introduction. Mastering functional programming lies in the balancing act between striving to grasp the fundamental principles and applying them to real-world problems pragmatically. Thank you for sticking with this course on the art of functional programming. We hope you’ve learned a lot and enjoyed it as much as we did while creating this course.

Get hands-on with 1200+ tech skills courses.