Search Results: effective-c-55-specific-ways-to-improve-your-programs-and-designs-professional-computing

Effective C++

50 specific ways to improve your programs and designs

Author: N.A

Publisher: N.A

ISBN: 9780321334879


Page: 297

View: 5415

Effective C++

55 Specific Ways to Improve Your Programs and Designs

Author: Scott Meyers

Publisher: Pearson Education

ISBN: 0321334876

Category: Computers

Page: 297

View: 3739

Presents a collection of tips for programmers on ways to improve programming skills.

Effective STL

50 Specific Ways to Improve Your Use of the Standard Template Library

Author: Scott Meyers

Publisher: Pearson Education

ISBN: 0201749629

Category: Computers

Page: 260

View: 9859

"This is Effective C++ volume three - it's really that good." - Herb Sutter, independent consultant and secretary of the ISO/ANSI C++ standards committee "There are very few books which all C++ programmers must have. Add Effective STL to that list." - Thomas Becker, Senior Software Engineer, Zephyr Associates, Inc., and columnist, C/C++ Users Journal C++'s Standard Template Library is revolutionary, but learning to use it well has always been a challenge. Until now. In this book, best-selling author Scott Meyers ( Effective C++ , and More Effective C++ ) reveals the critical rules of thumb employed by the experts - the things they almost always do or almost always avoid doing - to get the most out of the library. Other books describe what's in the STL. Effective STL shows you how to use it. Each of the book's 50 guidelines is backed by Meyers' legendary analysis and incisive examples, so you'll learn not only what to do, but also when to do it - and why. Highlights of Effective STL include: Advice on choosing among standard STL containers (like vector and list), nonstandard STL containers (like hash_set and hash_map), and non-STL containers (like bitset). Techniques to maximize the efficiency of the STL and the programs that use it. Insights into the behavior of iterators, function objects, and allocators, including things you should not do. Guidance for the proper use of algorithms and member functions whose names are the same (e.g., find), but whose actions differ in subtle (but important) ways. Discussions of potential portability problems, including straightforward ways to avoid them. Like Meyers' previous books, Effective STL is filled with proven wisdom that comes only from experience. Its clear, concise, penetrating style makes it an essential resource for every STL programmer.

Effective Modern C++

42 Specific Ways to Improve Your Use of C++11 and C++14

Author: Scott Meyers

Publisher: "O'Reilly Media, Inc."

ISBN: 1491908424

Category: Computers

Page: 334

View: 2568

Coming to grips with C++11 and C++14 is more than a matter of familiarizing yourself with the features they introduce (e.g., auto type declarations, move semantics, lambda expressions, and concurrency support). The challenge is learning to use those features effectively—so that your software is correct, efficient, maintainable, and portable. That’s where this practical book comes in. It describes how to write truly great software using C++11 and C++14—i.e. using modern C++. Topics include: The pros and cons of braced initialization, noexcept specifications, perfect forwarding, and smart pointer make functions The relationships among std::move, std::forward, rvalue references, and universal references Techniques for writing clear, correct, effective lambda expressions How std::atomic differs from volatile, how each should be used, and how they relate to C++'s concurrency API How best practices in "old" C++ programming (i.e., C++98) require revision for software development in modern C++ Effective Modern C++ follows the proven guideline-based, example-driven format of Scott Meyers' earlier books, but covers entirely new material. "After I learned the C++ basics, I then learned how to use C++ in production code from Meyer's series of Effective C++ books. Effective Modern C++ is the most important how-to book for advice on key guidelines, styles, and idioms to use modern C++ effectively and well. Don't own it yet? Buy this one. Now". -- Herb Sutter, Chair of ISO C++ Standards Committee and C++ Software Architect at Microsoft

The C++ Programming Language

Author: Bjarne Stroustrup

Publisher: Pearson Education

ISBN: 0321563840

Category: Computers

Page: 1346

View: 2592

Offers information on using the C++ programming languge using the new C++11 standard, covering such topics as concurrency, facilities, standard libraries, and design techniques.

More Effective C++

35 New Ways to Improve Your Programs and Designs

Author: Scott Meyers

Publisher: Pearson Education

ISBN: 013279747X

Category: Computers

Page: 336

View: 1238

More than 150,000 copies in print! Praise for Scott Meyers’ first book, Effective C++: “I heartily recommend Effective C++ to anyone who aspires to mastery of C++ at the intermediate level or above.” – The C/C++ User’s Journal From the author of the indispensable Effective C++, here are 35 new ways to improve your programs and designs. Drawing on years of experience, Meyers explains how to write software that is more effective: more efficient, more robust, more consistent, more portable, and more reusable. In short, how to write C++ software that’s just plain better. More Effective C++ includes: Proven methods for improving program efficiency, including incisive examinations of the time/space costs of C++ language features Comprehensive descriptions of advanced techniques used by C++ experts, including placement new, virtual constructors, smart pointers, reference counting, proxy classes, and double-dispatching Examples of the profound impact of exception handling on the structure and behavior of C++ classes and functions Practical treatments of new language features, including bool, mutable, explicit, namespaces, member templates, the Standard Template Library, and more. If your compilers don’t yet support these features, Meyers shows you how to get the job done without them. More Effective C++ is filled with pragmatic, down-to-earth advice you’ll use every day. Like Effective C++ before it, More Effective C++ is essential reading for anyone working with C++.

Effective Objective-C 2.0

52 Specific Ways to Improve Your iOS and OS X Programs

Author: Matt Galloway

Publisher: Addison-Wesley

ISBN: 0133386945

Category: Computers

Page: 320

View: 3580

Write Truly Great iOS and OS X Code with Objective-C 2.0! Effective Objective-C 2.0 will help you harness all of Objective-C’s expressive power to write OS X or iOS code that works superbly well in production environments. Using the concise, scenario-driven style pioneered in Scott Meyers’ best-selling Effective C++, Matt Galloway brings together 52 Objective-C best practices, tips, shortcuts, and realistic code examples that are available nowhere else. Through real-world examples, Galloway uncovers little-known Objective-C quirks, pitfalls, and intricacies that powerfully impact code behavior and performance. You’ll learn how to choose the most efficient and effective way to accomplish key tasks when multiple options exist, and how to write code that’s easier to understand, maintain, and improve. Galloway goes far beyond the core language, helping you integrate and leverage key Foundation framework classes and modern system libraries, such as Grand Central Dispatch. Coverage includes Optimizing interactions and relationships between Objective-C objects Mastering interface and API design: writing classes that feel “right at home” Using protocols and categories to write maintainable, bug-resistant code Avoiding memory leaks that can still occur even with Automatic Reference Counting (ARC) Writing modular, powerful code with Blocks and Grand Central Dispatch Leveraging differences between Objective-C protocols and multiple inheritance in other languages Improving code by more effectively using arrays, dictionaries, and sets Uncovering surprising power in the Cocoa and Cocoa Touch frameworks

C++ Coding Standards

101 Rules, Guidelines, and Best Practices

Author: Herb Sutter,Andrei Alexandrescu

Publisher: Pearson Education

ISBN: 9780132654425

Category: Computers

Page: 240

View: 8692

Consistent, high-quality coding standards improve software quality, reduce time-to-market, promote teamwork, eliminate time wasted on inconsequential matters, and simplify maintenance. Now, two of the world's most respected C++ experts distill the rich collective experience of the global C++ community into a set of coding standards that every developer and development team can understand and use as a basis for their own coding standards. The authors cover virtually every facet of C++ programming: design and coding style, functions, operators, class design, inheritance, construction/destruction, copying, assignment, namespaces, modules, templates, genericity, exceptions, STL containers and algorithms, and more. Each standard is described concisely, with practical examples. From type definition to error handling, this book presents C++ best practices, including some that have only recently been identified and standardized-techniques you may not know even if you've used C++ for years. Along the way, you'll find answers to questions like What's worth standardizing--and what isn't? What are the best ways to code for scalability? What are the elements of a rational error handling policy? How (and why) do you avoid unnecessary initialization, cyclic, and definitional dependencies? When (and how) should you use static and dynamic polymorphism together? How do you practice "safe" overriding? When should you provide a no-fail swap? Why and how should you prevent exceptions from propagating across module boundaries? Why shouldn't you write namespace declarations or directives in a header file? Why should you use STL vector and string instead of arrays? How do you choose the right STL search or sort algorithm? What rules should you follow to ensure type-safe code? Whether you're working alone or with others, C++ Coding Standards will help you write cleaner code--and write it faster, with fewer hassles and less frustration.

Large-scale C++ Software Design

Author: John Lakos

Publisher: Addison-Wesley Professional

ISBN: 9780201633627

Category: Computers

Page: 846

View: 9236

In designing large-scale C++ applications, you are entering a dimension barely skimmed by most C++ books, particularly considering experience with small programming projects does not scale up to larger projects. This book unites high-level design concepts with specific C++ programming details to reveal practical methods for planning and implementing high-quality large C++ systems. You will learn the importance of physical design in large systems, how to structure your software as an acyclic hierarchy of components, and techniques for reducing link-time and compile-time dependencies. Then the book turns to logical design issues--architecting a component, designing a function, and implementing an object--all in the context of a large-project environment.

C++ Programming Style

Author: Tom Cargill

Publisher: Addison-Wesley Professional

ISBN: 9780201563658

Category: Computers

Page: 233

View: 6800

Today's languages have new capabilities, creating new questions on how the components should fit together. Using a learn-by-example approach, Cargill presents code from published sources--each example representing a common error made by C++ programmers--and shows readers how to critically examine and rewrite it.

Exceptional C++

47 Engineering Puzzles, Programming Problems, and Solutions

Author: Herb Sutter

Publisher: Addison-Wesley Professional

ISBN: 9780201615623

Category: Computers

Page: 208

View: 7563

The puzzles and problems in Exceptional C++ not only entertain, they will help you hone your skills to become the sharpest C++ programmer you can be. Many of these problems are culled from the famous Guru of the Week feature of the Internet newsgroup comp.lang.c++, moderated, expanded and updated to conform to the official ISO/ANSI C++ Standard. Try your skills against the C++ masters and come away with the insight and experience to create more efficient, effective, robust, and portable C++ code.

STL Tutorial and Reference Guide

C++ Programming with the Standard Template Library

Author: David R. Musser,Gillmer J. Derge,Atul Saini

Publisher: Addison-Wesley Professional

ISBN: 9780321702128

Category: Computers

Page: 509

View: 3987

"The second edition is clearer and adds more examples on how to use STL in a practical environment. Moreover, it is more concerned with performance and tools for its measurement. Both changes are very welcome." --Lawrence Rauchwerger, Texas A&M University "So many algorithms, so little time! The generic algorithms chapter with so many more examples than in the previous edition is delightful! The examples work cumulatively to give a sense of comfortable competence with the algorithms, containers, and iterators used." --Max A. Lebow, Software Engineer, Unisys Corporation The STL Tutorial and Reference Guide is highly acclaimed as the most accessible, comprehensive, and practical introduction to the Standard Template Library (STL). Encompassing a set of C++ generic data structures and algorithms, STL provides reusable, interchangeable components adaptable to many different uses without sacrificing efficiency. Written by authors who have been instrumental in the creation and practical application of STL, STL Tutorial and Reference Guide, Second Edition includes a tutorial, a thorough description of each element of the library, numerous sample applications, and a comprehensive reference. You will find in-depth explanations of iterators, generic algorithms, containers, function objects, and much more. Several larger, non-trivial applications demonstrate how to put STL's power and flexibility to work. This book will also show you how to integrate STL with object-oriented programming techniques. In addition, the comprehensive and detailed STL reference guide will be a constant and convenient companion as you learn to work with the library. This second edition is fully updated to reflect all of the changes made to STL for the final ANSI/ISO C++ language standard. It has been expanded with new chapters and appendices. Many new code examples throughout the book illustrate individual concepts and techniques, while larger sample programs demonstrate the use of the STL in real-world C++ software development. An accompanying Web site, including source code and examples referenced in the text, can be found at


Improving the Design of Existing Code

Author: Martin Fowler,Kent Beck,John Brant,William Opdyke,Don Roberts

Publisher: Addison-Wesley

ISBN: 013306526X

Category: Computers

Page: 455

View: 7204

As the application of object technology--particularly the Java programming language--has become commonplace, a new problem has emerged to confront the software development community. Significant numbers of poorly designed programs have been created by less-experienced developers, resulting in applications that are inefficient and hard to maintain and extend. Increasingly, software system professionals are discovering just how difficult it is to work with these inherited, "non-optimal" applications. For several years, expert-level object programmers have employed a growing collection of techniques to improve the structural integrity and performance of such existing software programs. Referred to as "refactoring," these practices have remained in the domain of experts because no attempt has been made to transcribe the lore into a form that all developers could use. . .until now. In Refactoring: Improving the Design of Existing Code, renowned object technology mentor Martin Fowler breaks new ground, demystifying these master practices and demonstrating how software practitioners can realize the significant benefits of this new process. With proper training a skilled system designer can take a bad design and rework it into well-designed, robust code. In this book, Martin Fowler shows you where opportunities for refactoring typically can be found, and how to go about reworking a bad design into a good one. Each refactoring step is simple--seemingly too simple to be worth doing. Refactoring may involve moving a field from one class to another, or pulling some code out of a method to turn it into its own method, or even pushing some code up or down a hierarchy. While these individual steps may seem elementary, the cumulative effect of such small changes can radically improve the design. Refactoring is a proven way to prevent software decay. In addition to discussing the various techniques of refactoring, the author provides a detailed catalog of more than seventy proven refactorings with helpful pointers that teach you when to apply them; step-by-step instructions for applying each refactoring; and an example illustrating how the refactoring works. The illustrative examples are written in Java, but the ideas are applicable to any object-oriented programming language.

Effective Python

59 Specific Ways to Write Better Python

Author: Brett Slatkin

Publisher: Pearson Education

ISBN: 0134034287

Category: Computers

Page: 227

View: 5282

"It's easy to start writing code with Python: that's why the language is so immensely popular. However, Python has unique strengths, charms, and expressivity that can be hard to grasp at first -- as well as hidden pitfalls that can easily trip you up if you aren't aware of them. Effective Python will help you harness the full power of Python to write exceptionally robust, efficient, maintainable, and well-performing code. Utilizing the concise, scenario-driven style pioneered in Scott Meyers's best-selling Effective C++, Brett Slatkin brings together 53 Python best practices, tips, shortcuts, and realistic code examples from expert programmers. Through realistic examples, Slatkin uncovers little-known Python quirks, intricacies, and idioms that powerfully impact code behavior and performance. You'll learn how to choose the most efficient and effective way to accomplish key tasks when multiple options exist, and how to write code that's easier to understand, maintain, and improve. Drawing on his deep understanding of Python's capabilities, Slatkin offers practical advice for each major area of development with both Python 3.x and Python 2.x. Coverage includes: * Algorithms * Objects * Concurrency * Collaboration * Built-in modules * Production techniques * And more Each section contains specific, actionable guidelines organized into items, each with carefully worded advice supported by detailed technical arguments and illuminating examples. Using Effective Python, you can systematically improve all the Python code you write: not by blindly following rules or mimicking incomprehensible idioms, but by gaining a deep understanding of the technical reasons why they make sense."--[Source inconnue].

Design Patterns in Modern C++

Reusable Approaches for Object-Oriented Software Design

Author: Dmitri Nesteruk

Publisher: Apress

ISBN: 1484236033

Category: Computers

Page: 314

View: 5736

Apply modern C++17 to the implementations of classic design patterns. As well as covering traditional design patterns, this book fleshes out new patterns and approaches that will be useful to C++ developers. The author presents concepts as a fun investigation of how problems can be solved in different ways, along the way using varying degrees of technical sophistication and explaining different sorts of trade-offs. Design Patterns in Modern C++ also provides a technology demo for modern C++, showcasing how some of its latest features (e.g., coroutines) make difficult problems a lot easier to solve. The examples in this book are all suitable for putting into production, with only a few simplifications made in order to aid readability. What You Will Learn Apply design patterns to modern C++ programming Use creational patterns of builder, factories, prototype and singleton Implement structural patterns such as adapter, bridge, decorator, facade and more Work with the behavioral patterns such as chain of responsibility, command, iterator, mediator and more Apply functional design patterns such as Monad and more Who This Book Is For Those with at least some prior programming experience, especially in C++.

A Tour of C++

Author: Bjarne Stroustrup

Publisher: Pearson Education

ISBN: 0321958314

Category: Computers

Page: 181

View: 8871

Extended and enhanced version of: The C++ programming language, Fourth edition.

The C++ Standard Library

A Tutorial and Handbook

Author: Nicolai M. Josuttis

Publisher: Addison-Wesley Professional

ISBN: 9780201379266

Category: Computers

Page: 799

View: 8726

Contains full coverage of the ANSI/ISO C++ standard. The text covers classes, methods, interfaces and objects that make up the standard C++ libraries.

Eloquent JavaScript, 2nd Ed.

A Modern Introduction to Programming

Author: Marijn Haverbeke

Publisher: No Starch Press

ISBN: 1593276613

Category: Computers

Page: 472

View: 1351

JavaScript lies at the heart of almost every modern web application, from social apps to the newest browser-based games. Though simple for beginners to pick up and play with, JavaScript is a flexible, complex language that you can use to build full-scale applications. Eloquent JavaScript, 2nd Edition dives deep into the JavaScript language to show you how to write beautiful, effective code. Author Marijn Haverbeke immerses you in example code from the start, while exercises and full-chapter projects give you hands-on experience with writing your own programs. As you build projects such as an artificial life simulation, a simple programming language, and a paint program, you’ll learn: –The essential elements of programming, including syntax, control, and data –How to organize and clarify your code with object-oriented and functional programming techniques –How to script the browser and make basic web applications –How to use the DOM effectively to interact with browsers –How to harness Node.js to build servers and utilities This edition is thoroughly revised and modernized to reflect the current state of Java­Script and web browsers, with brand-new material, such as a chapter on code performance in Java­Script, and expanded coverage of recursion and closures. All source code is available online in an inter­active sandbox, where you can edit the code, run it, and see its output instantly. Isn’t it time you became fluent in the language of the Web? Includes an exclusive chapter, only available in the No Starch Press edition!

Effective C++ Cd

85 Specific Ways to Improve Your Programs and Designs

Author: Scott Meyers

Publisher: Addison-Wesley

ISBN: 9780201310153

Category: Computers

Page: 8

View: 4493

Includes the text of Effective C++, Second Edition, and More Effective C++, and a collection of C++ magazine articles. This CD serves as a useful resource for any programmer who wants to learn C++.

Structure and Interpretation of Computer Programs

Author: Harold Abelson

Publisher: Mit Press

ISBN: 9780262011532

Category: Computers

Page: 657

View: 4063

Structure and Interpretation of Computer Programs has had a dramatic impact on computer science curricula over the past decade. This long-awaited revision contains changes throughout the text. There are new implementations of most of the major programming systems in the book, including the interpreters and compilers, and the authors have incorporated many small changes that reflect their experience teaching the course at MIT since the first edition was published. A new theme has been introduced that emphasizes the central role played by different approaches to dealing with time in computational models: objects with state, concurrent programming, functional programming and lazy evaluation, and nondeterministic programming. There are new example sections on higher-order procedures in graphics and on applications of stream processing in numerical programming, and many new exercises. In addition, all the programs have been reworked to run in any Scheme implementation that adheres to the IEEE standard.

Find eBook