this post was submitted on 12 Nov 2025
36 points (100.0% liked)

Programming

23517 readers
277 users here now

Welcome to the main community in programming.dev! Feel free to post anything relating to programming here!

Cross posting is strongly encouraged in the instance. If you feel your post or another person's post makes sense in another community cross post into it.

Hope you enjoy the instance!

Rules

Rules

  • Follow the programming.dev instance rules
  • Keep content related to programming in some way
  • If you're posting long videos try to add in some form of tldr for those who don't want to watch videos

Wormhole

Follow the wormhole through a path of communities !webdev@programming.dev



founded 2 years ago
MODERATORS
 

The description listed a mirror of this video on Vimeo, but I'm not sure if it's still accessible as I have no access to Vimeo here: https://vimeo.com/649009599

Recently I discovered something called data-oriented design and I thought it was such a brilliant concept. Here are other references I recommend:

you are viewing a single comment's thread
view the rest of the comments
[–] onlinepersona@programming.dev 7 points 1 week ago (3 children)

This was much more pleasurable than the Lunduke - DHH interview. Boy, is this one relaxing.

[–] monogram@feddit.nl 8 points 1 week ago (1 children)

Lunduke + DHH

You can’t name a more hateful duo in the Linux YouTuber sene.

[–] hono4kami@piefed.social 1 points 1 week ago

not sure who lunduke is & why we're talking about it under a post about data-oriented design :/

[–] hono4kami@piefed.social 4 points 1 week ago* (last edited 1 week ago) (1 children)

Huh, what interview?


Yeah, it's such an interesting concept, and I like how Andrew not only explains the concepts well in such a short time, he also explains how he applies to Zig's compiler at the later part of the talk. Even more interesting, (CMIIW) data-oriented programming originated from game development, but as we can see it can also be applied everywhere else

[–] onlinepersona@programming.dev 2 points 1 week ago (1 children)

Yeah, the second he started talking about computer architecture, I thought "he's going to align the data and keep it close to each in memory for better caching and faster access, isn't he?".

At the moment, it looks like an interesting way to optimise an existing program. I'm not sure if thinking about it right from the beginning will speed up programming as, IMO, first something functional has to be written with somewhat good architecture, then the architecture improved to make sense and more features added, and once a v1 exists that's satisfactory, then optimisation starts.

Maybe I'm wrong though and this is something that can be considered from the getgo, but it feels more like a latestage kind of thing. Some if it can definitely be taken care of by the compiler and the developer made aware of with warnings.

[–] calcopiritus@lemmy.world 1 points 1 week ago

It's not one thing or the other.

For example I often end up using event loops. Where an event is a tagged union. Some events take up 1 byte, some 400. It's almost effortless to put the big variants in the heap, and just keep a pointer in the union. So why not do it from the start.

Sure, optimizing every loop to make it vectorizable is probably not worth it, since that loop you wrote on the 10th commit might not even exist when the software is released. But there are many low hanging fruit.

Also, some optimizations require a very specific software architecture. Turning all your arrays of structs into structs of arrays may be a pain if you didn't plan for making that switch.

[–] wewbull@feddit.uk 2 points 1 week ago* (last edited 1 week ago)

Andrew K comes across as a generally nice person IMHO.