How we did it:
For any feedback, any questions, any notes or just for chat - feel free to follow us on social networks
Ralph Johnson, Erich Gamma, John Vlissides, Richard Helm
Capturing a wealth of experience about the design of object-oriented software, four top-notch designers present a catalog of simple and succinct solutions to commonly occurring design problems. Previously undocumented, these 23 patterns allow designers to create more flexible, elegant, and ultimately reusable designs without having to rediscover the design solutions themselves. The authors begin by describing what patterns are and how they can help you design object-oriented software. They then go on to systematically name, explain, evaluate, and catalog recurring designs in object-oriented systems. With Design Patterns as your guide, you will learn how these important patterns fit into the software development process, and how you can leverage them to solve your own design problems most efficiently. Each pattern describes the circumstances in which it is applicable, when it can be applied in view of other design constraints, and the consequences and trade-offs of using the pattern within a larger design. All patterns are compiled from real systems and are based on real-world examples. Each pattern also includes code that demonstrates how it may be implemented in object-oriented programming languages like C++ or Smalltalk. 0201633612B07092001
Stanley B. Lippman
There is a lot of misinformation and myth about the overhead and costs associated with C++. Now Stan Lippman, the acclaimed author of the C++ Primer, answers the call for a book that gives strategy guidelines for C++ programming. Inside the C++ Object Model explains where overhead costs reside and what they actually consist of. The author explains which parts vary by implementation and which are invariant. He tells how the various implementation models arose, points out areas where they are likely to evolve, and explains why they are what they are. This book is a must for C++ programmers who want to understand the semantic implications of the C++ object model and how the model affects their programs.
This is, quite simply, the definitive reference on the most important development in software technology for the last 20 years: object-orientation.A whole generation was introduced to object technology through the first edition of this book. This long-awaited new edition retains the qualities of clarity, practicality and scholarship that made the first an instant best-seller, but has been thoroughly revised and expanded. Among the new topics covered in depth are: Concurrency, distribution, client/server and the Internet; object-oriented databases; design by contract; fundamental design patterns; finding classes; the use and misuse of inheritance; abstract data types; and typing issues. The book also includes completely updated discussions of reusability, modularity, software quality, object-oriented languages, memory management, and many other essential topics.All software developers and computer science students, worldwide.
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.
Anders Hejlsberg, Mads Torgersen, Scott Wiltamuth
The definitive reference to the C# Programming Language, updated for the new version 4.0, direct from its creator, Anders Hejlsberg * *New to this edition - all code presented in full color. *Contains insightful, valuable annotations from twelve leading C# programmers, available nowhere else. *C# has become the most widely used language for Windows development. *Anders Hejlsberg is the creator of C#, and a true legend among programmers. C# is now firmly established as the most-used language when writing applications for Windows and the Microsoft platform. Written by the language's architect, Anders Hejlsberg, and design team members, and now updated for C# 4.0, The C# Programming Language, 4/e, is the definitive technical reference for C#. It provides the most complete specification of the languages, along with descriptions, reference materials, and code samples from the C# design team. This edition also adds valuable notes, comments, and tips from twelve of the world's top C# programmers, including Bill Wagner, Chris Sells, Jesse Liberty, and Brad Abrams. It has been brought fully up to date with the new features of C# 4.0. And new to this edition, all the code will be presented in full color, so that it appears in the book exactly as it appears on screen. This book is a must-have for any developer using C# on a regular basis.
Chris Tavares, Brent Rector ATL internals, Kirk Fertitta
The Active Template Library (ATL) is a set of small, efficient, and flexible classes created by Microsoft that facilitate the creation of interoperable components for developing Windows applications. The latest version of ATL is version 8, released with Visual Studio 2005. While .NET has been getting all the attention recently, there is still a huge base of installed COM/ATL code. Many programmers are dealing with difficult issues adding new .NET code to that installed base. At the same time there are many instances where ATL is still the superior choice for new applications - applications that have to run fast and efficiently on Windows, where the CPU doesn't have the memory or bandwidth to run .NET. This book will be a godsend to developers in both of those situations. As one tech reviewer put it, "Any programmer needing to transition ATL code to .NET will need this book." The first edition was widely praised, and sold close to 20,000 units. While ATL is no longer the cutting edge of Microsoft developer tools, there should still be a strong market for authoritative, complete, deep coverage of the newest version of this standard tool.
David Thomas, Chad Fowler, Andrew Hunt
Summary: Ruby 1.9 was a major release of the language: it introduced multinationalization, new block syntax and scoping rules, a new, faster, virtual machine, and hundreds of new methods in dozens of new classes and modules. Ruby 2.0 is less radical--it has keyword arguments, a new regexp engine, and some library changes. This book describes it all. The first quarter of the book is a tutorial introduction that gets you up to speed with the Ruby language and the most important classes and libraries. Download and play with the hundreds of code samples as your experiment with the language. The second section looks at real-world Ruby, covering the Ruby environment, how to package, document, and distribute code, and how to work with encodings. The third part of the book is more advanced. In it, you'll find a full description of the language, an explanation of duck typing, and a detailed description of the Ruby object model and metaprogramming. The book ends with a reference section: comprehensive and detailed documentation of Ruby's libraries. You'll find descriptions and examples of more than 1,300 methods in 58 built-in classes and modules, along with brief descriptions of 97 standard libraries. Ruby makes your programming more productive; it makes coding fun again. And this book will get you up to speed with the very latest Ruby, quickly and enjoyably.