I have only recently begun using netlogo. Although I was aware of the existence of the language I had the mistaken impression that it was not a serious modelling tool. After just a week’s use I have become a real convert. I now see netlogo becoming an essential addition to the set of tools that I use that are provided by R, QGIS, PostGIS and GRASS. While “real” programmers will probably remain unconvinced by the rigidity and lack of advanced features, netlogo is clearly good enough for many serious applications. This is evidenced by the recent publication of a major text book by Steven Railsback and Volker Grimm http://www.railsback-grimm-abm-book.com/ Here are ten of my reasons to learn netlogo.
- It is cross platform and widely used. A large number of very good models have been made freely available and code can be used in development. The underlying code is open source, and models written in it are usually made public.
- Many of the models that have been implemented in netlogo are useful teaching tools and very thought provoking.
- It is very easy to learn. The language is intuitive and powerful. Some concepts and terms seem strange at first (like calling agents turtles) but the code is usually very clear. It is a very high level language, so often a whole program, that produces complex emergent behaviour, can be written in under 10 lines.
- There is automated syntax checking and the simple visual interface allows code to be tested as fast as it is written. Although real programmers demand more serious debugging tools this is quite enough for me to make sure that things work as planned.
- It is (now) surprisingly fast. In fact recent comparisons with comparable tools for agent based modelling such as MASON, Swarm and Repast have shown Netlogo models to run in comparable times and to be much faster to implement. For researchers, rather than programmers, implementation time is key to efficiency (which is why I use R).
- It now has a workeable GIS extension. I am unsure how far netlogo can be go with large rasters, but it seems capable of working well with most moderately sized GIS layers.
- There is a new network extension under development that will make network based models much easier to implement.
- It can be connected to R through the RNetLogo library, or R can be run within netlogo as an extension.
- There are fewer limitations to the paradigm than first appear. System dynamics models (compartment flow) can be easily implemented in netlogo, which even has a GUI for this purpose. So it is possible to link them with agent based models.
- It is good fun to use. There is something intrinsically appealing about the language that makes it quite addictive.
Not everyone is convinced. http://compsocsci.blogspot.mx/2012/01/dont-use-netlogo.html
However I can’t think of ten reasons why an ecologist should not learn netlogo myself.