I've always used the following rule in languages such as python and c++ If an object has state, use a class. Otherwise use a function.
In languages lacking classes (and objects) e.g., FORTRAN, state must be maintained outside of the object. This is ugly and error prone. How is this addressed in julia?
