Data-Oriented Demo: SOA, composition
Jonathan Blow1 HN recommenders · 2015–2020
201K views · demo · evergreen · Uploaded 2015-01-21
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.
49:55How Python was Shaped by leaky Internals, Armin Ronacher, Flask framework
Видео с мероприятий {speach!
38:47RailsConf 2014 - All the Little Things by Sandi Metz
Confreaks
1:01:39"Simple Made Easy" - Rich Hickey (2011)
Strange Loop Conference
25:06"Making Impossible States Impossible" by Richard Feldman
elm-conf
1:12:27CppCon 2015: Andrei Alexandrescu “std::allocator...”
CppCon
1:00:19How To Design A Good API and Why it Matters
Google TechTalks
31:44The Value of Values with Rich Hickey
InfoQ
46:09Why Isn't Functional Programming the Norm? – Richard Feldman
Metosin
4 comments from Hacker News
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 [VIDEO] A video demonstration of Jai; a new compiler from Jonathan Blow designed around this paradigm. Cheers!
He gives a fantastic walkthrough on his approach to structure packing in the data-oriented demo[1]. [1] [VIDEO]
> 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. [VIDEO] (for those who don't know, Jonathan Blow was the creator of Braid)
Here is the demo video of the stuff zero_iq is talking about: [VIDEO] Basically right on point with what the GP is saying.