Functional Programming for the Object-Oriented Programmer

Many, many of the legendary programmers know many programming languages. What they know from one language helps them write better code in another one. But it's not really the language that matters: adding knowledge of C# to your knowledge of Java doesn't make you much better. The languages are too similar: they encourage you to look at problems in pretty much the same way. You need to know languages that conceptualize problems and solutions in substantially different ways.

Read more

Once upon a time, object-oriented programming was a radical departure from what most programmers knew. So learning it was both hard and mind-expanding. Nowadays, the OO style (or some approximation to it) is the dominant one, so ambitious people need to seek out different styles.

The functional programming style is nicely different from the OO style, but there are many interesting points of comparison between them. This book aims to teach you key elements of the functional style, helping you take them back to your OO language.

Audience
adult

Click a tag to see books like this one that share it. Point at it (on a phone, tap it) for less of it instead.

Read it? Sign in to help tag it.

Liked Functional Programming for the Object-Oriented Programmer? Here’s where I’d start.

These suit anyone who liked Functional Programming for the Object-Oriented Programmer. Sign in and mark a few books for picks shaped around your own taste.

  1. Clojure Programming Shares clojure, programming, lisp
  2. Programming Clojure Shares programming, clojure, lisp
  3. The Joy of Clojure Shares programming, clojure, lisp
  4. Clojure In Action Shares clojure, programming, lisp

“People who read Functional Programming for the Object-Oriented Programmer tend to reach for these next.”

  1. Functional Programming Patterns in Scala and Clojure: Write Lean Programs for the JVM
  2. On Lisp: Advanced Techniques for Common Lisp
  3. Pearls of Functional Algorithm Design
  4. Paradigms of Artificial Intelligence Programming: Case Studies in Common LISP

“If you want more of the same (science about technology), start with these.”

  1. Python Programming: An Introduction to Computer Science
  2. Using Information Technology
  3. Object-Oriented Software Engineering
  4. ClojureScript: Up and Running

“If it was the clojure that hooked you, try one of these.”

  1. Clojure for the Brave and True
  2. Practical Clojure
  3. Clojure Applied: From Practice to Practitioner
  4. Web Development with Clojure: Build Bulletproof Web Apps with Less Code

“These start from a similar idea, even if they go somewhere else with it.”

  1. Seven More Languages in Seven Weeks
  2. OCA: Oracle Certified Associate Java SE 8 Programmer I Study Guide: Exam 1Z0-808
  3. The Haskell School of Expression: Learning Functional Programming Through Multimedia
  4. Functional Thinking