13  Sneak-peak at other languages

Consider yourself introduced to NetLogo! However, please remember that ABM is not limited to this language and platform. It is highly recommended that you learn and practice with other programming languages to experience how ABM models can be implemented in different ways, with different goals and trade-offs.

13.2 Major ABM platforms and libraries

13.2.1 🧩 RePast (Recursive Porous Agent Simulation Toolkit)

  • Languages: Java (RePast J), Python (RePast Py), and RePast Simphony (with GUI).
  • Highlights: A long-established, research-oriented platform; used in social science, ecology, and urban modelling.
  • Why it matters: Provides strong support for building complex, data-driven models; integrates with GIS and statistical analysis.
  • Learn more: https://repast.github.io

13.2.2 ⚙️ AnyLogic

  • Language: Java-based, with a graphical modelling interface.
  • Highlights: Commercial and widely used in industry (logistics, epidemiology, economics). Combines ABM, system dynamics, and discrete-event simulation.
  • Why it matters: Demonstrates how ABM concepts are applied in professional and business contexts, often for decision-support.
  • Learn more: https://www.anylogic.com

13.2.3 🗼 GAMA

  • Language: GAML (GAMA Modelling Language), based on Java.
  • Highlights: Open-source, designed for spatial and multi-agent simulations. Used in ecology, geography, and urban planning.
  • Why it matters: Provides a strong focus on spatial modelling and GIS integration, making it ideal for environmental and geographic applications.
  • Learn more: https://gama-platform.github.io

13.2.4 🦖 MASON

  • Language: Java
  • Highlights: Open-source, designed for large-scale, high-performance simulations. Used in ecology, social science, and engineering.
  • Why it matters: Provides a strong focus on performance and scalability, making it suitable for large-scale simulations.
  • Learn more: https://cs.gmu.edu/~eclab/projects/mason

13.2.5 🐍 Mesa (Python)

  • Language: Python
  • Highlights: Open-source ABM framework with web-based visualisation; well integrated with data science libraries like NumPy and pandas.
  • Why it matters: Ideal for researchers who already use Python for data analysis. Encourages modular and reproducible modelling workflows.
  • Learn more: https://mesa.readthedocs.io/latest/

13.2.6 🧮 Agents.jl (Julia)

  • Language: Julia
  • Highlights: Modern, high-performance ABM library that is easy to integrate with numerical computing and visualisation tools in Julia.
  • Why it matters: Demonstrates how ABM can benefit from efficient computation and real-time data analysis in a single language. Provides a strong focus on performance and scalability, making it suitable for large-scale simulations.
  • Learn more: https://juliadynamics.github.io/Agents.jl/stable/

13.3 Quick comparison of ABM frameworks

Platform / Library Language Visual interface Typical use cases License / Access Learning curve
NetLogo NetLogo (Logo-like) ✅ Built-in GUI, easy model prototyping Education, conceptual models, rapid exploration Free & open-source ⭐ Beginner-friendly
RePast (Simphony / J / Py) Java / Python ✅ (Simphony) or code-only Complex scientific ABM, GIS models, large-scale simulations Free & open-source ⭐⭐⭐ Advanced
AnyLogic Java-based ✅ Professional GUI, multi-method Industry simulation (health, transport, logistics), decision-support Commercial (educational licenses available) ⭐⭐⭐⭐ High but powerful
GAMA GAML (Java-based) ✅ Built-in GUI, GIS integration Ecology, geography, urban planning Free & open-source ⭐⭐ Intermediate (Java skills needed)
MASON Java ✅ Code-only, some built-in visualisation tools Ecology, social science, engineering, large-scale simulations Free & open-source ⭐⭐⭐ Advanced
Mesa Python ✅ Web-based UI templates Research ABM + Python data analysis pipelines Free & open-source ⭐⭐ Intermediate (Python skills needed)
Agents.jl Julia ✅ Visualisation in Julia ecosystem High-performance scientific computing, real-time analysis Free & open-source ⭐⭐⭐ Intermediate–Advanced

13.4 Other frameworks and resources

There are many more ABM frameworks across different domains and programming languages. The SWARM.org community maintains an updated list of simulation platforms, including older but historically significant systems such as Swarm.

➡️ Explore: https://www.swarm.org/wiki/ABM_Resources


13.5 What to take away

  • NetLogo is ideal for learning ABM concepts quickly, focusing on model logic rather than low-level programming.

  • Other frameworks (like Mesa, RePast, or Agents.jl) offer greater flexibility, scalability, and integration with scientific workflows — but they require more programming experience.

  • Understanding multiple environments helps you:

    • Evaluate models written by others in different ecosystems.
    • Choose the right tool for your own future research.
    • Appreciate that ABM is not a “NetLogo thing” but a modelling approach applicable across disciplines.

13.6 💡 Optional exploration

If you’re curious, pick one of the above frameworks and browse its documentation. Ask yourself:

  • How are agents defined and scheduled?
  • How is the simulation environment represented (grid, network, continuous space)?
  • How are outputs collected and visualised? These are the same questions you will address in your own models, regardless of language.