List Price: $34.95
Programmers catch the tunnel vision disease as much as anybody - maybe more so. You can always find a flame war somewhere about the correct way to write code. The historical battles over the correct shape of the boxes in the methodology wars are the stuff of legend. Whether a language is really object oriented or not has been a war zone for decades. Bruce Tate says he gets hate mail from programmers whose favorite language wasn't included in this book.
There's a case to be made for the point of view, "Ehhhh ..... If it works, use it."
But then you have to be able to answer the question, "Does it work?" How are you going to know that unless you do use it? (Or, at least, someone you trust uses it.) That's where Seven Languages comes in.
Bruce Tate has established his cred in several languages including Java and Ruby where he has written outstanding single focus books. This time around, Bruce has decided to expand his own horizons to include not only his "home" language Ruby, but also six other languages that are generating excitement and some great systems too. The languages covered here include:
So Many Languages! So Little Time!
Jean Sammet, who later became President of the Association for Computing Machinery among many other honors, wrote what must be the cornerstone book about programming languages way back in 1969: "Programming Languages: History and Fundamentals". She covered 120 programming languages in almost 800 pages.
I find it amazing to think that there were 120 programming languages in 1969.
It's interesting that at least one language that Jean covered, Prolog, is one of the languages that Bruce has chosen for this book. It's also interesting that the icon that is on the cover of her book is the same one that is on Bruce's book: The Tower of Babel. Don't they realize that the Tower of Babel was intended as a punishment and a way to stop human progress?
In his own thumbnail bio, Bruce makes this promise, "I will always seek to find better ways to do things, and will work hard to tell you the truth, without regard for any notion of political correctness." Speaking of no regard for political correctness, Visual Basic programmers might (or might not) appreciate his metaphor for our favorite development environment:
"Visual Basic was like that bleached-blonde cosmetologist. She's not going to solve global warming but she's always good for a haircut and she's tremendously fun to talk to."
I beg your pardon!!! I think I'll send him some hate mail for that!
Actually, Bruce is my kind of guy! He makes good on his promise of straight shooting in the first chapter by telling us everything that the book doesn't cover in painful detail. He promises that he won't help at all with the installation of these languages and the book isn't a reference for the syntax. You'll have to dig these details out for yourself online. (Actually, he lies a little bit about this. He does give you some help.) And he assures us that reading the book will be a drink from seven different firehoses because it's much more than a "Hello World" introduction to each language. By leaving out some details, he manages to show us some actual depth for each language in just over 300 pages.
Another thing that Bruce's book won't do it make you anything close to an accomplished programmer in any of the seven languages. So, what will it do for you?
Why You Should Read This Book
- More than anything else, it will open your eyes to new ideas about programming. Over and over, Bruce says that the experience of learning new languages and writing the book strengthened his own ability as a programmer.
- It's a crash course in new tech terms. When I go to conventions, I sometimes wonder what some speaker is saying because I just don't understand the tech terms. (Recently, I've published a glossary of new terms at the convention. Programmers are bad for using undefined new words. Publicity writers are much worse!) There are a lot of terms that will probably be at least unfamiliar to you. In the first chapter on Ruby, Bruce describes a "mixin". That one was new to me.
- If VB.NET isn't floating your boat right now, this book may help you find something that will. Bruce helpfully summarizes the pro's and con's of each language at the end of the chapter about it.
- It's just a fun read. Bruce makes it more fun with examples from movies and even real life sometimes. His style reminds me of Tim Patrick before MSPress forced him into a straight jacket. He also includes short interviews with the original inventors. That reminded me of what I liked about Peter Seibel's book, Coders at Work.
Visual Basic programmers will find this book a real wakeup call. Most of these languages are not particularly object oriented (especially not like .NET) and there is a broad variety of data typing represented. Three are JVM (Java Virtual Machine) languages, the yin to .NET's yang. All will look totally alien if your world has been confined to VB programming.