Here's a considered response from Rainer, who studies epidemiology and public health at U Michigan.:
Regarding your Netlogo sympathies ... I totally understand where you are coming from ... Python is my favorite programming language, I also know Java well. I build ABMs in Netlogo and RePast, as well as in Python.
It took me a while to get into NetLogo and I have to agree it is a horrible "programming language". One of the major advantages of NetLogo however is that it takes care of a lot of overhead (graphical output, controls, parameter sweeps, R integration). NetLogo 5 now has some form of functional programming, list comprehension, dictionaries and other features that I haven't fully explored.
I never thought I would be a NetLogo advocate but it does have its place in the world of simulation.
These are fair, very practical points. They are basically the same reasons we continue to use the QWERTY keyboard, even though Dvorak is probably a little faster and a lot less painful.
The difference is that keyboards are at the end of the adoption cycle, and ABMs are at the beginning. With modeling software, there's still time to change and avoid decades of deadweight legacy loss. Since NetLogo is primarily used as a pedagogical tool, it seems a shame that we are forcing new students to invest in a dead-end language.
With all that in mind, I've decided to become a bit of a gadfly with respect to Netlogo. More on this subject tomorrow... In the meantime, don't use it!