[FRIAM] ABM - OO
Marcus G. Daniels
marcus at snoutfarm.com
Tue Jan 22 10:13:03 EST 2008
Douglas Roberts wrote:
> Some are mature languages; others aren't. Some provide full-featured
> OO environments; others don't.
The mainstream, mature choices for performance code are basically
C++/Emacs, C#/Windows Visual Studio, Objective C/Apple XCode, and
Java/Sun JDK/Eclipse, and in about that order of code performance. Also
a commercial compiler for OO Fortran (2003) may be worth thinking about
in HPC environments. In principle, it's possible to use native code
compilers with Java, but in practice you'll work just as hard as you
would with C++ for performance, and probably harder.
Other languages provide more versatility/abstraction/safety/convenience,
but haven't yet tried to make self-contained quality code generators.
When they can generate true executables, they usually do it by
generating C and then compiling that. (There are some exceptions, like
F#.) I would not say this merits the name `toy language', but rather a
different emphasis. Python and Perl are certainly mature languages with
rich ecologies around them.
When modeling, you are in some sense trying to invent a language to
describe and predict something that interests you. Not learning about
the ways people have found to implement algorithms (different
programming languages) may not be helpful in the long run, depending how
deep you expect to get into ABM.
Marcus
More information about the Friam
mailing list