This is a page from my book, Learning Functional Programming in Scala
As a bit of a warning, I want to be clear that this book is very different than the Scala Cookbook. The essence of the Cookbook is, “Here’s a common problem, and here’s a solution to that problem,” i.e., a series of recipes.
This book is completely different.
The “reporter” metaphor
I liken this book to being a reporter who goes to a foreign country that very few people seem to know about. Out of curiosity about what he has read and seen, the intrepid reporter goes to this foreign land to learn more about it. Nobody knows how the story is going to end, but the reporter promises to report the truth as he sees and understands it.
On his journey through this new land, the reporter jots down many notes, especially as he has a few “Aha!” moments when he really grasps new concepts. Over time he tries to organize his notes so he can present them in a logical order, trying to translate what he has seen into English (and Scala) as simply and accurately as he can. In the end there’s no promise that the reporter is going to like what he sees, but he promises to report everything as clearly as he can.
A reporter is not a salesman
To be clear, there’s no promise of a happy ending in this story. The reporter isn’t trying to sell you on moving to this new land. (For all he knows, this new territory is full of Romulans or The Borg, and he may end up having to flee for his life.)
Instead of trying to sell you, the reporter aims to report what he sees as accurately as possible, hoping that — armed with this new knowledge — in the end you’ll decide what’s in your own best interests. Maybe you’ll decide to move to this land, maybe you won’t, but at least you’ll be well-armed in making your decision.
A personal experience
As an example of how I think about this, many years ago I came close to moving to Santa Fe, New Mexico. As soon as I visited the town, I immediately fell in love with the plaza area, the food, and the architecture of the homes. But after thinking about the pros and cons more seriously, I decided not to move there. Instead, I decided to just vacation there from time to time, and also take home some nice souvenirs as I found them.
The same is true about this book: you may decide to move to this new land, or you may decide that you just like a few souvenirs. That choice is yours. My goal is to report what I find, as simply and accurately as I can.