First Post!

AstonJ

AstonJ

Nice find Chris, I’ve split your post into a separate thread so that it gets tweeted as well :023:

Anyone recommend any of the other books? I wonder if Functional Thinking, Functional JS and Becoming Functional are any good too?

Most Liked

peerreynders

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

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

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

AstonJ

A post was split to a new topic: Humble bundle with 19 PragProg books!

Where Next?

Popular in Discussions Top

jesse
Hi everyone, I hesitated to post this here because I don’t want you to think I’m spamming, but I’ve been working on a Platform-as-a-Serv...
New
mbenatti
Following https://github.com/tbrand/which_is_the_fastest |> https://raw.githubusercontent.com/tbrand/which_is_the_fastest/master/imgs...
New
JakeBecker
TL;DR: I’ve just released an implementation of Microsoft’s IDE-independent Language Server Protocol for Elixir. It adds language support ...
1144 55125 245
New
ben-pr-p
In general I’ve been sticking to this community style guide GitHub - christopheradams/elixir_style_guide: A community driven style guide ...
New
jer
I’ve been using umbrellas for a while, and generally started off (on greenfield projects at least) by isolating subapps based on clearly ...
New
fireproofsocks
I’ve been working on an Elixir project that has required a lot of scripting. I usually reach for Elixir because I like it more (and in th...
New
shishini
I think this twitter post and youtube video didn’t get as much attention as I hoped I am still new to Elixir, so can’t really judge ...
New

Other popular topics Top

JeremM34
Hello, how can I check the Phoenix version ? Thanks !
New
joaquinalcerro
Hi there, I am working with Ecto-Postgresql and I need to call all of the records from a specific table but the table has 40,000 records...
New
jononomo
I am trying to figure out how Mix knows whether the environment is test, dev, or prod – where is this set? Thanks.
New
New
hariharasudhan94
Lets say I have map like this fetching from my database %{"_id" => #BSON.ObjectId<58eb1a7a9ad169198c3dXXXX>, "email" => ...
New
ashish173
I am using Ecto timestamps with postgres, I can see the timestamps() use the :naive_dateime but for my use case I wanted to store the ti...
New

We're in Beta

About us Mission Statement