26 April 2016 2min read

Mike Acton on "Data-Oriented Design and C++"

That’s the reason why I have to wait 30 seconds for Word to boot.

Such an interesting talk. The best part is seeing how a bunch of smart people becomes defensive when presented with this notion that data is what matters, not your code and definitely not your objects or unicorns.

The culture about not caring about performance has polluted almost every corner of software development, and with the rise of the startup culture and pressure to ship things, the excuse of developer productivity has surpassed any care about performance in the general.

And yet, the teams that are in the most extreme conditions with hard deadlines for AAA products do have time to ship performant realtime software.

I’m not in a position to judge, as I’ve only seen one side of the coin. But it strikes me that we seem to just have accepted that performance doesn’t matter, and therefore, quality is not the most important thing about our products.

And, even worse, that for some reason hiding the real problem will help us in any way.

As I said, I’ve only been in one site. I don’t know how is developing in that way, but listening to people for whom working like that is natural for them makes me wonder if we are not all just mistaken. If everything that has been taught is just the result of really smart people knowing how to advertise their books and ideas.

This notion of hiding how things works seems nice in theory, but not so in practice. And maybe, just maybe, for the cases that it works is not because of the technique itself, but just because the people around it is smart enough or they have more experience with that type of code? I don’t know.

People that knows me will know that I’m the biggest defender of readable code, of writing clean code, and finding the good balance between that and shipping the product. And yet, somehow, all these ideas don’t disturb me.

Maybe is because focusing on the data, on the real problem, in reality will not make our code more difficult. It’s just different to what we have been taught. Maybe it will be much more performance and better to understand, and therefore, to maintain.

Maybe.

I don’t know. But is worth keeping an open mind about it.

Anyway, is getting late here. I have to go and write some beautiful objects.

If you enjoyed this post

Continue reading