Like the other books in this series, Seven More Languages in Seven Weeks is a little different from your typical technology book. We’re going to try to cover much more breadth, and we’re going to push you, and we think you’ll be pleased with the result. Still, it’s not for everyone.
…until you’ve read this section and can live with the challenge. Mostly, understand that our goal is to make you as self-sufficient as possible, and ramp up much more quickly than typical one-technology technical books do. There’s a cost. You will have to do more of the work.
Those who have read a Seven in Seven book know that we will not focus our attention on getting you started, and we won’t try to attempt to support seven languages across seven platforms each. We can’t. We have chosen to avoid languages with paid support. You can tap the programming community of each of these languages for help. In most cases, they will be quite willing to help.
You also will not get a rich installation guide for each language, and you might find that the output for a particular exercise looks slightly different on your system. If you are a reader who likes every character to match, and want your hand held throughout the process, sorry. We just can’t help you. In fact, we think that the process of building and supporting your own installation will help you learn your chosen language much more quickly.
Instead, we’ll offer you a deal. If you will work a little harder to support your own installation, we’ll take you deeper. Our goal is to get to the point that you’ll solve a nontrivial problem in each language. It’s a demanding goal, but we think we’ve accomplished it.
I never expected to write another Seven Languages book because the first one was so demanding and because the original list of languages was so compelling. I never thought that I’d find seven languages to match the original list, and if I did, I was sure I did not want to commit another year or two to the effort. I told myself that changing voices across authors in a Seven Languages book would not work.
You see, even though it was made of different languages, the original book told a story of where our industry was at the time. The languages moved from object oriented toward more declarative and more functional languages, ending in the purely functional Haskell. The collection works precisely because it is not seven disjointed essays. Surely, a team of authors would distract from the broader story and the unity of the whole.
Then, Eric Redmond and Jim R. Wilson attacked Seven Databases in Seven Weeks [RW12] and blew me away. They wrote a book that told a story of where the database industry is going, and they told it well. Having two authors made it easier to keep up with the rapidly changing versions.
Here’s the catch. They wrote primarily in first person plural. Learning languages is a little different from learning to use a database engine.
Each exploration is a deeply personal experience. I believe that if we can let you into the head of the person who wrote each chapter, if you can more deeply share their experience, your own learning experience will be that much richer and more powerful. For that reason, each author will write about their languages in the first person. When you see those “I” and “mine” statements instead of “we” and “our,” you’ll know why. We’re trying to give you a more personal experience. We think you’ll appreciate the difference.
Some want terse. We’re not that.
You’ll notice that we compare each language to a movie character. We do this because based on our experience, we need to help readers with the transition from one language to the next. We find that these metaphors serve our purposes better than a stodgy history lesson. We know that this style will put some of you off. That’s OK. We believe that writing in this way keeps most of our readers engaged and opens learning channels. For the rest, we believe our story is compelling enough that most readers will slog through our metaphors.
…if you can live with these ground rules. We think you’re in for a treat. This mix of languages will captivate and delight you. The mix of authors will take you into places that a single-author team can’t. When all is said and done, our goal is for you to think this book makes you a better programmer and improves your code in whatever language you might choose.