DEV Community

Subbu Lakshmanan
Subbu Lakshmanan

Posted on • Edited on

Any suggestions for books to learn Functional Programming Paradigm

Hi All,

As part of our educational program in my company, we have been reading books related to engineering practices. So far we have finished the following books,

  1. Code Complete 2,
  2. The Pragmatic Programmer,
  3. Learning Agile (O'Reilly),
  4. Adaptive Code (Microsoft Press)

We are small team of developers who works on iOS(moving to Swift), Android(Java, fighting for kotlin introduction), MEAN stack for web apps & services(Javascript duh!).

Can someone recommend any good books on Functional Programming Paradigm that you read and found useful?.

A quick search on internet throws bunch of books on Scala/Haskell. Language isn't too much of a challenge, however if there's any book on Javascript that would be great.

Latest comments (22)

Collapse
 
exadra37 profile image
Paulo Renato

What made me click in Functional Programming was the book and video course from pragdave.me/.

He really have a good way to get a OOP developer into FP, plus Elixir is a so powerful FP language and really easy to work with.

Give it a try and you will want to switch your API's and Web apps to use Phoenix framework with server side rending of HTML in Micro Seconds... yes you read it correctly ;).

Plus Elixir is the only language that I am aware that was designed from scratch to be distributed, concurrent and fault tolerant... Let it crash is the philosophy in the Elixir/Erlang ecosystem.

If you need links, just ask and I will give you a list of them :)

Collapse
 
jorotenev profile image
Georgi Tenev

I really enjoyed reading this one
learnyouahaskell.com/chapters
I think the concepts covered in the book are transferrable to other languages. Plus it's not boring to read it imo

Collapse
 
fnh profile image
Fabian Holzer

I'd suggest two resources:

github.com/MostlyAdequate/mostly-a...

Explains the paradigm very nicely, with JavaScript as language of the examples.

github.com/getify/Functional-Light-JS

Kyle Simpsons Functional Light JS is not yet finally released, yet the draft is complete; this one I haven't read yet, but judging from his "You don't know JS" book series, I recommend his writings blindly ;)

Collapse
 
craser profile image
Grumpy

Check out The Little Schemer. It's a functional programming introduction disguised as a kids' book. It's light, fun, and you can work through the whole thing in a few days. Highly recommended.

Collapse
 
eljayadobe profile image
Eljay-Adobe

If you want to stick to JavaScript as the target environment, I recommend the programming language Elm as a good FP language.

If you don't have any particular target environment in mind, I recommend F# for .NET/Mono target, and I highly recommend Dave Fancher's The Book of F#. I've done all my F# work using the Xamarin IDE on a Macintosh.

Collapse
 
braydie profile image
Braydie Grove

I've been trying over the past year to shift my mindset from OO to functional and it has been tough. I'm not there 100% yet, but I can feel myself "thinking functionally" now which has been great.

I'm a .NET developer by day, so I've been looking at learning F# with a look to introducing it to the stack at work. There is a great community around F# and a wonderful learning resource is F# for Fun and Profit.

With .NET Core 2.0 released, support for F# cross-platform is also improved, so you should be able to work with it no matter what OS you're using.

Collapse
 
eljayadobe profile image
Eljay-Adobe

I've also found FP tough. I'm using F#, and I've got 30+ years of OO (mostly in C++) that get in the way of my attempts at immersing myself in the FP paradigm.

Collapse
 
buntine profile image
Andrew Buntine

SICP is a classic text in this field.

Collapse
 
shaunakpp profile image
Shaunak Pagnis • Edited

Hey, that's a good question!

If you're looking for learning FP from scratch, then I'd suggest taking a look at Structure and Interpretation of Computer Programs. It's freely available as a HTML book, or you can buy a hard copy on Amazon too. SICP teaches you to write programs in Scheme which is a dialect of Lisp.

And if you just want to brush up on FP then you can refer this awesome-functional-programming list.

Collapse
 
mortoray profile image
edA‑qa mort‑ora‑y

Whatever book you find, don't get trapped in the idea that functional programming is somehow limited to certain languages. Pretty much all languages now have a lot of functional constructs -- they've become a staple of all programming..

You can find an overview of the various paradigms at my site, it includes functional programming.

Collapse
 
kspeakman profile image
Kasey Speakman • Edited

I feel like books are less helpful than actually developing something with it.

If you want to stick closer to JS, then you might look at Reason. They try to keep the syntax similar to JS, and it compiles to JS while still having all the functional goodies from OCaml. I dunno any books to recommend.

Personally, I'd recommend learning Elm (also compiles to JS). There is a book coming -- Elm in Action. For now I would learn it from the language walkthrough and then expound on that with a small project. Maybe something that your team really wants that never gets prioritized. The first time you refactor, you will be blown away by how uncomplicated the process is. Make changes, fix whatever the compiler complains about, done. So it is very forgiving with changes.