What I love most about The Research Software Company is the incredible variety of projects we see. We handle projects from all fields of research, including living and physical science, digital humanities, etc, and use a wide range of technologies to meet researchers needs. Every once in a while, though, a new project comes in that surprises us and requires us to think in new ways. It’s great.
A prehistoric archaeologist approached us. Well, an archaeologist who specializes in prehistoric eras. She’s not prehistoric. She asked us for help in building an Agent Based Model simulation. She wanted to simulate certain aspects of behavior in prehistoric times. This was the first time we had to implement an agent-based simulation, so naturally we looked around for existing solutions. There are a few such solutions.
The archaeologist told has that NetLogo is often used for such archaeological simulations. We noticed it before but didn’t pay too much attention to it. Our original thought was to use Mesa, as it is Python based. When we took a closer look at NetLogo, we realized why it was called that –
IT IS LOGO BASED!
Logo is an old programming language that was used mostly to teach children the concepts of programming. It was popular in the 80s, helping kids all over the world understand programming. It was a lot nicer than the most popular first language of the day – BASIC.
Unlike all other languages, LOGO had a Turtle. When you wrote a LOGO program, you actually told the Turtle what to do. You could tell it to move in different directions, and draw or not draw while moving. So to draw a square, for example, you moved the turtle to one of its corners and told it to move forward and turn 90 degrees to the right 4 times. It was a lot of fun.
Uri Wilesnky, the author of NetLogo , simply extended this concept a bit – instead of just one turtle he allowed for multiple turtles, and gave each turtle a new job – an Agent. It works very well.
NetLogo is widely used, mostly by people who did not learn LOGO when they were kids in the 80s (mostly because they were probably born in the late 90s), but still – us ancients really appreciate it.