Clean Code: Functional Programming
Buy the entire series and save $4 (streaming) + $8 (download)!
54. Functional Master Mind
By Robert C. Martin, 1h 7m

Do you remember Master Mind that clever board game from the '80s, with the colored pegs? We implemented a version of it back in Episode 9. Well, in this episode we're implementing it again, but in Clojure.

In this episode we're going to walk through the code for this program, one commit at a time. You'll see how I used TDD to develop it. You'll see the functional design. You'll be amazed that there are no assignment statements. You'll be astounded at the data-flow style. And, in the end, you'll know the best strategy for winning Master Mind and will be able to amaze your friends.

So hop on board and let's get this train moving; because we're about to immerse ourselves in functional programming, Clojure, and Master Mind .

The code in this video can be found on github here. Make sure you walk through all the commits in sequence. There is much to learn by watching the progress of development.

53. Introduction To Functional Programming
By Robert C. Martin, 1h 10m

Welcome to our series on Functional Programming! Are you ready for some fun?

So, yeah, I'm sure you've heard all the fuss about functional programming recently. People are talking and arguing about combinators and monads and monoids and all kinds of other words that sound like they came out of some mathematical laboratory. Don't worry. That's not the direction we're going.

Oh, we might peek into the math lab from time to time; but this series is about doing, not about pontificating. (Well, usually anyway.)

In this episode we're going to introduce the basics of FP. We'll talk about what it is, where it came from, how it relates to regular programming, and we'll even show you some code.

The code will be in Clojure. That's the language we'll be using for the most part; though we'll likely look at some F# from time to time.

So, get ready for a some loops and whirls, because this episode is likely to turn your brain a little sideways.