Categories

Cubs (13)Development (10)Goals (5)Guitar (1)Humor (1)Life (14)Life Hacks (3)Online Learning (1)Software (2)Welcome (1)





Functional Tuesdays and Thursdays

So far in 2016, every Tuesday and Thursday has been functional. By "functional," I mean the programming paradigm where in the output of a function is defined in only terms of its arguments. Every Tuesday and Thursday I've spent an hour plus learning and working on functional programming concepts. The functional ideas are a great counterbalance to the mostly object-oriented programming I do to make a living. Aside from the novelty of getting to think differently about problems, functional programming skills add another method of attack on difficult problems.

I'm currently going through the book, The Little Schemer (TLS). It's a great little conversational book that is a perfect introduction to the functional programming language Scheme. TLS is great because of the way it allows instant verification of whether or not you understand the concepts that are being presented. The left-hand column of the book poses question after question and the right-hand side offers the answers. I've been going through the book with DrRacket covering the right-hand column, programming the solution to the problem, then checking my solution against the book's. This method had proven to be effective.

Since TLS is so short, I'll be needing another functional resource soon. My first couple of months consisted of reading through and completing the exercises from the classic computer science text, Structure and Interpretation of Computer Programs (SICP). I stopped after the first chapter to find supplemental texts to improve my experience in getting through SICP. SICP is not a walk in the park. I will more than likely get back to SICP sometime soon. TLS has a followup book, The Seasoned Schemer. Perhaps I will attack it next. Regardless of the source, I will be improving my functional skills every Tuesday and Thursday.

Published on 4/11/2016 8:52:10 PM



comments powered by Disqus