100 Best Object Oriented Programming Books of All Time

We've researched and ranked the best object oriented programming books in the world, based on recommendations from world experts, sales data, and millions of reader ratings. Learn more

Featuring recommendations from Bill Gates, Barack Obama, Oprah Winfrey, and 39 other experts.
1

Code Complete

Widely considered one of the best practical guides to programming, Steve McConnell's original CODE COMPLETE has been helping developers write better software for more than a decade. Now this classic book has been fully updated and revised with leading-edge practices--and hundreds of new code samples--illustrating the art and science of software construction. Capturing the body of knowledge available from research, academia, and everyday commercial practice, McConnell synthesizes the most effective techniques and must-know principles into clear, pragmatic guidance. No matter what your... more

Santiago BasultoIf my career path is hackers turned business people, I’d say: Start with the basics and fundamentals: SICP: Structure and Interpretation of Computer Programs Code Complete 2 (Source)

Ana BellCode Complete is for people working in industry, writing software for companies. It has little checklists at key points in the book; if you are in industry, you can make sure that your code is readable and debugged by going through these checklists and making sure you’re touching upon all aspects. (Source)

See more recommendations for this book...

2

Design Patterns

Elements of Reusable Object-Oriented Software

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...
more

See more recommendations for this book...

3
Fully Revised and Updated-Includes New Refactorings and Code Examples "Any fool can write code that a computer can understand. Good programmers write code that humans can understand."
--M. Fowler (1999) For more than twenty years, experienced programmers worldwide have relied on Martin Fowler's Refactoring to improve the design of existing code and to enhance software maintainability, as well as to make existing code easier to understand.
This eagerly awaited new edition has been fully updated to reflect crucial changes in the programming landscape. ...
more
Recommended by David Heinemeier Hansson, and 1 others.

David Heinemeier HanssonThis is next on my list of technical books to read! Refactoring is one of two programming books that I’ve read multiple times (the other is Smalltalk Best Practice Patterns), and I’m due for another reading. What perfect time then to dive into Martin Fowler’s long anticipated 2nd edition, now using JavaScript rather than Java for the code examples. Like the stoic books, I read Refactoring and... (Source)

See more recommendations for this book...

4
Even bad code can function. But if code isn t clean, it can bring a development organization to its knees. Every year, countless hours and significant resources are lost because of poorly written code. But it doesn t have to be that way.
Noted software expert Robert C. Martin presents a revolutionary paradigm with Clean Code: A Handbook of Agile Software Craftsmanship . Martin has teamed up with his colleagues from Object Mentor to distill their best agile practice of cleaning code on the fly into a book that will instill within you the values of a software craftsman and...
more
Recommended by Ana Bell, and 1 others.

Ana BellThis book is going to show you how to write code that is readable by yourself in the future, or by somebody else. You can sit on the couch and read it; you don’t need to code. You can actually enjoy it if you don’t know how to program at all. (Source)

See more recommendations for this book...

5

The Great Gatsby

A young man, newly rich, tries to recapture the past and win back his former love, despite the fact that she has married. less

Barack ObamaWhen he got to high school, the president said, his tastes changed and he learned to enjoy classics like “Of Mice and Men” and “The Great Gatsby.” (Source)

Bill GatesMelinda and I really like [this book]. When we were first dating, she had a green light that she would turn on when her office was empty and it made sense for me to come over. (Source)

Marvin LiaoFor Non-Business, I'd have to say Dune (Herbert), Emergency (Strauss), The Great Gatsby (Fitzgerald) or Flint (L'Amour). I re-read these books every year because they are just so well written & great stories that I get new perspective & details every time I read them. (Source)

See more recommendations for this book...

6

Head First Design Patterns

You're not alone.

At any given moment, somewhere in the world someone struggles with the same software design problems you have. You know you don't want to reinvent the wheel (or worse, a flat tire), so you look to Design Patterns--the lessons learned by those who've faced the same problems. With Design Patterns, you get to take advantage of the best practices and experience of others, so that you can spend your time on...something else. Something more challenging. Something more complex. Something more fun.

You want to learn about the patterns that matter--why to...
more

See more recommendations for this book...

7

99 Bottles of OOP

"Everybody complains about the weather but nobody does anything about it." Likewise, everyone has an opinion about what good code looks like, but those opinions don't help you create it. This book fills that gap. It explains the process of writing good code, and teaches you to achieve beautifully programmed ends by way of extremely practical means.
What It's About

99 Bottles of OOP is a practical guide to writing cost-effective, maintainable, and pleasing object-oriented code.

It explores:

Recognizing when code is "good enough"
Getting the best...
more

See more recommendations for this book...

8
The practice of enterprise application development has benefited from the emergence of many new enabling technologies. Multi-tiered object-oriented platforms, such as Java and .NET, have become commonplace. These new tools and technologies are capable of building powerful applications, but they are not easily implemented. Common failures in enterprise applications often occur because their developers do not understand the architectural lessons that experienced object developers have learned. Patterns of Enterprise Application Architecture is written in direct response to the... more
Recommended by David Heinemeier Hansson, and 1 others.

See more recommendations for this book...

9
Foreword by Kent Beck "The authors of this book have led a revolution in the craft of programming by controlling the environment in which software grows." --Ward Cunningham "At last, a book suffused with code that exposes the deep symbiosis between TDD and OOD. This one's a keeper." --Robert C. Martin "If you want to be an expert in the state of the art in TDD, you need to understand the ideas in this book."--Michael Feathers Test-Driven Development (TDD) is now an established technique for delivering better software faster. TDD is based on a simple... more

See more recommendations for this book...

10
The Complete Guide to Writing More Maintainable, Manageable, Pleasing, and Powerful Ruby Applications Ruby's widely admired ease of use has a downside: Too many Ruby and Rails applications have been created without concern for their long-term maintenance or evolution. The Web is awash in Ruby code that is now virtually impossible to change or extend. This text helps you solve that problem by using powerful real-world object-oriented design techniques, which it thoroughly explains using simple and practical Ruby examples. Sandi Metz has distilled a lifetime of conversations and... more

See more recommendations for this book...

Don't have time to read the top Object Oriented Programming books of all time? Read Shortform summaries.

Shortform summaries help you learn 10x faster by:

  • Being comprehensive: you learn the most important points in the book
  • Cutting out the fluff: you focus your time on what's important to know
  • Interactive exercises: apply the book's ideas to your own life with our educators' guidance.
11
"Eric Evans has written a fantastic book on how you can make the design of your software match your mental model of the problem domain you are addressing. "His book is very compatible with XP. It is not about drawing pictures of a domain; it is about how you think of it, the language you use to talk about it, and how you organize your software to reflect your improving understanding of it. Eric thinks that learning about your problem domain is as likely to happen at the end of your project as at the beginning, and so refactoring is a big part of his technique. "The book is a fun read. Eric... more
Recommended by David Heinemeier Hansson, and 1 others.

See more recommendations for this book...

12
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,...
more

See more recommendations for this book...

13

Head First Java

Learning a complex new language is no easy task especially when it s an object-oriented computer programming language like Java. You might think the problem is your brain. It seems to have a mind of its own, a mind that doesn't always want to take in the dry, technical stuff you're forced to study.

The fact is your brain craves novelty. It's constantly searching, scanning, waiting for something unusual to happen. After all, that's the way it was built to help you stay alive. It takes all the routine, ordinary, dull stuff and filters it to the background so it won't interfere with...
more

See more recommendations for this book...

14
Python's simplicity lets you become productive quickly, but this often means you aren't using everything it has to offer. With this hands-on guide, you'll learn how to write effective, idiomatic Python code by leveraging its best and possibly most neglected features. Author Luciano Ramalho takes you through Python's core language features and libraries, and shows you how to make your code shorter, faster, and more readable at the same time.

Many experienced programmers try to bend Python to fit patterns they learned from other languages, and never discover Python features outside...
more

See more recommendations for this book...

15

LabVIEW Graphical Programming, Fifth Edition

Publisher's Note: Products purchased from Third Party sellers are not guaranteed by the publisher for quality, authenticity, or access to any online entitlements included with the product.



LabVIEW programming techniques, tips, and practices


Learn to build effective LabVIEW programs using the detailed information contained in this thoroughly revised resource. This edition updates all content to align with the latest version and adds new chapters that clearly explain object-oriented programming methods, and...
more

See more recommendations for this book...

16

Elegant Objects

TL;DR There are 23 practical recommendations for object-oriented programmers. Most of them are completely against everything you've read in other books. For example, static methods, NULL references, getters, setters, and mutable classes are called evil. less

See more recommendations for this book...

17

Learning Python

Portable, powerful, and a breeze to use, Python is the popular open source object-oriented programming language used for both standalone programs and scripting applications. Python is considered easy to learn, but there's no quicker way to mastery of the language than learning from an expert teacher. This edition of "Learning Python" puts you in the hands of two expert teachers, Mark Lutz and David Ascher, whose friendly, well-structured prose has guided many a programmer to proficiency with the language. "Learning Python," Second Edition, offers programmers a comprehensive learning tool for... more

See more recommendations for this book...

18

Object-Oriented Analysis and Design with Applications

Grady Booch and his co-authors draw upon the rich and varied results of object-oriented software development projects and offer improved methods for their analysis and design, lightly making use of UML notation. Booch illustrates essential concepts, explains the method, and shows successful applications in a variety of fields. Booch also gives pragmatic advice on a host of issues, including classification, implementation strategies, and cost-effective project management. A two-time winner of Software Development's coveted Jolt Cola Product Excellence Award! less

See more recommendations for this book...

19

JavaScript

The Definitive Guide

Since 1996, JavaScript: The Definitive Guide has been the bible for JavaScript programmers—a programmer's guide and comprehensive reference to the core language and to the client-side JavaScript APIs defined by web browsers. The 6th edition covers HTML5 and ECMAScript 5, with new chapters on jQuery and server side JavaScript. It's recommended for experienced programmers who want to learn the programming language of the Web, and for current JavaScript programmers who want to master it. less

See more recommendations for this book...

Don't have time to read the top Object Oriented Programming books of all time? Read Shortform summaries.

Shortform summaries help you learn 10x faster by:

  • Being comprehensive: you learn the most important points in the book
  • Cutting out the fluff: you focus your time on what's important to know
  • Interactive exercises: apply the book's ideas to your own life with our educators' guidance.
21
A fast-paced, thorough introduction to modern C++ written for experienced programmers. After reading C++ Crash Course, you'll be proficient in the core language concepts, the C++ Standard Library, and the Boost Libraries.

C++ is one of the most widely used languages for real-world software. In the hands of a knowledgeable programmer, C++ can produce small, efficient, and readable code that any programmer would be proud of.

Designed for intermediate to advanced programmers, C++ Crash Course cuts through the weeds to get you straight to the core of C++17, the...
more

See more recommendations for this book...

22
Object-oriented programming (OOP) is the foundation of modern programming languages, including C++, Java, C#, Visual Basic .NET, Ruby, Objective-C, and Swift. Objects also form the basis for many web technologies such as JavaScript, Python, and PHP.
It is of vital importance to learn the fundamental concepts of object orientation before starting to use object-oriented development environments. OOP promotes good design practices, code portability, and reuse-but it requires a shift in thinking to be fully understood. Programmers new to OOP should resist the temptation to jump directly...
more

See more recommendations for this book...

23

Working Effectively with Legacy Code

Get more out of your legacy systems, more performance, functionality, reliability, and manageability.Is your code easy to change? Can you get nearly instantaneous feedback when you do change it? Do you understand it? If the answer to any of these questions is no, you have legacy code, and it is draining time and money away from your development efforts.

In this book, Michael Feathers offers start-to-finish strategies for working more effectively with large, untested legacy code bases. This book draws on material Michael created for his renowned Object Mentor seminars, techniques...
more

See more recommendations for this book...

24

The Art of the Metaobject Protocol

The CLOS metaobject protocol is an elegant, high-performance extension tothe CommonLisp Object System. The authors, who developed the metaobject protocol andwho were among the group that developed CLOS, introduce this new approach toprogramming language design, describe its evolution and design principles, andpresent a formal specification of a metaobject protocol for CLOS.Kiczales, desRivi?res, and Bobrow show that the "art of metaobject protocol design" lies increating a synthetic combination of object-oriented and reflective techniques thatcan be applied under existing software...

more
Recommended by Alan Kay, and 1 others.

Alan KayA real gem for helping to think about design and implementations. (Source)

See more recommendations for this book...

25
This classic book is the definitive real-world style guide for better Smalltalk programming. This author presents a set of patterns that organize all the informal experience successful Smalltalk programmers have learned the hard way. When programmers understand these patterns, they can write much more effective code. The concept of Smalltalk patterns is introduced, and the book explains why they work. Next, the book introduces proven patterns for working with methods, messages, state, collections, classes and formatting. Finally, the book walks through a development example utilizing... more
Recommended by David Heinemeier Hansson, and 1 others.

David Heinemeier HanssonMy favorite book about programming. It’s more than twenty years old now, but it remains as relevant as ever. It captures so many of the patterns I love to dance with when writing beautiful code. (Source)

See more recommendations for this book...

26

MATLAB Programming for Engineers

Master today's MATLAB technical programming language while strengthening problem-solving skills with the help of Chapman's successful MATLAB PROGRAMMING FOR ENGINEERS, 6th Edition. You learn how to write clean, efficient and well-documented programs as you simultaneously gain an understanding of the many practical functions of MATLAB. You study the latest version of MATLAB R2018a and work with new MATLAB GUI (Graphical User Interface) Apps. The first nine chapters provide a basic introduction to programming and problem solving, while the remaining chapters address more advanced topics, such... more

See more recommendations for this book...

27
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...
more

See more recommendations for this book...

28
You want increased customer satisfaction, faster development cycles, and less wasted work. Domain-driven design (DDD) combined with functional programming is the innovative combo that will get you there. In this pragmatic, down-to-earth guide, you'll see how applying the core principles of functional programming can result in software designs that model real-world requirements both elegantly and concisely - often more so than an object-oriented approach. Practical examples in the open-source F# functional language, and examples from familiar business domains, show you how to apply these... more

See more recommendations for this book...

29
Readers can take their PHP skills to the next level with this fully revised and updated PHP Advanced: Visual QuickPro Guide, Third Edition! Filled with fourteen chapters of step-by-step content and written by bestselling author and PHP programmer Larry Ullman, this guide teaches specific topics in direct, focused segments, shows how PHP is used in real-world applications. The book teaches developing web applications using advanced PHP techniques and advanced database concepts, and this edition offers several chapters devoted to object-oriented programming and all-new chapters on debugging,... more

See more recommendations for this book...

30
Build a software program—such as your own Web browser or weather-reporting application—without any programming experience! Featuring learn-by-doing projects and plenty of visual examples, this hands-on book is your quick start to creating applications for Microsoft Windows.

Have fun as you discover how to:


Design a rich user interface with easy-to-use tools “Drag and drop” text boxes, buttons, and other controls into your application Add database and reporting capabilities Exploit features that reduce the amount of code you write Find and fix any bugs Roll-out and...
more

See more recommendations for this book...

Don't have time to read the top Object Oriented Programming books of all time? Read Shortform summaries.

Shortform summaries help you learn 10x faster by:

  • Being comprehensive: you learn the most important points in the book
  • Cutting out the fluff: you focus your time on what's important to know
  • Interactive exercises: apply the book's ideas to your own life with our educators' guidance.
31

Design Patterns in Ruby

Praise for Design Patterns in Ruby

" Design Patterns in Ruby documents smart ways to resolve many problems that Ruby developers commonly encounter. Russ Olsen has done a great job of selecting classic patterns and augmenting these with newer patterns that have special relevance for Ruby. He clearly explains each idea, making a wealth of experience available to Ruby developers for their own daily work."

--Steve Metsker, Managing Consultant with Dominion Digital, Inc.

"This book provides a great demonstration of the key 'Gang of...
more

See more recommendations for this book...

32

Programming Python

If you've mastered Python's fundamentals, you're ready to start using it to get real work done. Programming Python will show you how, with in-depth tutorials on the language's primary application domains: system administration, GUIs, and the Web. You'll also explore how Python is used in databases, networking, front-end scripting layers, text processing, and more. This book focuses on commonly used tools and libraries to give you a comprehensive understanding of Python’s many roles in practical, real-world programming.

You'll learn language syntax and programming techniques...
more

See more recommendations for this book...

33

Mastering Regular Expressions

Regular expressions are an extremely powerful tool for manipulating text and data. They are now standard features in a wide range of languages and popular tools, including Perl, Python, Ruby, Java, VB.NET and C# (and any language using the .NET Framework), PHP, and MySQL.

If you don't use regular expressions yet, you will discover in this book a whole new world of mastery over your data. If you already use them, you'll appreciate this book's unprecedented detail and breadth of coverage. If you think you know all you need to know about regularexpressions, this book is a stunning...
more

See more recommendations for this book...

34

Python Pocket Reference

Updated for both Python 3.4 and 2.7, this convenient pocket guide is the perfect on-the-job quick reference. You’ll find concise, need-to-know information on Python types and statements, special method names, built-in functions and exceptions, commonly used standard library modules, and other prominent Python tools. The handy index lets you pinpoint exactly what you need.

Written by Mark Lutz—widely recognized as the world’s leading Python trainer—Python Pocket Reference is an ideal companion to O’Reilly’s classic Python tutorials, Learning Python and Programming Python, also...
more

See more recommendations for this book...

36

C# 7.0 in a Nutshell

The Definitive Reference

When you have questions about C# 7.0 or the .NET CLR and its core Framework assemblies, this bestselling guide has the answers you need. Since its debut in 2000, C# has become a language of unusual flexibility and breadth, but its continual growth means there's always more to learn.

Organized around concepts and use cases, this updated edition provides intermediate and advanced programmers with a concise map of C# and .NET knowledge. Dive in and discover why this Nutshell guide is considered the definitive reference on C#.


Get up to speed on the C# language, from...
more

See more recommendations for this book...

37
In just one hour a day, you'll have all the skills you need to begin programming in C++. With this complete tutorial, you'll quickly master the basics, and then move on to more advanced features and concepts. Completely updated for the C++14 standard, with a preview of C++17, this book presents the language from a practical point of view, helping you learn how to use C++ to create faster, simpler, and more efficient C++ applications.
Master the fundamentals of C++ and object-oriented programming Understand how C++ features help you write compact and efficient code using concepts such as...
more

See more recommendations for this book...

39

C++ Primer

Bestselling Programming Tutorial and Reference Completely Rewritten for the New C++11 Standard Fully updated and recast for the newly released C++11 standard, this authoritative and comprehensive introduction to C++ will help you to learn the language fast, and to use it in modern, highly effective ways. Highlighting today's best practices, the authors show how to use both the core language and its standard library to write efficient, readable, and powerful code. C++ Primer, Fifth Edition, introduces the C++ standard library from the outset, drawing on... more

See more recommendations for this book...

40
Object-Oriented Programming in C++ begins with the basic principles of the C++ programming language and systematically introduces increasingly advanced topics while illustrating the OOP methodology. While the structure of this book is similar to that of the previous edition, each chapter reflects the latest ANSI C++ standard and the examples have been thoroughly revised to reflect current practices and standards. less

See more recommendations for this book...

Don't have time to read the top Object Oriented Programming books of all time? Read Shortform summaries.

Shortform summaries help you learn 10x faster by:

  • Being comprehensive: you learn the most important points in the book
  • Cutting out the fluff: you focus your time on what's important to know
  • Interactive exercises: apply the book's ideas to your own life with our educators' guidance.
41
Written by a software developer for software developers, this book is a unique collection of the latest software development methods. The author includes OOD, UML, Design Patterns, Agile and XP methods with a detailed description of a complete software design for reusable programs in C++ and Java. Using a practical, problem-solving approach, it shows how to develop an object-oriented application--from the early stages of analysis, through the low-level design and into the implementation. Walks readers through the designer's thoughts -- showing the errors, blind alleys, and creative... more

See more recommendations for this book...

42
Master C# Programming with a unique Hands-On Project (Updated for VS Community 2017)

Have you always wanted to learn computer programming but are afraid it'll be too difficult for you? Or perhaps you know other programming languages but are interested in learning the C# language fast?

This book is for you. You no longer have to waste your time and money learning C# from boring books that are 600 pages long, expensive online courses or complicated C# tutorials that just leave you more confused.

What this book offers...
more

See more recommendations for this book...

43
If you want to learn how to program, working with Python is an excellent way to start. This hands-on guide takes you through the language a step at a time, beginning with basic programming concepts before moving on to functions, recursion, data structures, and object-oriented design. This second edition and its supporting code have been updated for Python 3.

Through exercises in each chapter, you'll try out programming concepts as you learn them. Think Python is ideal for students at the high school or college level, as well as self-learners, home-schooled students, and...
more

See more recommendations for this book...

44
Secrets of the JavaScript Ninja uses practical examples to clearly illustrate each core concept and technique. This completely revised edition shows you how to master key JavaScript concepts such as functions, closures, objects, prototypes, and promises. It covers APIs such as the DOM, events, and timers. You’ll discover best practice techniques such as testing, and cross-browser development, all taught from the perspective of skilled JavaScript practitioners. less

See more recommendations for this book...

45
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 bestseller, 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,...
more

See more recommendations for this book...

46
Applying UML and Patterns is the world’s #1 business and college introduction to “thinking in objects” - and using that insight in real-world object-oriented analysis and design. Building on two widely acclaimed previous editions, Craig Larman has updated this book to fully reflect the new UML 2 standard, to help you master the art of object design, and to promote high-impact, iterative, and skillful agile modeling practices.

Developers and students will learn object-oriented analysis and design (OOA/D) through three iterations of two cohesive, start-to-finish case studies....
more

See more recommendations for this book...

47
I am a self-taught programmer. After a year of self-study, I learned to program well enough to land a job as a software engineer II at eBay. Once I got there, I realized I was severely under-prepared. I was overwhelmed by the amount of things I needed to know but hadn't learned yet. My journey learning to program, and my experience at my first job as a software engineer were the inspiration for this book.

This book is not just about learning to program; although you will learn to code. If you want to program professionally, it is not enough to learn to code; that is why, in...
more

See more recommendations for this book...

48
(2nd Edition: Covers Object Oriented Programming)
Master Python Programming with a unique Hands-On Project


Have you always wanted to learn computer programming but are afraid it'll be too difficult for you? Or perhaps you know other programming languages but are interested in learning the Python language fast?

This book is for you. You no longer have to waste your time and money learning Python from lengthy books, expensive online courses or complicated Python tutorials.

What this book offers...

Python for...
more

See more recommendations for this book...

49
More than 300,000 developers have benefited from past editions of UML Distilled . This third edition is the best resource for quick, no-nonsense insights into understanding and using UML 2.0 and prior versions of the UML. Some readers will want to quickly get up to speed with the UML 2.0 and learn the essentials of the UML. Others will use this book as a handy, quick reference to the most common parts of the UML. The author delivers on both of these promises in a short, concise, and focused presentation. This book describes all the major UML diagram types, what they're used... more

See more recommendations for this book...

Don't have time to read the top Object Oriented Programming books of all time? Read Shortform summaries.

Shortform summaries help you learn 10x faster by:

  • Being comprehensive: you learn the most important points in the book
  • Cutting out the fluff: you focus your time on what's important to know
  • Interactive exercises: apply the book's ideas to your own life with our educators' guidance.
53
Want to learn the Python language without slogging your way through how-to manuals? With Head First Python, you'll quickly grasp Python's fundamentals, working with the built-in data structures and functions. Then you'll move on to building your very own webapp, exploring database management, exception handling, and data wrangling. If you're intrigued by what you can do with context managers, decorators, comprehensions, and generators, it's all here. This second edition is a complete learning experience that will help you become a bonafide Python programmer in no time.
more

See more recommendations for this book...

54
Follows two TDD projects from start to finish, illustrating techniques programmers can use to increase the quality of their work. The examples are followed by references to the featured TDD patterns and refactorings. This book emphasises on agile methods and fast development strategies. less

See more recommendations for this book...

55

Object-Oriented Design Heuristics

Provides a set of metrics that helps determine the quality of object-oriented models. This book offers insight into object-oriented design improvement. The more than sixty guidelines presented in this book are language-independent and allow you to rate the integrity of a software design. less

See more recommendations for this book...

56
Easy to understand and fun to read, this updated edition of Introducing Python is ideal for beginning programmers as well as those new to the language. Author Bill Lubanovic takes you from the basics to more involved and varied topics, mixing tutorials with cookbook-style code recipes to explain concepts in Python 3. End-of-chapter exercises help you practice what you've learned.

You'll gain a strong foundation in the language, including best practices for testing, debugging, code reuse, and other development tips. This book also shows you how to use Python for applications...
more

See more recommendations for this book...

58

Indestructibles

Plip-Plop Pond!

Show baby all the animals that love to splash in a book that’s indestructible!
 

Who plays in the mud? Turtle!
Who glides across the water? Swan!
Who sings on a tree branch? Kingfisher!

 
Indestructibles is the trusted series for easing little ones into story time. Beloved by babies and their parents, Indestructibles are built for the way babies “read” (i.e., with their hands and mouths) and are:


Rip Proof—made of ultra-durable tight-woven material
Waterproof—can be chewed on, drooled on,...
more

See more recommendations for this book...

59
The Systems Modeling Language (SysML) extends UML with powerful systems engineering capabilities for modeling a wider spectrum of systems and capturing all aspects of a system's design. SysML Distilled is the first clear, concise guide for everyone who wants to start creating effective SysML models.

(Drawing on his pioneering experience at Lockheed Martin and NASA, Lenny Delligatti illuminates SysML's core components and provides practical advice to help you create good models and good designs. Delligatti begins with an easy-to-understand overview of Model-Based...
more

See more recommendations for this book...

60
Move into iOS development by getting a firm grasp of its fundamentals, including the Xcode 10 IDE, Cocoa Touch, and the latest version of Apple's acclaimed programming language, Swift 5. With this thoroughly updated guide, you'll learn the Swift language, understand Apple's Xcode development tools, and discover the Cocoa framework.


Explore Swift's object-oriented concepts
Become familiar with built-in Swift types
Dive deep into Swift objects, protocols, and generics
Tour the lifecycle of an Xcode project
Learn how nibs are loaded
Understand Cocoa's...
more

See more recommendations for this book...

Don't have time to read the top Object Oriented Programming books of all time? Read Shortform summaries.

Shortform summaries help you learn 10x faster by:

  • Being comprehensive: you learn the most important points in the book
  • Cutting out the fluff: you focus your time on what's important to know
  • Interactive exercises: apply the book's ideas to your own life with our educators' guidance.
61

Programming in Haskell

Haskell is a purely functional language that allows programmers to rapidly develop clear, concise, and correct software. The language has grown in popularity in recent years, both in teaching and in industry. This book is based on the author's experience of teaching Haskell for more than twenty years. All concepts are explained from first principles and no programming experience is required, making this book accessible to a broad spectrum of readers. While Part I focuses on basic concepts, Part II introduces the reader to more advanced topics. This new edition has been extensively updated and... more

See more recommendations for this book...

62
What will you learn from this book?

It's no secret the world around you is becoming more connected, more configurable, more programmable, more computational. You can remain a passive participant, or you can learn to code. With Head First Learn to Code you'll learn how to think computationally and how to write code to make your computer, mobile device, or anything with a CPU do things for you. Using the Python programming language, you'll learn step by step the core concepts of programming as well as many fundamental topics from computer science,...
more

See more recommendations for this book...

64
"An Introduction to Object-Oriented Programming with Java" takes a full-immersion approach to object-oriented programming. Proper object-oriented design practices are emphasized throughout the book. Students learn how to use the standard classes first, then learn to design their own classes. Wu uses a gentler approach to teaching students how to design their own classes, separating the coverage into two chapters. GUI coverage is also located independently in the back of the book and can be covered if desired.

Wu also features a robust set of instructors' materials including...
more

See more recommendations for this book...

65

Scala Cookbook

Save time and trouble when using Scala to build object-oriented, functional, and concurrent applications. With more than 250 ready-to-use recipes and 700 code examples, this comprehensive cookbook covers the most common problems you’ll encounter when using the Scala language, libraries, and tools. It’s ideal not only for experienced Scala developers, but also for programmers learning to use this JVM language.

Author Alvin Alexander (creator of DevDaily.com) provides solutions based on his experience using Scala for highly scalable, component-based applications that support...
more

See more recommendations for this book...

66

Object Thinking

In OBJECT THINKING, esteemed object technologist David West contends that the mindset makes the programmer not the tools and techniques. Delving into the history, philosophy, and even politics of object-oriented programming, West reveals how the best programmers rely on analysis and conceptualization on thinking rather than formal process and methods. Both provocative and pragmatic, this book gives form to what s primarily been an oral tradition among the field s revolutionary thinkers and it illustrates specific object-behavior practices that you can adopt for true object design and superior... more

See more recommendations for this book...

67
One of the great things about the book is the way the authors explain concepts very simply using analogies rather than programming examples this has been very inspiring for a product I'm working on: an audio-only introduction to OOP and software development." Bruce Eckel ..".I would expect that readers with a basic understanding of object-oriented programming and design would find this book useful, before approaching design patterns completely. "Design Patterns Explained "complements the existing design patterns texts and may perform a very useful role, fitting between introductory texts such... more

See more recommendations for this book...

68

Ruby Science

The reference for writing fantastic Rails applications

You build web applications, and you love Ruby on Rails because it provides a framework for developing applications that are are fast, fun, and easy to change. Over time these applications can become bloated, development slows down, and changes to the codebase become painful.

This book was written to help you learn to detect emerging problems in your codebase; we'll deliver the solutions for fixing them, and maintaining an application that will be fun to work on for years to come.

In addition to the book...
more

See more recommendations for this book...

69
"Introduction to Programming with Greenfoot: Object-Oriented Programming in Java with games and Simulations" is ideal for introductory courses in Java Programming or Introduction to Computer Science. "The only textbook to teach Java programming using Greenfoot--this is "Serious Fun." " Programming doesn't have to be dry and boring. This book teaches Java programming in an interactive and engaging way that is technically relevant, pedagogically sound, and highly motivational for students. Using the Greenfoot environment, and an extensive collection of compelling example projects, students are... more

See more recommendations for this book...

70

Night Work (Kate Martinelli, #4)

Kate and her partner, Al Hawkin, are called to a scene of carefully executed murder: the victim is a muscular man, handcuffed and strangled, a stun gun's faint burn on his chest and candy in his pocket. The likeliest person to want him dead, his often-abused wife, is meek and frail—and has an airtight alibi. Kate and Al are stumped, until a second body turns up—also zapped, cuffed, and strangled...and carrying a candy bar. This victim: a convicted rapist. As newspaper headlines speculate about vendetta killings, a third death draws Kate and Al into a network of pitiless destruction that... more

See more recommendations for this book...

Don't have time to read the top Object Oriented Programming books of all time? Read Shortform summaries.

Shortform summaries help you learn 10x faster by:

  • Being comprehensive: you learn the most important points in the book
  • Cutting out the fluff: you focus your time on what's important to know
  • Interactive exercises: apply the book's ideas to your own life with our educators' guidance.
71

Java Illuminated

Written for the one- to three-term introductory programming course, the fifth edition of Java Illuminated provides learners with an interactive, user-friendly approach to learning the Java programming language. Comprehensive but accessible, the text takes a progressive approach to object-oriented programming, allowing students to build on established skills to develop new and increasingly complex classes. Java Illuminated follows an activity-based active learning approach that ensures student engagement and interest. New & Key Features of the Fifth Edition: - Updated to include Java 8 and... more

See more recommendations for this book...

72
“Kate Shackleton joins Jacqueline Winspear’s Maisie Dobbs… They make excellent heroines.”  --Literary Review

A pawn-shop robbery
It's no rest for the wicked as Kate Shackleton picks up her second professional sleuthing case. But exposing the culprit of a pawn-shop robbery turns sinister when her investigation takes her to Harrogate - and murder is only one step behind ...

A fatal stabbing
A night at the theatre should have been just what the doctor ordered, until Kate stumbles across a body in the doorway. The knife sticking out of...
more

See more recommendations for this book...

75

Practices of the Python Pro

Summary
Professional developers know the many benefits of writing application code that’s clean, well-organized, and easy to maintain. By learning and following established patterns and best practices, you can take your code and your career to a new level.
With Practices of the Python Pro, you’ll learn to design professional-level, clean, easily maintainable software at scale using the incredibly popular programming language, Python. You’ll find easy-to-grok examples that use pseudocode and Python to introduce software development best practices, along with dozens of...
more

See more recommendations for this book...

76

C++ All-In-One for Dummies

Get ahead of the C++ curve to stay in the game C++ is the workhorse of programming languages and remains one of the most widely used programming languages today. It's cross-platform, multi-functional, and updates are typically open-source. The language itself is object-oriented, offering you the utmost control over data usage, interface, and resource allocation. If your job involves data, C++ proficiency makes you indispensable.

C++ All-in-One For Dummies, 3rd Edition is your number-one handbook to C++ mastery. Author John Paul Mueller is a recognized authority in the...
more

See more recommendations for this book...

77

Murach's C#

This core C# book has been a favorite of developers ever since the 1st edition came out in 2004. So you can be sure that this 6th edition will deliver the professional skills you're looking for.

It's a self-paced book that shows how to use Visual Studio 2015, C# 6.0, and the .NET 4.6 classes to develop Windows Forms applications...whether you're new to programming or not. It's an object-oriented book that shows how to use business classes, inheritance, and interfaces the way they're used in the real world. It's a data programming book that shows how to create professional database...
more

See more recommendations for this book...

79

Natural Language Processing with Python

This book offers a highly accessible introduction to natural language processing, the field that supports a variety of language technologies, from predictive text and email filtering to automatic summarization and translation. With it, you'll learn how to write Python programs that work with large collections of unstructured text. You'll access richly annotated datasets using a comprehensive range of linguistic data structures, and you'll understand the main algorithms for analyzing the content and structure of written communication.

Packed with examples and exercises, Natural...
more

See more recommendations for this book...

80
So you want to be a programmer? Or maybe you just want to be able to make your computer do what YOU want for a change? Maybe you enjoy the challenge of identifying a problem and solving it. If programming intrigues you for whatever reason, Beginning Programming All-In-One Desk Reference For Dummies is like having a starter programming library all in one handy, if beefy, book. In this practical guide, you'll find out about compiling, algorithms, best practices, debugging your programs, and much more. The concepts are illustrated in several different programming languages, so you'll get... more

See more recommendations for this book...

Don't have time to read the top Object Oriented Programming books of all time? Read Shortform summaries.

Shortform summaries help you learn 10x faster by:

  • Being comprehensive: you learn the most important points in the book
  • Cutting out the fluff: you focus your time on what's important to know
  • Interactive exercises: apply the book's ideas to your own life with our educators' guidance.
81
For courses in Java programming A clear and student-friendly way to teach the fundamentals of Java Starting Out with Java: Early Objects, 6th Edition features Tony Gaddis's accessible, step-by-step presentation which helps beginning students understand the important details necessary to become skilled programmers at an introductory level. Gaddis motivates the study of both programming skills and the Java programming language by presenting all the details needed to understand the "how" and the "why"-but never losing sight of the fact that most beginners struggle... more

See more recommendations for this book...

82
Fritzson covers the Modelica language in impressive depth from the basic concepts such as cyber-physical, equation-base, object-oriented, system, model, and simulation, while also incorporating over a hundred exercises and their solutions for a tutorial, easy-to-read experience.

The only book with complete Modelica 3.3 coverage Over one hundred exercises and solutions Examines basic concepts such as cyber-physical, equation-based, object-oriented, system, model, and simulation
less

See more recommendations for this book...

83

C++ Pocket Reference

C++ is a complex language with many subtle facets. This is especially true when it comes to object-oriented and template programming. The C++ Pocket Reference is a memory aid for C++ programmers, enabling them to quickly look up usage and syntax for unfamiliar and infrequently used aspects of the language. The book's small size makes it easy to carry about, ensuring that it will always be at-hand when needed. Programmers will also appreciate the book's brevity; as much information as possible has been crammed into its small pages.

In the C++ Pocket Reference, you will...
more

See more recommendations for this book...

84
If you're grounded in the basics of Swift, Xcode, and the Cocoa framework, this book provides a structured explanation of all essential real-world iOS app components. Through deep exploration and copious code examples, you'll learn how to create views, manipulate view controllers, and add features from iOS frameworks.


Create, arrange, draw, layer, and animate views that respond to touch
Use view controllers to manage multiple screens of interface
Master interface classes for scroll views, table views, text, popovers, split views, web views, and controls
Dive...
more

See more recommendations for this book...

85
Your hands-on guide to Microsoft Visual C# fundamentals with Visual Studio 2017
Expand your expertise--and teach yourself the fundamentals of programming with the latest version of Visual C# with Visual Studio 2017. If you are an experienced software developer, you'll get all the guidance, exercises, and code you need to start building responsive, scalable, cloud-connected applications that can run almost anywhere. .
Discover how to:
Quickly start creating Visual C# code and projects with Visual Studio 2017 Work with variables, operators, expressions,...
more

See more recommendations for this book...

86
Learn to use the Java Persistence API (JPA) and other related APIs as found in the Java EE 8 platform from the perspective of one of the specification creators. A one-of-a-kind resource, this in-depth book provides both theoretical and practical coverage of JPA usage for experienced Java developers.
Authors Mike Keith, Merrick Schincariol and Massimo Nardone take a hands-on approach, based on their wealth of experience and expertise, by giving examples to illustrate each concept of the API and showing how it is used in practice. The examples use a common model from an overarching sample...
more

See more recommendations for this book...

87

Pattern-Oriented Software Architecture Volume 1

A System of Patterns

Pattern-oriented software architecture is a new approach to software development. This book represents the progression and evolution of the pattern approach into a system of patterns capable of describing and documenting large-scale applications. A pattern system provides, on one level, a pool of proven solutions to many recurring design problems. On another it shows how to combine individual patterns into heterogeneous structures and as such it can be used to facilitate a constructive development of software systems. Uniquely, the patterns that are presented in this book span several levels... more

See more recommendations for this book...

88

Object Design

Roles, Responsibilities, and Collaborations

Focuses on the practice of designing objects as integral members of a community where each object has specific roles and responsibilities. This work includes the practices and techniques of Responsibility-Driven Design, and show how to apply them as you develop modern object-based applications. It is suitable for software designers and students. less

See more recommendations for this book...

89
How can software developers, programmers and managers meet the challenges of the 90s and begin to resolve the software crisis? less

See more recommendations for this book...

Don't have time to read the top Object Oriented Programming books of all time? Read Shortform summaries.

Shortform summaries help you learn 10x faster by:

  • Being comprehensive: you learn the most important points in the book
  • Cutting out the fluff: you focus your time on what's important to know
  • Interactive exercises: apply the book's ideas to your own life with our educators' guidance.
91
Java is one of the world's most commonly used programming languages. Many of those eager to start learning Java don't want just the basics, they want to learn how to apply their new knowledge in the workplace. "Beginning Java Programming" provides readers a serious education on Java so they can apply their new skills in the real world. The book discusses the fundamentals of Java programming language and is based on the latest version and covers using Java to develop applications in a Java IDE, Oracle JDeveloper.

The book places an emphasis on OOP principles, and is geared for those...
more

See more recommendations for this book...

92

Think Java

How to Think Like a Computer Scientist

Currently used at many colleges, universities, and high schools, this hands-on introduction to computer science is ideal for people with little or no programming experience. The goal of this concise book is not just to teach you Java, but to help you think like a computer scientist. You’ll learn how to program—a useful skill by itself—but you’ll also discover how to use programming as a means to an end.

Authors Allen Downey and Chris Mayfield start with the most basic concepts and gradually move into topics that are more complex, such as recursion and object-oriented programming....
more

See more recommendations for this book...

94

Java Programming

Discover the power of Java(TM) for developing applications today when you trust the engaging, hands-on approach in Farrell's JAVA PROGRAMMING, 9E. Even if you're a first-time programmer, JAVA PROGRAMMING can show you how to quickly start developing useful programs, all while still mastering the basic principles of structured and object-oriented programming. Unique, reader-friendly explanations and meaningful programming exercises emphasize business applications and game creation while useful debugging exercises and contemporary case problems further expand your understanding. Additional... more

See more recommendations for this book...

95
Java works in almost every situation, from small hand-held devices right up to supercomputers. This text has been tailored to meet the needs of the beginning Java programmer, with hands-on coverage, step-by-step instructions and tutorials. less

See more recommendations for this book...

96
Database skills are among the most in-demand IT skills today. Now you can gain a solid foundation in database design and implementation with the practical, easy-to-understand approach in the market-leading DATABASE SYSTEMS: DESIGN, IMPLEMENTATION, AND MANAGEMENT, 13E. Diagrams, illustrations, and tables clarify in-depth coverage of database design. You learn the key to successful database implementation as you study how to properly design databases to fit within the larger strategic data environment. Clear, straightforward writing supports an outstanding balance of theory and practice with... more

See more recommendations for this book...

97
* Objects First Approach. Students learn to design with objectsfrom the start. In more traditional approaches, students firstlearn "programming basics in the context of procedural programmingin the small." Since this frame of reference is essentially uselesswhen attacking large-scale problems, students must later "re-learnhow to approach problems. Instructors can present material from apoint of view that will "make sense" throughout the curriculum.Presentation and justification of programming principles and goodtechniques is easier.
* Emphasis on the distinction between class...
more

See more recommendations for this book...

99

Murach's JavaScript and jQuery

Today, jQuery is used by more than half of the 10,000 most-visited web sites, and jQuery is one of the technologies that every web developer should master. The trouble is that jQuery is difficult to learn, especially for programming novices. Now, this new book makes it easier than ever to learn jQuery, jQuery UI (User Interface), and jQuery Mobile. less

See more recommendations for this book...

100
&>

NOTE: You are purchasing a standalone product; MyProgrammingLab does not come packaged with this content. If you would like to purchase both the physical text and MyProgrammingLab search for ISBN-10: 0133441849/ISBN-13: 9780133441840 . That package includes ISBN-10: 0133452255/ISBN-13: 9780133452259 and ISBN-10: 013336092X/ISBN-13: 9780133360929.
MyProgrammingLab should only be purchased when required by an instructor.

Tony Gaddis's accessible, step-by-step...
more

See more recommendations for this book...

Don't have time to read the top Object Oriented Programming books of all time? Read Shortform summaries.

Shortform summaries help you learn 10x faster by:

  • Being comprehensive: you learn the most important points in the book
  • Cutting out the fluff: you focus your time on what's important to know
  • Interactive exercises: apply the book's ideas to your own life with our educators' guidance.