[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