97 Things Every Programmer Should Know

(Chris Devlin) #1

(^216) Contributors
Russel Winder
Russel Winder is a partner in Concertant LLP, which provides
analysis and consultancy on all aspects of parallelism, concurrency,
and multicore systems. He is also an independent consultant,
author, and trainer on programming, programming languages
(Java, Groovy, and Python), version control systems (Subversion, Bazaar, and
Git) and build frameworks (Gant, SCons, Gradle, Ant, and Maven). Russel is
author of Developing C++ Software (Wiley), and coauthor of Developing Java
Software (Wiley) and Python for Rookies (Cengage Learning Business Press).
“Know Well More Than Two Programming Languages,” page 88
“Message Passing Leads to Better Scalability in Parallel Systems,” page 114
Ryan Brush
Ryan Brush is a director and Distinguished Engineer with Cerner
Corporation, where he has worked since 1999. He is primarily
interested in the application of technology to healthcare.
“Code Is Design,” page 24
“The Guru Myth,” page 72
Sam Saariste
Sam Saariste has an MSc degree in electrical engineering and has
been developing software professionally since 1995. He has done
so in a variety of application areas, ranging from real-time speech
processing solutions for telecoms to financial trading applica-
tions for investment banking. His language of choice is C++, and he has been
a member of the BSI C++ panel since 2005. Sam has been a fan of agile devel-
opment methods since he discovered XP around 2000. He cares about high-
quality software and believes that with agile and lean, both higher quality and
higher productivity can be achieved simultaneously.
“Resist the Temptation of the Singleton Pattern,” page 146
Sarah Mount
Sarah Mount is a senior lecturer in computer science at the Univer-
sity of Wolverhampton. Her interests lie in the area of program-
ming languages and tools, especially for wireless sensor networks
and other distributed systems. She has taught introductory

Free download pdf