[FRIAM] Seaside (Smalltalk web development framework)
mgd at santafe.edu
mgd at santafe.edu
Wed Sep 13 13:06:46 EDT 2006
Quoting Michael Agar <magar at anth.umd.edu>:
> 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
More information about the Friam
mailing list