Practical Software Architecture Solutions from the Legendary Robert C. Martin (âUncle Bobâ)
By applying universal rules of software architecture, you can dramatically improve developer productivity throughout the life of any software system. Now, building upon the success of his best-selling books Clean Code and The Clean Coder, legendary software craftsman Robert C. Martin (âUncle Bobâ) reveals those rules and helps you apply them.
Martinâs Clean Architecture doesnât merely present options. Drawing on over a half-century of experience in software environments of every imaginable type, Martin tells you what choices to make and why they are critical to your success. As youâve come to expect from Uncle Bob, this book is packed with direct, no-nonsense solutions for the real challenges youâll faceâthe ones that will make or break your projects.
Clean Architecture is essential reading for every current or aspiring software architect, systems analyst, system designer, and software managerâand for every programmer who must execute someone elseâs designs.
Register your product at informit.com/register for convenient access to downloads, updates, and/or corrections as they become available.
The new edition of an introductory text that teaches students the art of computational problem solving, covering topics ranging from simple algorithms to information visualization.
This book introduces students with little or no prior programming experience to the art of computational problem solving using Python and various Python libraries, including PyLab. It provides students with skills that will enable them to make productive use of computational techniques, including some of the tools and techniques of data science for using computation to model and interpret data. The book is based on an MIT course (which became the most popular course offered through MIT's OpenCourseWare) and was developed for use not only in a conventional classroom but in in a massive open online course (MOOC). This new edition has been updated for Python 3, reorganized to make it easier to use for courses that cover only a subset of the material, and offers additional material including five new chapters.
Students are introduced to Python and the basics of programming in the context of such computational concepts and techniques as exhaustive enumeration, bisection search, and efficient approximation algorithms. Although it covers such traditional topics as computational complexity and simple algorithms, the book focuses on a wide range of topics not found in most introductory texts, including information visualization, simulations to model randomness, computational techniques to understand data, and statistical techniques that inform (and misinform) as well as two related but relatively advanced topics: optimization problems and dynamic programming. This edition offers expanded material on statistics and machine learning and new chapters on Frequentist and Bayesian statistics.
Rust is a new systems programming language that combines the performance and low-level control of C and C++ with memory safety and thread safety. Rustâs modern, flexible types ensure your program is free of null pointer dereferences, double frees, dangling pointers, and similar bugs, all at compile time, without runtime overhead. In multi-threaded code, Rust catches data races at compile time, making concurrency much easier to use.
Written by two experienced systems programmers, this book explains how Rust manages to bridge the gap between performance and safety, and how you can take advantage of it. Topics include:
The first edition of C Programming: A Modern Approach was popular with students and faculty alike because of its clarity and comprehensiveness as well as its trademark Q&A sections.
âIn this second edition of Extreme Programming Explained, Kent Beck organizes and presents five yearsâ worth of experiences, growth, and change revolving around XP. If you are seriously interested in understanding how you and your team can start down the path of improvement with XP, you must read this book.â âFrancesco Cirillo, Chief Executive Officer, XPLabs S.R.L.
âThe first edition of this book told us what XP wasâit changed the way many of us think about software development. This second edition takes it farther and gives us a lot more of the âwhyâ of XP, the motivations and the principles behind the practices. This is great stuff. Armed with the âwhatâ and the âwhy,â we can now all set out to confidently work on the âhowâ: how to run our projects better, and how to get agile techniques adopted in our organizations.â âDave Thomas, The Pragmatic Programmers LLC
âThis book is dynamite! It was revolutionary when it first appeared a few years ago, and this new edition is equally profound. For those who insist on cookbook checklists, thereâs an excellent chapter on âprimary practices,â but I urge you to begin by truly contemplating the meaning of the opening sentence in the first chapter of Kent Beckâs book: âXP is about social change.â You should do whatever it takes to ensure that every IT professional and every IT managerâall the way up to the CIOâhas a copy of Extreme Programming Explained on his or her desk.â âEd Yourdon, author and consultant
âXP is a powerful set of concepts for simplifying the process of software design, development, and testing. It is about minimalism and incrementalism, which are especially useful principles when tackling complex problems that require a balance of creativity and discipline.â âMichael A. Cusumano, Professor, MIT Sloan School of Management, and author of The Business of Software
âExtreme Programming Explained is the work of a talented and passionate craftsman. Kent Beck has brought together a compelling collection of ideas about programming and management that deserves your full attention. My only beef is that our profession has gotten to a point where such common-sense ideas are labeled âextreme.â...â âLou Mazzucchelli, Fellow, Cutter Business Technology Council
âIf your organization is ready for a change in the way it develops software, thereâs the slow incremental approach, fixing things one by one, or the fast track, jumping feet first into Extreme Programming. Do not be frightened by the name, it is not that extreme at all. It is mostly good old recipes and common sense, nicely integrated together, getting rid of all the fat that has accumulated over the years.â âPhilippe Kruchten, UBC, Vancouver, British Columbia
âSometimes revolutionaries get left behind as the movement they started takes on a life of its own. In this book, Kent Beck shows that he remains ahead of the curve, leading XP to its next level. Incorporating five years of feedback, this book takes a fresh look at what it takes to develop better software in less time and for less money. There are no silver bullets here, just a set of practical principles that, when used wisely, can lead to dramatic improvements in software development productivity.â âMary Poppendieck, author of Lean Software Development: An Agile Toolkit
âKent Beck has revised his classic book based on five more years of applying and teaching XP. He shows how the path to XP is both easy and hard: It can be started with fewer practices, and yet it challenges teams to go farther than ever.â âWilliam Wake, independent consultant
âWith new insights, wisdom from experience, and clearer explanations of the art of Extreme Programming, this edition of Beckâs classic will help many realize the dream of outstanding software development.â âJoshua Kerievsky, author of Refactoring to Patterns and Founder, Industrial Logic, Inc.
âXP has changed the way our industry thinks about software development. Its brilliant simplicity, focused execution, and insistence on fact-based planning over speculation have set a new standard for software delivery.â âDavid Trowbridge, Architect, Microsoft Corporation
Accountability. Transparency. Responsibility. These are not words that are often applied to software development.
In this completely revised introduction to Extreme Programming (XP), Kent Beck describes how to improve your software development by integrating these highly desirable concepts into your daily development process.
The first edition of Extreme Programming Explained is a classic. It won awards for its then-radical ideas for improving small-team development, such as having developers write automated tests for their own code and having the whole team plan weekly. Much has changed in five years. This completely rewritten second edition expands the scope of XP to teams of any size by suggesting a program of continuous improvement based on:
Whether you have a small team that is already closely aligned with your customers or a large team in a gigantic or multinational organization, you will find in these pages a wealth of ideas to challenge, inspire, and encourage you and your team members to substantially improve your software development.
You will discover how to:
You will also find many other concrete ideas for improvement, all based on a philosophy that emphasizes simultaneously increasing the humanity and effectiveness of software development.
Every team can improve. Every team can begin improving today. Improvement is possibleâbeyond what we can currently imagine. Extreme Programming Explained, Second Edition, offers ideas to fuel your improvement for years to come.
The new C++11 standard allows programmers to express ideas more clearly, simply, and directly, and to write faster, more efficient code. Bjarne Stroustrup, the designer and original implementer of C++, has reorganized, extended, and completely rewritten his definitive reference and tutorial for programmers who want to use C++ most effectively.
The C++ Programming Language, Fourth Edition, delivers meticulous, richly explained, and integrated coverage of the entire languageâits facilities, abstraction mechanisms, standard libraries, and key design techniques. Throughout, Stroustrup presents concise, âpure C++11â examples, which have been carefully crafted to clarify both usage and program design. To promote deeper understanding, the author provides extensive cross-references, both within the book and to the ISO standard.
New C++11 coverage includes
Topics addressed in this comprehensive book include
This fourth edition makes C++11 thoroughly accessible to programmers moving from C++98 or other languages, while introducing insights and techniques that even cutting-edge C++11 programmers will find indispensable.
This is a hardcover version of the Fourth Edition. Content in this hardcover and the paperback version is identical.
This book features an enhanced, layflat binding, which allows the book to stay open more easily when placed on a flat surface. This special binding methodânoticeable by a small space inside the spineâalso increases durability.
If you want to learn how to program but don't know where to start, this is the right book and the right language for you. From the first page, our unique self-paced approach will help you build competence and confidence in your programming skills. And Python is the best language ever for learning how to program because of its simplicity and breadth...two features that are hard to find in a single language.
But this isn't just a book for newbies! Our self-paced approach also works for experienced programmers, helping you learn faster and better than you've ever learned a language before. By the time you're through, you will have mastered all of the Python skills that are needed on the job, including those for object-oriented, database, and GUI programming.
To make all of this possible, section 1 of this book presents an 8-chapter course that will get anyone off to a great start. Section 2 builds on that base by presenting the other essential skills that every Python programmer should have. Section 3 shows you how to develop object-oriented programs, a critical skillset in today's world. And section 4 shows you how to apply all of the skills that you've already learned as you build database and GUI programs for the real world.
Manage research, learning and skills at IT1me. Create an account using LinkedIn to manage and organize your IT knowledge. IT1me works like a shopping cart for information -- helping you to save, discuss and share.