[[TOC()]] = Learn to Tango with D = ''Learn to Tango with D'' is a book about the D programming language and the Tango software library. It became available as an eBook 7th of January 2008, whereas the printed version should be available 3 weeks later. ''Learn to Tango with D'' introduces you to D, with special attention given to the Tango software library. A concise yet thorough overview of the language syntax and features is presented, followed by an introduction to Tango. The book is written by Kris Bell, Lars Ivar Igesund, Sean Kelly and Michael Parker. Foreword is by Walter Bright, and technical reviewer was Don Clugston. {{{ #!html }}} == Buy the Book == All proceeds from the book will be channeled into the Tango project, to the benefit of both Tango and the D community. * [http://www.apress.com/book/view/9781590599600 Apress] - eBook available now * [http://www.amazon.com/Learn-Tango-D-Kris-Bell/dp/1590599608 Amazon] - Now indicates in-stock * Barnes and Noble - Will have it on the shelves soon * ... == Book Reviews == * [http://the-lazy-programmer.com/blog/?p=15 Review by the Lazy Programmer] * [http://ninjaverification.wordpress.com/2008/03/01/book-review-learn-to-tango-with-d/ Review via Ninja ASIC Verification] * [http://taose.speakmon.org/2008/01/31/good-languages-d-edition/ Review via The Art Of Software Engineering] == Download Index == Jesse Phillips has kindly compiled an index for the book that you can download in various formats. * [http://downloads.dsource.org/projects/tango/book/TangoIndex.pdf Index in PDF] * [http://downloads.dsource.org/projects/tango/book/TangoIndex.odt Index in ODT] - for Open Office / Abiword / KOffice * [http://downloads.dsource.org/projects/tango/book/TangoIndex.rtf Index in RTF] - Rich Text Format ''Feel free to suggest improvements, if so please use the ODT version.'' == Talks and Presentations == If you or your company is interested in talks or presentations on D and Tango, please [wiki:Contact contact] us. == Table of Contents == The book proper has 188 pages divided on the following subjects: 1. First Steps * Hello World * Source Modules * Package, Import, and Symbol Visibility * Installation * Compilation Tools 2. D Fundamentals * Declarations * Pointers * Arrays * Flow Control * Functions * Error Handling 3. D’s Object-Oriented Features * Modules * Structs and Unions * Classes * Interfaces 4. Procedural Lifetime * D Language Type Classifications * Scope and Lifetime * Storage Classes * Static Constructors * Lifetime Characteristics of Modules * Lifetime Characteristics of Functions * Garbage Collection 5. Templates * The Problem of Insufficient Information * Type Templates * Function Templates * Template Specialization * Template Metaprogramming * Compile-Time Function Evaluation 6. Text Processing * String-Manipulation Utilities * Text Class * Numeric Conversion * Layout and Formatting 7. Input and Output * Console I/O * Stream I/O * Network I/O * File Handling 8. The Other Packages * The Package Rundown * Threads and Fibers * Collections * Logging * And That’s Not All! == Errata == This is deferred to its own [wiki:LearnToTangoWithD/Errata Errata page]. == User Comments == [[EmbedReplies(DocComments,LearnToTangoWithD)]]