How we did it:
For any feedback, any questions, any notes or just for chat - feel free to follow us on social networks
The first authoritative book on D, the next quantum leap beyond C++: Andrei Alexandrescu does for D what Kernighan/Ritchie did for C • •A comprehensive D tutorial and reference: covers all language essentials, and shows how to create effective D code in object-oriented, functional, generic, and other styles. •Prepares readers to successfully tackle programming tasks of virtually any size and complexity. •By Andrei Alexandrescu, a leader in the C++ community who has been intimately involved in D's design and development. The newly-emerging, highly-touted D programming language will bridge the gap between 'systems languages' such as C or C++, which favor efficient code generation, and 'productivity languages' such as Java, Python, or Ruby, which emphasize simplicity and fast design cycles. Combining the best of both approaches, D is a high-productivity programming language that generates highly-efficient machine code. It's easy-to-learn, easy-to-use, suitable for large, demanding applications, and draws on the latest advances in language theory, technology, and practice. D has been implemented for Windows, major Linux distributions, and Mac. In this book, one of D's leading designers and developers presents the entire language from start to finish. Both a tutorial and reference, Andrei Alexandrescu's The D Programming will do for D Language what the legendary Kernighan/Ritchie book did for C. Written for working programmers, it introduces all the essentials of the D language, and demonstrates how to use them to write clear, idiomatic D code in object-oriented, functional, generic, and other programming styles. Coverage includes: statements, functions, compound types, classes, templates, mixins, operator overloading, scaling applications, systems programming, the D Standard Library, and much more.
Michael Kircher, Prashant Jain
Efficient management of resources is critical in the execution of any kind of software. From embedded software in a mobile device to software in a large enterprise server, it is important that resources, such as memory, threading, files, or network connections, are managed efficiently to allow the systems to function properly and effectively. As the need for resource management is often discovered late in the software development lifecycle, and changing the system design at this late stage is difficult, it is important that such tasks are performed early in the lifecycle. Since systems belonging to different domains have different system constraints and requirements, a technique that works well in a particular system or configuration might not be so effective in another. POSA 3 uses patterns to present techniques for implementing effective resource management in a system. The patterns are covered in detail, making use of several examples, and, as in previous POSA volumes, directions are given on how to implement the presented patterns. Additionally, the volume presents a thorough introduction into resource management, and two case studies where the patterns are applied to the domains of ad hoc networking and mobile radio networks. The patterns are grouped by different areas of resource management and hence address the complete lifecycle of resources: resource acquisition, coordination and release.