Uncle Bob Martin

Uncle Bob Martin

Software Craftsman

'

20+ Book Recommendations by Uncle Bob Martin

  • The Annotated Turing

    Charles Petzold

    Provides an expansion of Turing's original paper, a brief look at his life, and information on the Turing machine and computability topics.

    @robinelisharob1 @d4rktrick @martinfowler Read “The Annotated Turing” by Charles Petzold. A wonderful book that you will find _very_ instructive and educational.

  • 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 idea: Write tests for your code before you write the code itself. However, this "simple" idea takes skill and judgment to do well. Now there's a practical guide to TDD that takes you beyond the basic concepts. Drawing on a decade of experience building real-world systems, two TDD pioneers show how to let tests guide your development and "grow" software that is coherent, reliable, and maintainable. Steve Freeman and Nat Pryce describe the processes they use, the design principles they strive to achieve, and some of the tools that help them get the job done. Through an extended worked example, you'll learn how TDD works at multiple levels, using tests to drive the features and the object-oriented structure of the code, and using Mock Objects to discover and then describe relationships between objects. Along the way, the book systematically addresses challenges that development teams encounter with TDD--from integrating TDD into your processes to testing your most difficult features. Coverage includes * Implementing TDD effectively: getting started, and maintaining your momentum throughout the project * Creating cleaner, more expressive, more sustainable code * Using tests to stay relentlessly focused on sustaining quality * Understanding how TDD, Mock Objects, and Object-Oriented Design come together in the context of a real software development project * Using Mock Objects to guide object-oriented designs * Succeeding where TDD is difficult: managing complex test data, and testing persistence and concurrency

    @2100_ok https://t.co/5tn2vxPVSU

  • The Joy of Clojure

    Michael Fogus

    Summary The Joy of Clojure, Second Edition is a deep look at the Clojure language. Fully updated for Clojure 1.6, this new edition goes beyond just syntax to show you the "why" of Clojure and how to write fluent Clojure code. You'll learn functional and declarative approaches to programming and will master the techniques that make Clojure so elegant and efficient. Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications. About the Technology The Clojure programming language is a dialect of Lisp that runs on the Java Virtual Machine and JavaScript runtimes. It is a functional programming language that offers great performance, expressive power, and stability by design. It gives you built-in concurrency and the predictable precision of immutable and persistent data structures. And it's really, really fast. The instant you see long blocks of Java or Ruby dissolve into a few lines of Clojure, you'll know why the authors of this book call it a "joyful language." It's no wonder that enterprises like Staples are betting their infrastructure on Clojure. About the Book The Joy of Clojure, Second Edition is a deep account of the Clojure language. Fully updated for Clojure 1.6, this new edition goes beyond the syntax to show you how to write fluent Clojure code. You'll learn functional and declarative approaches to programming and will master techniques that make Clojure elegant and efficient. The book shows you how to solve hard problems related to concurrency, interoperability, and performance, and how great it can be to think in the Clojure way. Appropriate for readers with some experience using Clojure or common Lisp. What's Inside Build web apps using ClojureScript Master functional programming techniques Simplify concurrency Covers Clojure 1.6 About the Authors Michael Fogus and Chris Houser are contributors to the Clojure and ClojureScript programming languages and the authors of various Clojure libraries and language features. Table of Contents PART 1 FOUNDATIONS Clojure philosophy Drinking from the Clojure fire hose Dipping your toes in the pool PART 2 DATA TYPES On scalars Collection types PART 3 FUNCTIONAL PROGRAMMING Being lazy and set in your ways Functional programming PART 4 LARGE-SCALE DESIGN Macros Combining data and code Mutation and concurrency Parallelism PART 5 HOST SYMBIOSIS Java.next Why ClojureScript? PART 6 TANGENTIAL CONSIDERATIONS Data-oriented programming Performance Thinking programs Clojure changes the way you think

    @otaviolemos Thus one is fun. It will get you started with a minimum of fuss. After that, The Joy of Clojure. But they are all great books. So don’t stop with just those two. https://t.co/D7a6vbZv6n

  • Using anecdotes, analogies, examples and parables, this user-friendly guide offers techniques for getting any programming job done effectively, and can help any programmer improve skills, no matter what level. Incorporates today's top languages, including Java, C, C++, and Perl.

    @2KAbhishek @sapanparikh18 @elonmusk @sandromancuso @mashooq @AdamTornhill @satyanadella @martinfowler @venkat_s @ProfFeynman @richardjwild @trisha_gee @eMalaGupta @MahuaMoitra @supriya_sule @nicolefv @LOLrakshak Both great books. If you want to know my list you’ll find it at https://t.co/fOEH4mWSas.

  • Programmers can learn how to become entrepreneurs, driving their career in the direction of their choosing. This guide illustrates how those in the IT field can set the direction of their careers, leading to a more fulfilling and remarkable professional life.

    @2KAbhishek @sapanparikh18 @elonmusk @sandromancuso @mashooq @AdamTornhill @satyanadella @martinfowler @venkat_s @ProfFeynman @richardjwild @trisha_gee @eMalaGupta @MahuaMoitra @supriya_sule @nicolefv @LOLrakshak Both great books. If you want to know my list you’ll find it at https://t.co/fOEH4mWSas.

  • The sole survivor on a desperate, last-chance mission to save both humanity and the earth, Ryland Grace is hurtled into the depths of space when he must conquer an extinction-level threat to our species.

    I haven’t binge read a book in years; but “Hail Mary” was worth every hour. Great read! @andyweirauthor

  • Clean Craftsmanship

    Robert C. Martin

    In Clean Craftmanship: Programming with Pride, the legendary Robert C. Martin ("Uncle Bob") has written every programmer's definitive guide to working well. Martin brings together the disciplines, standards, and ethics you need to deliver robust, effective code quickly and productively, and be proud of all the software you write - every single day. Martin, the best-selling author of The Clean Coder, begins with a pragmatic, technical, and prescriptive guide to five foundational disciplines of software craftsmanship: test-driven development, refactoring, simple design, collaborative programming (pairing), and acceptance tests. Next, he moves up to standards -- outlining the baseline expectations the world has of software developers, illuminating how those often differ from their own perspectives, and helping you repair the mismatch. Finally, he turns to the ethics of the programming profession, describing ten fundamental promises all software developers should make to their colleagues, their users, and above all, themselves. With Martin's guidance and advice, you can consistently write code that builds trust instead of undermining it: trust among your users, and throughout a society that depends on software for its very survival.

    In stock! https://t.co/b35AEcyh2M https://t.co/ThaT51VUjL https://t.co/RnX1ptPpmR

  • 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 own renowned Object Mentor seminars: techniques Michael has used in mentoring to help hundreds of developers, technical managers, and testers bring their legacy systems under control. This book also includes a catalog of twenty-four dependency-breaking techniques that help you work with program elements in isolation and make safer changes.

    Some light afternoon re-reading. A book that has aged well. https://t.co/TSFvIksqtW

  • Bobiverse fans: a signed limited edition of all three books in a boxed set, signed by the author, is now available on Amazon. Look for The Bobiverse [Signed Limited Edition] on Amazon Bob Johansson has just sold his software company and is looking forward to a life of leisure. There are places to go, books to read, and movies to watch. So it's a little unfair when he gets himself killed crossing the street. Bob wakes up a century later to find that corpsicles have been declared to be without rights, and he is now the property of the state. He has been uploaded into computer hardware and is slated to be the controlling AI in an interstellar probe looking for habitable planets. The stakes are high: no less than the first claim to entire worlds. If he declines the honor, he'll be switched off, and they'll try again with someone else. If he accepts, he becomes a prime target. There are at least three other countries trying to get their own probes launched first, and they play dirty. The safest place for Bob is in space, heading away from Earth at top speed. Or so he thinks. Because the universe is full of nasties, and trespassers make them mad - very mad.

    If you are a programmer, or a techie, you’ll enjoy the “Bobiverse” books by Denis E Taylor.

  • @Honey_Ramgarhia I wrote such a book. https://t.co/I2fW9pQIE0

  • @carsonalh @xixiaofinland @patmcclellan__c @FormAssembly Read James Grenning’s (@jwgrenning) book on the topic. https://t.co/PrPaijcnU8

  • Analysis Patterns

    Martin Fowler

    In his long-awaited book, Martin Fowler has done for application domain patterns what the Gang of Four [Gamma et al.] have done for general purpose design patterns in their book, Design Patterns: Elements of Reusable Object-Oriented Software. This book is a must have for all analysts and designers doing object-oriented business modeling and business process re-engineering. —Donald G. Firesmith, Knowledge Systems Corporation Fowler shares with you his wealth of object modeling experience and his keen eye for identifying repeating problems and transforming them into reusable models. Analysis Patterns provides a catalogue of patterns that have emerged in a wide range of domains, including trading, measurement, accounting, and organizational relationships.

    A vastly underrated book that all programmers should be familiar with is: Analysis Patterns by @martinfowler.

  • "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.

    @malte_boettcher The Structure and Interpretation of Computer Programming.

  • Clean Architecture

    Robert C. Martin

    Building upon the success of best-sellers The Clean Coder and Clean Code, legendary software craftsman Robert C. "Uncle Bob" Martin shows how to bring greater professionalism and discipline to application architecture and design. As with his other books, Martin's Clean Architecture doesn't merely present multiple choices and options, and say "use your best judgment": it tells you what choices to make, and why those choices are critical to your success. Martin offers direct, is essential reading for every software architect, systems analyst, system designer, and software manager-- and for any programmer who aspires to these roles or is impacted by their work.

    @sapanparikh18 That was an experiment by @jasongorman, and appears in the Clean Architecture book iirc.

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

    @DrakeLoud @kentcdodds The Design Patterns book is the most important software book written within the last three decades. It contains critical knowledge that every software developer should know by heart.

  • @_vaux https://t.co/lUrhJXTJNY

  • Clean Code

    Robert C. Martin

    Looks at the principles and clean code, includes case studies showcasing the practices of writing clean code, and contains a list of heuristics and "smells" accumulated from the process of writing clean code.

    @mick_1203 1. Clean Code. 2. Clean Coder 3. Clean Architecture. 4. Agile Software Development, Principles, Patterns, and Practices. 5. Clean Agile.

  • The Clean Coder

    Robert C. Martin

    Presents practical advice on the disciplines, techniques, tools, and practices of computer programming and how to approach software development with a sense of pride, honor, and self-respect.

    @mick_1203 1. Clean Code. 2. Clean Coder 3. Clean Architecture. 4. Agile Software Development, Principles, Patterns, and Practices. 5. Clean Agile.

  • Clean Architecture

    Robert C. Martin

    Building upon the success of best-sellers The Clean Coder and Clean Code, legendary software craftsman Robert C. "Uncle Bob" Martin shows how to bring greater professionalism and discipline to application architecture and design. As with his other books, Martin's Clean Architecture doesn't merely present multiple choices and options, and say "use your best judgment": it tells you what choices to make, and why those choices are critical to your success. Martin offers direct, is essential reading for every software architect, systems analyst, system designer, and software manager-- and for any programmer who aspires to these roles or is impacted by their work.

    @mick_1203 1. Clean Code. 2. Clean Coder 3. Clean Architecture. 4. Agile Software Development, Principles, Patterns, and Practices. 5. Clean Agile.

  • Audience: Programmers and developers Format: Hardcover, 38 Chapters Approach: Presents a series of case studies illustrating the fundamentals of Agile development and Agile design, and moves quickly from UML models to real C# code. Competition: Newkirk (MS Press), Jeffried (MSPress)

    @mick_1203 1. Clean Code. 2. Clean Coder 3. Clean Architecture. 4. Agile Software Development, Principles, Patterns, and Practices. 5. Clean Agile.

  • Clean Agile

    Robert C. Martin

    "Nearly twenty years after the Agile Manifesto was first presented, the legendary Robert C. Martin ("Uncle Bob") reintroduces Agile values and principles for a new generation–programmers and nonprogrammers alike. Martin, author of Clean Code and other highly influential software development guides, was there at Agile's founding. Now, in Clean Agile: Back to Basics, he strips away misunderstandings and distractions that over the years have made it harder to use Agile than was originally intended. Martin describes what Agile is in no uncertain terms: a small discipline that helps small teams manage small projects with huge implications because every big project is comprised of many small projects. Drawing on his fifty years’ experience with projects of every conceivable type, he shows how Agile can help you bring true professionalism to software development."--provided by publisher.

    @mick_1203 1. Clean Code. 2. Clean Coder 3. Clean Architecture. 4. Agile Software Development, Principles, Patterns, and Practices. 5. Clean Agile.

  • Clean Architecture

    Robert C. Martin

    Building upon the success of best-sellers The Clean Coder and Clean Code, legendary software craftsman Robert C. "Uncle Bob" Martin shows how to bring greater professionalism and discipline to application architecture and design. As with his other books, Martin's Clean Architecture doesn't merely present multiple choices and options, and say "use your best judgment": it tells you what choices to make, and why those choices are critical to your success. Martin offers direct, is essential reading for every software architect, systems analyst, system designer, and software manager-- and for any programmer who aspires to these roles or is impacted by their work.

    @py_jac @ugonna_t @martinfowler And the, of course, there’s “Clean Architecture”. https://t.co/aLtVjgPzIX

  • Midnight in Chernobyl

    Adam Higginbotham

    A New York Times Best Book of the Year A Time Best Book of the Year A Kirkus Reviews Best Nonfiction Book of the Year 2020 Andrew Carnegie Medals for Excellence Finalist One of NPR’s Best Books of 2019 Journalist Adam Higginbotham’s definitive, years-in-the-making account of the Chernobyl nuclear power plant disaster—and a powerful investigation into how propaganda, secrecy, and myth have obscured the true story of one of the twentieth century’s greatest disasters. Early in the morning of April 26, 1986, Reactor Number Four of the Chernobyl Atomic Energy Station exploded, triggering history’s worst nuclear disaster. In the thirty years since then, Chernobyl has become lodged in the collective nightmares of the world: shorthand for the spectral horrors of radiation poisoning, for a dangerous technology slipping its leash, for ecological fragility, and for what can happen when a dishonest and careless state endangers its citizens and the entire world. But the real story of the accident, clouded from the beginning by secrecy, propaganda, and misinformation, has long remained in dispute. Drawing on hundreds of hours of interviews conducted over the course of more than ten years, as well as letters, unpublished memoirs, and documents from recently-declassified archives, Adam Higginbotham has written a harrowing and compelling narrative which brings the disaster to life through the eyes of the men and women who witnessed it firsthand. The result is a masterful nonfiction thriller, and the definitive account of an event that changed history: a story that is more complex, more human, and more terrifying than the Soviet myth. Midnight in Chernobyl is an indelible portrait of one of the great disasters of the twentieth century, of human resilience and ingenuity, and the lessons learned when mankind seeks to bend the natural world to his will—lessons which, in the face of climate change and other threats, remain not just vital but necessary.

    Outstanding. Terrifying. Extremely detailed and technical. It’s changed my mind about many things. Midnight in Chernobyl: The Untold Story of the World's Greatest Nuclear Disaster https://t.co/vMPsugiNKh