Skip to content
HomeVideos
AllLongsCategoriesPlaylists
BooksBlogsPodcasts
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

    Data-Oriented Demo: SOA, composition

    Jonathan Blow

    1 HN recommender · recommended in 3 months, 2015–2020

    YouTube

    1:32:47 · 201K views · Jan 21, 2015

    A live-coded demo by Jonathan Blow showing how to get object-system-style expressiveness in a data-oriented way, covering structure-of-arrays layouts and composition. It shows features of his Jai language that make programs fast.

    HN points to it as the practical demonstration of data-oriented design, including structure packing and switching between AOS and SOA.

    Software Engineering & LanguagesSoftware architecture & designProgramming language designSoftware performance & optimization
    1. 46:40
      Andrew Kelley: A Practical Guide to Applying Data Oriented Design (DoD)ChimiChanga416K views • 2 years ago
    2. 1:27:46
      CppCon 2014: Mike Acton "Data-Oriented Design and C++"CppCon863K views • 12 years ago
    3. 44:35
      Object-Oriented Programming is BadBrian Will2.6M views • 10 years ago
    4. 22:41
      "Clean" Code, Horrible PerformanceMolly Rocket1.2M views • 3 years ago
    5. 1:03:31
      Brian Goetz - Stewardship: the Sobering PartsClojureTV39K views • 11 years ago
    6. 1:55:24
      Ideas about a new programming language for games.Jonathan Blow530K views • 12 years ago
    7. 1:01:40
      Demo: Implicit ContextJonathan Blow28K views • 11 years ago
    8. 1:00:46
      CppCon 2018: Stoyan Nikolov “OOP Is Dead, Long Live Data-oriented Design”CppCon271K views • 8 years ago
    9. 2:07:18
      Demo: Base language, compile-time executionJonathan Blow164K views • 12 years ago
    10. 1:14:52
      Effective Programs - 10 Years of Clojure - Rich HickeyClojureTV176K views • 9 years ago
    11. 1:13:00
      Jonathan Blow - Jai Demo and Design Explanation (KEYNOTE) - UpdatedLambdaConf241K views • 1 year ago
    12. 34:55
      "Outperforming Imperative with Pure Functional Languages" by Richard FeldmanStrange Loop Conference98K views • 5 years ago
    13. 58:24
      #Gamelab2018 - Jon Blow's Design decisions on creating Jai a new language for game programmersGamelab Conference210K views • 8 years ago
    14. 2:27:34
      Casey Muratori – The Big OOPs: Anatomy of a Thirty-five-year Mistake – BSC 2025Better Software Conference929K views • 1 year ago
    15. 1:29:27
      The Forgotten Art of Structured Programming - Kevlin Henney [C++ on Sea 2019]cpponsea245K views • 7 years ago
    16. 30:12
      Casey Muratori | Smart-Pointers, RAII, ZII? Becoming an N+2 programmerxDahl163K views • 2 years ago
    17. 59:04
      On the Expressive Power of Programming Languages by Shriram Krishnamurthi [PWLConf 2019]PapersWeLove27K views • 7 years ago
    18. 30:37
      High-performance Tree Wrangling, the APL Way // Aaron Hsu // Dyalog '18Dyalog User Meetings5.8K views • 7 years ago
    19. 1:01:39
      "Simple Made Easy" - Rich Hickey (2011)Strange Loop Conference220K views • 5 years ago
    20. 56:39
      Alan Kay - Programming and ScalingColin McDonnell36K views • 11 years ago

    4 comments from Hacker News

    1. @tomywsFeb 2015· in “The Lost Art of C Structure Packing”

      He gives a fantastic walkthrough on his approach to structure packing in the data-oriented demo[1]. [1] this video

      Strongly recommendsView on HN
    2. @agentultraFeb 2015· in “An introduction to NoFlo and flow-based programming”

      I think you're referring to confirmation bias which is related but not quite the same. Never the less I understand what you're getting at. I took it to mean that the kinds of problems a programmer encounters is not sufficiently random to properly determine the usefulness of a given language or "paradigm." Which may keep people from switching to new, better tools (or from trying them out at all). The data-oriented design thing is interesting and something I've heard come and go over the years. Check out: [LINK] and this video A video demonstration of Jai; a new compiler from Jonathan Blow designed around this paradigm. Cheers!

      CitesView on HN
    3. @taliesinbApr 2015· in “The death of optimizing compilers [pdf]”

      > I'm not aware of any general-purpose language where this is an option to any significant degree (silent AOS-to-SOA, hot-vs-cold data segregation, tree clustering, etc...) Not yet, of course, because it hasn't been released, but Jonathan Blow's Jai language offers transparent switching between AOS and SOA, as well as many other features that make it easy to explore the 'optimization space' of a program manually. this video (for those who don't know, Jonathan Blow was the creator of Braid)

      CitesView on HN
    4. @clucasAug 2020· in “Handles Are the Better Pointers (2018)”

      Here is the demo video of the stuff zero_iq is talking about: this video Basically right on point with what the GP is saying.

      CitesView on HN