chrisalley
Humble Bundle - Functional Programming: $1 (includes Introducing Elixir & Introducing Erlang)
Introducing Elixir and Introducing Erlang are currently available for $1 as part of the: Humble Book Bundle: Functional Programming
First Post!
AstonJ
Nice find Chris, I’ve split your post into a separate thread so that it gets tweeted as well ![]()
Anyone recommend any of the other books? I wonder if Functional Thinking, Functional JS and Becoming Functional are any good too?
Most Liked
peerreynders
The good thing about
var street = user.address && user.address.street;
is that it acts as a speed bump, i.e. should I even be doing this? With methods this lead to the formulation of the Law of Demeter (see also Train Wreck) for method chains (not to be confused with Fluent interface).
var street = user.address?.street
not so much. And given the lack of static typing, the naming of the example isn’t intention revealing:
var streetOrNil = user.address?.street
Just because it’s more convenient to propagate the nil value doesn’t mean the nil value has been dealt with.
gon782
Real World Haskell is pretty great. I much prefer to it Learn You A Haskell For Great Good!. They’re probably both going to be out-relevanced and perhaps out-done by Haskell Programming because it’s more current and it’s a very real attempt at making Haskell more accessible to people.
I’ve skimmed Clojure Programming and it manages to introduce people to Lisp very concisely and then immediately get into the strong points of Clojure in the following chapters in a very efficient manner. The first chapter is essentially “Here is what makes Lisp seem weird to a Java programmer” and then there’s an introduction to functional programming which I think will serve users of “normal” FP languages in presenting “Here’s how functional programming looks and works in Lisp packaging”.
Like I said, they then follow this up with getting into the meat of Clojure and how to use it to manipulate data, as the 3rd chapter is all about collections and the great generalizations they’ve made for them, how they all work and whatnot. At the end of that chapter is a sub-chapter called Putting Clojure’s Collections to Work which includes ending up with a pretty nice set of functions for a “Game of Life” board generation using Clojure’s nice FP bits and then also doing some GUI visualization of maze generation.
I think these first chapters will in general be enough for someone to get into Clojure and then the subsequent chapters are essentially "Here’s how to continue with abstractions of different types: Macros, protocols, etc..
All in all I think Clojure Programming seems like a pretty good book for learning Clojure and understanding why you’d want to make things with it.
DanCouper
Functional JS is fantastic; personally, it’s the main reason I am where I am as a developer (Elixir programmer, & working with other functional languages on and off in my job). It’s quite old now, uses Underscore, but everything in it should still be applicable. As an introduction to FP for a JS developer, it was excellent. I think it would also be useful to a functional programmer who has managed to avoid JS, and I normally recommend it to people just learning JS who have gone past the basics. I found it very readable and extremely practical, very well paced. Michael Fogus is a good writer; I keep meaning to read his “Joy of Clojure” book but haven’t got round to it - his other writings are excellent
Last Post!
AstonJ
Popular in Discussions
Other popular topics
Chat & Discussions>Discussions
Latest on Elixir Forum
Categories:
Sub Categories:
Forums
Popular Tags
- #ecto
- #liveview
- #troubleshooting
- #learning-elixir
- #deployment
- #library
- #erlang
- #testing
- #genserver
- #mix
- #absinthe
- #remote-other
- #otp
- #plug
- #how-to-question
- #macros
- #postgres
- #channels
- #elixirconf
- #exunit
- #discussion
- #code-sync
- #javascript
- #podcasts
- #onsite
- #dialyzer
- #docker
- #authentication
- #umbrella
- #full-time-contract
- #podcasts-by-brainlid
- #ecto-query
- #elixir-ls
- #phoenix_html
- #iex
- #blog-post
- #graphql
- #genstage
- #ai
- #websockets
- #supervisor
- #elixirconf-us
- #advent-of-code
- #distillery
- #processes
- #api
- #forms
- #metaprogramming
- #security
- #hex












