Author shows how to program efficiently for Windows using multiple threads
Software engineer Will Warner presents his strategies for building complex Windows programs in “A Fly-By-Wire Architecture for Multi-Threaded Windows Apps”
ANN ARBOR, Mich. – In “A Fly-By-Wire Architecture for Multi-Threaded Windows Apps: How to Write Complex but Reliable Windows Applications Quickly” (ISBN 1475031742), software engineer Will Warner shares his strategies for developing Microsoft Windows applications.
Warner explains the power and beauty of multi-threading—and its necessity in complex applications that perform lengthy processing or that wait for stimulus from outside of the program. The book presents his architecture for structuring multi-threaded Windows applications, brings readers to an understanding of these techniques and prepares them to employ the concepts in their own Windows apps.
He calls the architecture “fly-by-wire” because it is modeled after systems whose components are interconnected not directly but by a network over which the components communicate using messages. Warner makes use of the fly-by-wire organization within Windows applications themselves. Thus structured, a program comprises nuggets of functionality, which do most of their work in child-threads and communicate by messages over a “logical bus,” all within the program itself. Borrowing another feature of digital circuitry, the author equips his programs with a software clock; its ticks drive processing, synchronizing activity and communication among the various threads.
To illustrate the concepts, Warner presents the design and source code for a completely functioning Windows application to control a hypothetical robot, and makes the source code available on a companion website.
Programs like these rely very heavily on events to carry processing forward. This makes possible a style of coding he calls “unconditional programming” because very little of the code will contain branches. Years ago programmers condemned the “goto” statement, and Warner now questions the use of if-statements for the same reason: they add complexity to code, making it harder to understand and modify. He devotes parts of this book to promoting a style of programming that minimizes the use of the if-statement.
Warner draws on his 35 years in the industry to make potentially controversial observations about software development process, aimed at recognizing the difference between theory and practice, and incorporates his views on what constitutes elegance in software design.
“A Fly-By-Wire Architecture for Multi-Threaded Windows Apps: How to Write Complex but Reliable Windows Applications Quickly” is on sale online at Amazon.com in softcover and Kindle formats.
About the Author:
Will Warner has worked as a self-employed contract software engineer for three decades, developing real-time and pseudo-real-time programs for scientific instruments, medical devices and automation equipment. For most of the past decade, Warner has focused on writing multi-threaded C# programs for these products. He holds a B.S. in mathematics from Michigan State University.
A Fly-By-Wire Architecture for Multi-Threaded Windows Apps is available for Kindle and in softcover from Amazon.com and Barnes and Noble.
MEDIA CONTACT
Will Warner
E-mail: will.warner@flybywirewinapps.com
Phone: (734) 646-6860
REVIEW COPIES AND INTERVIEWS AVAILABLE