Sir! Torpedo Lock! God, there are dozens of them! The tactical officer s eyes stared wide at his display. This couldn t be happening. Where away, Ensign Farber? Captain Jeffries dark penetrating eyes flashed urgency at the young officer. He should have announced torpedo location and trajectory without having to be told. Seconds counted.
Thirty by minus 50, range 1-6-0 thousand, 10 thousand kps, sir. The radial coordinates and incoming velocity vector snapped out with trained precision. A Ferengi vessel just came out of warp behind the torpedoes! Cripes, it must have been firing as it made the transition!
Hard over, Helm! Full impulse toward that bogey.
Aye, aye, sir! Damn it! Commander Langr clearly didn t like that order but immediately turned the ship into the path of the incoming torpedoes and flooded the engines with power. The bridge crew grabbed hold of their consoles as the inertial dampers fought to compensate for the horrific shift in g-forces. First Officer Ch t-Hen locked eyes with the captain and calmly stated, Sir, heading into the torpedoes gives us approximately 7.23 seconds to impact.
Full power, Commander Langr. Jeffries eyes never wavered from Ch t-Hen s.
Ch t-Hen continued unabated. I count 42 torpedoes with 12 warheads apiece, each with a yield of 200 megatons. The 100.8 gigaton detonation will completely overwhelm our shields ... Two seconds... One... The crew held their breath for an infinitely long second. Sir, Ch t-Hen continued without breaking rhythm, it would appear that the torpedoes have failed to detonate.
Jeffries nodded. Ferengi are too cowardly to arm their torpedoes until they are a safe distance from their ship. I think we managed to squeak inside that radius. Helm, stay on your course! I want you to miss that Ferengi by inches, Langr, inches! Lieutenant Hill, target our rear phasers on their warp nacelles. Wait until we are two klicks past them, then.
OK, now that I have your attention, I want you to know that you have chosen the right book. I presume you picked it up because you wanted to learn something about C# and agile methods . If so, don t put it down now. This book will take you on an adventure that is every programmer s dream. By reading this book you ll learn side-by-side with Ron Jeffries, one of the most talented master programmers in our galaxy. You won t just learn facts about C# ”you ll learn a master s principles, patterns, and practices.
In this book, Ron pair programs with you . As you read it, you will feel that you are sitting next to him, watching him ”even helping him ”to write C# code. You ll read his thoughts, his fears, his complaints, and his rejoicings. You ll laugh with him, and you ll get mad at him. You ll participate in his mistakes and successes. You ll agree and disagree with him. You ll argue with him, and some of those arguments you ll win. Reading this book is as close to having Ron as a one-on-one mentor as it s possible for print to allow.
Are you new to C#? If so, keep a language reference nearby. Ron will teach you a lot about C#, but he s not going to spoon-feed you. This is not a C# tutorial. There are many things you are going to have to look up for yourself. However, this book will give you an order in which to look those things up. Each chapter will lead you to more and more interesting concepts in C# and to a deeper and deeper understanding of agile methods. Treat this book as a pathway instead of as a reference. Do you already know C#, or Java, or C++? If so, read this book for the skills, the attitudes, the practices, and the thrill of discovery. You ll learn along with Ron as he explores C# and .NET. You ll gain deep insights into the thought processes, personal values, and subtle gestures of a master.
Ron Jeffries started his programming adventures in 1961 ( before the Beatles appeared on Ed Sullivan!) at the age of 21. Through an accident of fortune , he found himself working summers at Strategic Air Command (in a hardened underground installation) and was able to play with their computer systems. He learned programming from some of the brightest folks who had been charged with our security, and he could apply that learning with some of the best and most powerful tools in existence. From that auspicious start, Ron went on to learn more about software than there was to know at the time. He wrote compilers, databases, tax systems, payroll systems, obscure mathematical processors, business systems, multi-programming operating systems, etc, etc. He s worked in APL, Basic, C, C++, C#, Commercial Translator, Delphi, Fortran, IPL- V, LISP, Logo, Pascal, Prolog, Smalltalk, Snobol, IBM 704, 7090, 1401, 1620, and 360 series, the DEC PDP-1 and -7, the SDS/Xerox 940, Sigma 7 and Sigma 9, the 6502, 8080. In short, he s been around .
Ron has been fortunate (or devious ) enough to work with some of the best in our industry. He s worked with Ward Cunningham (yes, by reading this book you ll have a Ward number of at most 2), Kent Beck, Ken Auer, Bill Wake, Chet Hendrickson, Ann Anderson, Michael Feathers, Jeff Langr, Michael Hill, Robert Koss, and even ”er ”me. Ron is an outspoken XPer and a founding signatory to the Manifesto of the Agile Alliance.
Ron loves to write code. If he has a spare minute, he wants to spend it coding. He ll go to the Michigan Union to meet a friend, and the two of them will crack their laptops and write code together. More importantly, Ron loves to write good code. He s not happy just making the code work. Ron wants to make it right . And making code right is something that Ron Jeffries knows better than anyone else. Ron takes a rare pride in the code he produces and in the way he produces it. He craves the creation of magnificence.
I first met Ron in 1999. Ron had been doing Extreme Programming (XP) for nearly five years by then. He was the first XP coach ever and had helped many companies improve their practices. Ron drove to my house (in his hatchback Z3) to meet with me to help plan the first XP Immersion course. I wanted Ron to be one of the instructors. This is a decision I have never regretted. Ron is an outstanding instructor who is deeply motivated to share his vast wealth of knowledge. Ron understands software with a rare clarity and has the even rarer ability to share that clarity with others.
If you want to learn how to use C# well , if you want your code to be right , if you want to learn the skills, disciplines, and attitudes of a true master, then you ve done well to pick up this book. Keep reading ”you re in for a wild adventure. You ll boldly go where you ve never gone before.
Robert C. Martin