Entity Component System - A great way to understad the Julia philosophy

Hi folks!

As you all know, people coming from an object oriented world may have a hard time getting into the Julia way of thinking about how to organize data and functions.

Now, in game development a software pattern that has gotten more traction in the last few years, as a way of moving towards Data-oriented design, is the Entity Component System pattern.

Here is a video summarizing it in a simple manner: https://www.youtube.com/watch?v=2rW7ALyHaas

Now it so happens that Julia seems to be tailor made for this. Entities and Components are structs in Julia and the “System” consists of methods that dispatch on these pairwise. Clean and simple and I think a good way to both explain the philosophy behind and power of Julias way of doing things.