Wow, I wrote a book! How the heck did that happen? One moment you’re a humble programming language designer, and the next you’re up until 2 a.m. every night trying to figure out how to say “and in the next example” 500 times without being boring.
So why write it? Because of PowerShell. Although PowerShell draws heavily from existing technologies, it combines them in novel ways. This novelty leads to misunderstandings, which then turn into urban myths, such as, PowerShell does X because its designers are kitten-eating aliens.
Trust me–we’re not.
As we showed our work to the world (three public betas and two release candidates), I found that there were a number of questions that were being asked over and over again. These questions would arise as a result of an earlier language experience that the user had had. Typically, a simple explanation was all it took to clear up the confusion (we had a very smart group of beta tests). However, we couldn’t keep answering these questions one-by-one; that just wouldn’t scale. There needed to be a way to gather the information in one place. This book is my attempt to do just that.
The other astonishing thing was just how much power comes out of the synergy of the technologies underlying PowerShell. We saw this in our own internal uses of PowerShell as well as in some of the community examples. The PowerShell team read people’s blogs and was astonished by the creativity that was being demonstrated. So the second goal of this book is to foster that creativity by conveying how capable PowerShell is.
Finally, this is the book I had always wanted to read myself. I love programming languages and readung about them, and the best programming books I found are the ones that explain not only “what” but also “why.” Look at the books that continue to sell year after year, like Kernighan and Ritchie’s The C Programming Language, Stroustroup’s C++ book, and John Ousterhout’s TCL book. The TCL book is a very good example example: it describes an early version of the TCL language; it that has never been updated; yet it continues to sell. Why? This book, and others like it, give the reader something more than just technical detail. They convey a sense of the overall design as well as some of the intent of the designer. So please let me know if you think I succeed in doing that with this book, OK?
The very last goal of the book was to help build and maintain momentum around PowerShell. PowerShell was released around the time of Microsoft’s biggest product release ever: the revamped operating system Vista together with the new office suite (with all those wild graphical 3D doohickeys added everywhere). But we’re just a command line. There is a good rule to follow when planning a product launch: never open a lemonade stand next to a Wal-Mart. But we did and now, would you care for some lemonade?
Come on in, learn PowerShell, be creative, and, above all, have fun!