Skip to content
HomeVideosBooks
AllTopicsTrends
BlogsPodcasts
HistoryListsWatch laterLiked videosFollowing

The videos, books, blogs and podcasts Hacker News keeps recommending, all in one place.

VideosBooksBlogsPodcastsAboutPrivacySettings

Data from Hacker News, HackerTube, HackerBooks, HackerBlogs and Open Library. Credits · Not affiliated with Y Combinator.

HomeVideosBooksBlogsPodcasts
Ctrl K
    Cover of Design Patterns. Elements of Reusable Object-oriented Software

    Design Patterns. Elements of Reusable Object-oriented Software

    Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides · 1999

    Software EngineeringProgramming
    Open LibraryAmazon
    Stats for nerds
    4recommend
    9mentions
    9people
    2013–2024years
    44% recommend56% neutral

    Mentions per year

    2013201520172019202120232024

    What Hacker News says

    1. octo-andreroJun 2024
      The Knuth is great, for sure, and I encourage any efforts to build strong basement of fundamental knowledge. Still I would suggest you to change the focus. As a software engineer most of the time you won't implement complex generic algorithms. You will use them from libraries. These books will help you learn more about other important problems that software engineers face everyday:

      - Design patterns: Elements of Reusable Object Oriented Software by Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides

      - Test Driven Development by Kent Beck

      - Code Complete (2) by Steve McConnell

      thread
    2. protomokApr 2018
      ~ Books => I have most in digital and physical copies ~

      - The C Programming Language (2nd edition) - Brian Kerningham / Denis Ritchie

      - The C++ Programming Language (4th edition which discuss C++11) - Stroustrup

      - Design Patterns Elements of Reusable Object-Oriented Software - GoF

      - Effective C++, Effective Modern C++ - Scott Meyers

      ~ Specifications ~

      - C99 draft spec, C++11 draft spec (too cheap to buy official copies!)

      thread
    3. caiocOct 2015
      Very specific to OOP : "Design Patterns: Elements of Reusable Object-Oriented Software" by Erich Gamma, Richard Helm, Ralph Johnson and John Vlissides
      thread
    4. kushtiJul 2014
      The #1 book is "Design Patterns: Elements of Reusable Object-Oriented Software" by Gamma/ Helm / Johnson / Vlissides. It's about imperative programming though, functional/hybrid languages have other design patterns(but "Design Patterns" is #1 anyway).

      + Free Book "The Architecture of Open Source Applications" : http://hackershelf.com/book/54/the-architecture-of-open-sour...

      thread
    5. shagieMay 2024
      One certainly doesn't become a senior overnight. However, the GoF book is not a book for fundamentals for a self taught developer.

      I will also point out that the quote that I have and that you've quoted again is from Erich Gamma... of Design Patterns: Elements of Reusable Object-Oriented Software by by Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides.

      The GoF book on design patterns is a book for how to solve a common set of problems using these common solutions. What it is not is a "use these solutions in every well designed program".

      My read on the OP's question is one of "how to become a junior programmer" - they can read code but don't write it well. The GoF is not the next book on that path. It is a book to read after you've been designing and understand the pains of writing and designing larger pieces of software... but if you're still working on "write something that solves a problem in 200 lines" the GoF will not provide any solutions for those problems. ... And if you do try to apply the GoF to the 200 line long problems you'll have contrived solutions that are a synthetic design that, in the words of Erich Gamma "speculative designs that have flexibility that no one needs. These days software is too complex."

      thread
    6. JoeAltmaierDec 2019
      Revisionist history? The seminal work in Design Patterns (coined the term) came out in 1995

      Design Patterns (Elements of Reusable Object-Oriented Software), Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides, 1995]

      Same year Java was invented. Hard to imagine Java inspired it.

      thread

    Related

    Cover of Object-Oriented Analysis and Design with Applications
    2012–2025

    Object-Oriented Analysis and Design with Applications

    Grady Booch
    7 recommend · 13
    Cover of Design Patterns
    2007–2026

    Design Patterns

    Erich Gamma
    95 recommend · 491
    Cover of Object-oriented reengineering patterns
    2017–2022

    Object-oriented reengineering patterns

    Serge Demeyer
    2 recommend · 2
    Cover of A pattern language
    2007–2026

    A pattern language

    Christopher Alexander
    110 recommend · 368
    Cover of Pattern-oriented software architecture
    2014–2026

    Pattern-oriented software architecture

    Frank Buschmann
    6 recommend · 9
    Cover of Patterns of software
    2007–2026

    Patterns of software

    Richard P. Gabriel
    31 recommend · 70
    Cover of Refactoring to Patterns
    2009–2026

    Refactoring to Patterns

    Joshua Kerievsky
    15 recommend · 25
    Cover of Design Patterns in Ruby
    2009–2025

    Design Patterns in Ruby

    Russ Olsen
    15 recommend · 26