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
