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 Data-Oriented Programming

    Data-Oriented Programming

    Yehonathan Sharvit · 2022

    Programming
    Open LibraryAmazon
    Stats for nerds
    2recommend
    8mentions
    8people
    2022–2026years
    25% recommend75% neutral

    Mentions per year

    20222023202420252026

    What Hacker News says

    1. ossm1dbMay 2025
      DDD is just the beginning. A successful architecture for AI app generation will apply DDD using data-context-iteraction (DCI) in conjunction with Data-Oriented Programming as described by Yehonathan Sharvit: https://blog.klipse.tech/dop/2022/06/22/principles-of-dop.ht... Note that the "DOP" espoused by Brian Goetz and others complicates AI app generation. It stipulates strong typing, that when combined with "making illegal states unrepresentable" (a concept borrowed from functional programming), makes change -- which is inevitable -- more difficult.
      thread
    2. markcOct 2024
      >The book itself uses Java, not Clojure.

      Almost all of the code examples in the book are in JavaScript (not Java) though a significant feature of Sharvit's approach is that it decouples Data Oriented Programming from any specific language. As a Clojure geek, I highly recommend the book as the way to achieve some of Clojure's core virtues in other languages.

      thread
    3. so-cal-schemerJun 2026
      See also:

      Data-Oriented Programming: Reduce software complexity

      by Yehonathan Sharvit

      https://www.manning.com/books/data-oriented-programming

      and from SICP:

      2.4.3 Data-Directed Programming and Additivity

      https://sarabander.github.io/sicp/html/2_002e4.xhtml#g_t2_00...

      thread
    4. LesZedCBDec 2023
      Yehonathan Sharvit wrote a post describing the difference between Data-Oriented Programming, Data-Oriented Design, and Data-Driven Design here. it's a 2 minute read or 15 second skim, very brief.

      https://blog.klipse.tech/visualization/2021/02/16/data-relat...

      it includes a nice summary of all of the above which may help when reading the OP.

      thread
    5. turtleyachtApr 2023
      Not just another discussion on programming style, but program development, with a focus on data.

      I like the idea of having models and enforcing themselves. For example, testing that three different API endpoints of a service match each other's idea of their objects. This is a sanity check when we verify the frontend state.

      If we could separate scraping from modeling constraints, we could potentially collect data separately from the verification step. Then we aren't left waiting for UI DOM stuff when we verify the model. The latter can happen separately, and extremely quickly.

      See also

      Data-Oriented Programming. Sharvit, Yehonathan. Manning 2022.

      Principles of Program Design. M.A. Jackson. 1975.

      SAM Pattern. Jean-Jacques Dubray. https://sam.js.org/

      thread
    6. KrugerDunningsFeb 2023
      One such "implementation language" as you call it is data-oriented programming (not to be confused with data-oriented design, which is used in game development and sort of has the same idea but different). DOP is build around the idea that your data object are just hashmaps and that you don't translate them to "real" objects. Like a record from a database or the response of a REST API is just a hashmap. Then you just have a transformations between these objects. The idea sort of sounds horrible because you are told not to do this but when done "the right way" it is a very flexible way to organise application. I think typescript can help with its opt-in approach to typing. Clojure has also explored much of the same idea and has optimised data structures for this. Yehonathan Sharvit has given some interesting talks about this and published a book about it[1][2].

      Anyway I thought it was sort of ironic that the idea is this good because it does the thing everyone tells you not to do (hashmap all the things), but now that someone has written a book on it you have at least the air of respectability.

      [1] https://www.youtube.com/watch?v=Vz9rkr_p3Ts [2] https://www.manning.com/books/data-oriented-programming

      thread

    Related

    Cover of Designing Data-Intensive Applications
    2014–2026

    Designing Data-Intensive Applications

    Martin Kleppmann
    457 recommend · 846
    Open Data StructuresPat Morin
    2012–2024

    Open Data Structures

    Pat Morin
    11 recommend · 12
    Cover of Purely functional data structures
    2007–2026

    Purely functional data structures

    Chris Okasaki
    87 recommend · 209
    Cover of Algorithms + data structures=programs
    2007–2026

    Algorithms + data structures=programs

    Niklaus Wirth
    35 recommend · 81
    Cover of Data structures and algorithms in Java
    2008–2022

    Data structures and algorithms in Java

    Adam Drozdek
    3 recommend · 8
    Cover of Practical Foundations for Programming Languages
    2013–2026

    Practical Foundations for Programming Languages

    Robert Harper
    17 recommend · 34
    Cover of Advanced data structures
    2016–2021

    Advanced data structures

    Peter Brass
    3 recommend · 4
    Cover of Practical Object Oriented Design In Ruby
    2012–2025

    Practical Object Oriented Design In Ruby

    Sandi Metz
    46 recommend · 72