Functional Programming - Perfectly Said

I have a half-written post sitting on my computer about my frustration regarding the conversation regarding functional programming and to a lesser degree regarding Swift. It was initially prompted by a conversation between Gordon Fontenot’s on this (?) Episode of Build Phase. The short version of my post is that in one breath Gordon acknowledges that despite his excitement about functional programming that it is indeed hard, but in the next seem dismissive of the complaints of non-functional programmers regarding functional programming (“it is just as intuitive as imperative programming! It’s just different!”). I was super-excited that he was talking about this, but super frustrated with where he ended up.

So, instead of getting around to writing the post, I just let time pass and let Gordon do all the heavy lifting on addressing these issues better.

First, he wrote a phenomenally good post on Currying functions, perfectly in the spirit of “explain this to me like I’m stupid”. It was really well structured, working from obvious to thorough, step by step. I finally got currying.

Then, in today’s episode he and Mark Adams had a great conversation about the perils of talking about Swift and functional programming as you are sliding down the slippery slope of a new paradigm. He said everything regarding humility of knowing and teaching that I could have hoped for.

Basically, once you have moved into a new paradigm, it is very, very tricky to talk to others that are not themselves in that paradigm, because you yourself forget how strange the concepts you think about every day seem to them.

So, keep up the good work guys, I look forward to your episodes every week. Glad the holiday break is over!


Now read this

iOs iPhone App Button Spacing – Golden Ratio Strikes Again

As is often the case, I needed to arrange a few round buttons evenly across a view, and wanted to set the width and spacing in a nice way. It occurred to me that though it is oversold, the golden ratio is at least a reasonable place to... Continue →