Agents.jl: why use it?

Hi there… many years ago I worked in C++ creating my own agent-based model.
Today, in the Julia world, which do you think is the main advantage of using an ABM framework as Agents.jl instead of coding the agents manually ?

Is it the visualisation? The distributional computation ? The scheduling ?


it’s totally valid and straightforward to write your own ABMs from scratch without making use of existing packages like the Agents.jl framework or InteractiveDynamics.jl visualisations.

The biggest plus for using these (or for that matter also any other) packages is that you can mostly concentrate on the actual functions determining your model functionality instead of having to rewrite a lot of boilerplate code that covers the essentials. As you’ve already written, you don’t have to take too much care of basic scheduling, data collection, visualisation, and so on.

Furthermore, standardisation like using an existing framework is helpful when it comes to the reproducibility and traceability of your code. It just makes it easier for external people to read your code and understand what it’s (supposed to be) doing.