Quoting Michael Agar <[EMAIL PROTECTED]>:

> In the late 1990s back in  
> Baltimore I asked a SWARM programmer at Hopkins what language I  
> should work with to avoid the heartbreak of Java but still be able to  
> create ABMs. Squeak, he said. Messed with it some but then the  
> Netlogo empire started cranking up and I converted.

I've come to believe dynamically typed languages (like Squeak or Objective C) 
aren't the best choice for most simulation tasks.   Languages like Haskell or 
F# with intelligent type inference systems are a better approach.  The reward 
of modelling flexibility isn't worth the risk of hidden mistakes and the 
performance problems of dynamic typing.  A superficial appeal of dynamically 
typed languages is that they let modelers avoid jumping through so many hoops 
defining lots of variable/expression types.  Of course what happens it they get 
a model running, and then it crashes (hopefully sooner than later) because it 
is not carefully thought out.  Sometimes, but not always, a prototyping 
environment can be the same as the production environment(e.g. for doing large 
scale sensitivity analysis), but not always.

Some years ago I spent much time writing both Objective C and Java Swarm models 
and example code.  Only in a few corner cases did I ever have or find anyone 
that had a deep need in a model for typelessness, or even generics.  After 
Java/Swarm was done, when I ended-up using Objective C is when I needed the 
control of a C compiler for maximum performance, e.g. when searching a 
parameter space of a simulation having hundreds of thousands of agents.

Marcus

============================================================
FRIAM Applied Complexity Group listserv
Meets Fridays 9a-11:30 at cafe at St. John's College
lectures, archives, unsubscribe, maps at http://www.friam.org

Reply via email to