What is ToDADS about?
published: Tue, 17-Jun-2003 | updated: Sat, 20-Aug-2016
Although there are numerous books on algorithms in bookstores, few of them go beyond the standard Computer Science 101 course and approach algorithms from a practical perspective. Code is shown, usually merely to illustrate an algorithmic point, and generally no consideration is given to real-life, drop-in-and-use application of the technique in question. Even worse from the perspective of the commercial programmer, many are textbooks and hence some of the more interesting viewpoints are left as exercises for the reader, with little or no answers. Delphi programmers are even more isolated; more often than not they are obliged to use a book with code in C or C++ and translate. Even worse, they can look over at the C++ programmer with his Standard Template Library.
Tomes of Delphi: Algorithms and Data Structures (ToDADS) aims to bridge the gap for Delphi for Windows programmers. Algorithms are introduced purely from a Delphi perspective, using the Object Pascal language. Delphi standard classes, such as TList and the TStream family, are extensively used. Emphasis is given to drop-in-and-use units and classes.
The book is aimed at intermediate to advanced level programmers, those who would be looking at the standard algorithm texts and converting algorithms from them into Delphi. Little or no provision is made towards beginner programmers. The book and code is applicable to all versions of Delphi for Windows; it was not written just for the latest compiler. Hence, the book will not 'age' as quickly as many other Delphi books--the code in it will still work with Delphi 2006. (In fact, the code in the book was written with Delphi 5 and the original version of Kylix. Changes for later compilers are limited to the compiler include file. No executable code needs to be changed.)
ToDADS is divided into chapters tracing the standard algorithms from the simple to the more complex. Information and code introduced in earlier chapters is used extensively in later chapters; re-use of code is emphasized. The book does not delve too much into mathematics, especially with regard to efficiency calculations; the reader is referred to other textbooks for such coverage.