Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Obviously a very very gross generalization (might get called out on it too :P) - But I think the low hanging fruit for modern software is optimizing data layouts for fast processing.

Optimizing code requires a lot of work, and requires skills that people usually learn from experience - therefore a rare and expensive skillset. Data-Oriented Design can be taught, and requires (IMO of course) a far less technical skillset.



This is difficult because lots of tools don't let developers choose their data layouts. For example you cannot declare an array of structs in Java.


This is very true. The tower of template and OO class hierarchies typical in c++ codebases make the memory layout impossible. Polymorphism and vtables are so killer for performance. I think general programming can learn a lot of lessons from HPC and game engines.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: