This is a book about software engineering, bioinformatics, the C++ programming language and the SeqAn library. In the broadest sense, it will help the reader create better, faster and more reliable software by deepening their understanding of available tools, language features, techniques and design patterns.
Every developer who previously worked with C++ will enjoy the in-depth chapter on important changes in the language from C++11 up to and including C++20. In contrast to many resources on Modern C++ that present new features only in small isolated examples, this book represents a more holistic approach: readers will understand the relevance of new features and how they interact in the context of a large software project and not just within a "toy example". Previous experience in creating software with C++ is highly recommended to fully appreciate these aspects.
SeqAn3 is a new, re-designed software library. The conception and implementation process is detailed in this book, including a critical reflection on the previous versions of the library. This is particularly helpful to readers who are about to create a large software project themselves, or who are planning a major overhaul of an existing library or framework. While the focus of the book is clearly on software development and design, it also touches on various organisational and administrative aspects like licensing, dependency management and quality control.