February 10, 2018
I'm working my way through Functional Programming in Scala by Paul Chiusano and Rúnar Bjarnason in an effort to learn more about what I can do in Swift.
One of our Cleveland CocoaHeads, Pawan Poudel, encouraged me to pick up this book a few years ago. I'm glad I've gotten back to it.
That's right. To learn more about one language, I'm reading a book that explains code in the context of another language.
It's kind of like what I was talking about yesterday. The things I learn in countries like France, Germany, Italy, China, Japan, India, ... teach me so much about me and my country while I learn about them and theirs.
The book that taught me the most about programming in Objective-C was Kent Beck's "Smalltalk Best Practice Patterns".
There were many good books on Obj-C but Beck's book made me think differently about the code I wrote.
The other book that influenced me a lot was Josh Kerievsky's "Refactoring to Patterns".
Josh's book used code samples from (I think) Java and Kent's used examples from (of course) Smalltalk.
Both improved my Objective-C and I recommended them to others - and still do.
But there are people who don't know Smalltalk and/or Java so they won't pick up these books.
To them, the fact that these books are written in another computer language means they might as well be written in a different language altogether.
Sure, there are subtleties and differences between the language you write in and the books you are reading. Some techniques and patterns must be adapted and some don't apply.
I find that working these issues out means that I tend to understand the material better.
Right now I'm working my way through Chiusano and Bjarnason's book but writing the code in Swift.
There are big differences between Swift and Scala but I'm learning a lot in the process and I'm learning from a book that hasn't been translated into my computer language.
When I worked at Prag Prog I wanted Kent to translate his book into Objective-C.
I thought it would reach a wide audience. Objective-C was hot because folks wanted to write apps for the phone. His resources contained a lot of valuable advice.
I don't think he was interested in the project. If I remember, he was nice about it but was interested in spending his time on other things.
I'd love to see a translation of the Chiusano and Bjarnason book. Heck, if I could get the movie rights I would post videos of me working through the videos in Swift in my new video series.
I think it's unlikely I'd get permission so I encourage you to translate it for yourself into your favorite home computer language.