swarm-modeling
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Swarm-Modelling] Something Glen said


From: Matt Murphy
Subject: Re: [Swarm-Modelling] Something Glen said
Date: Mon, 27 Nov 2006 16:07:50 -0800

One quick thought on this, as someone who had a fairly tough time
understanding enough about Swarm (see the mailing list archives) to
debug extremely simple modeling issues:

While Javascript is a great language, I think a language like Ruby
would be even simpler for those new to programming.  Ruby has the
following nice features:

- syntax is extremely simple and concise
- great for writing domain specific languages (it's easy to write
syntax that isn't really part of the language but feels like it).
- runs on both the .net CLR and the JVM (projects currently in beta)
- extremely dynamic, makes it easy to add new behavior to individual
instances, whole classes, etc., at runtime.
- has a distributed ruby extension that would allow some types of
parallelism to work very well on clusters.
- supports inline c and c++ for performance critical stuff.

Ruby is slow compared to compiled languages and uses way more memory
than C#, Java, etc., but I'd argue that most modelers don't really
need tons of performance until after they've fine-tuned the model's
behavior, a phase that would go a lot faster in a friendly, dynamic
language.

I think for people who are new to modeling or who just want a model
whose source code is extremely self-evident (perhaps nearly readable
to the layperson), Ruby would be a great choice.  Sounds like it's
also compatible with the Mozilla XP-Com stuff Marcus mentioned.

(this has been a great discussion, just thought I'd throw in some
thoughts based on my recollections from when I was learning Swarm and OOP.)

-Matt Murphy

On 11/27/06, Marcus G. Daniels <address@hidden> wrote:
glen e. p. ropella wrote:
> And I also agree that Objective-C (and Swarm's
> idioms but not the current software) is a better foundation for future
> ABM work than Java or .NET.
>
I don't agree with this.  When I say this,  I am not saying that the
path to a glorious future ought to involve the current Swarm software.
I'm saying that if Objective C is desired, and considered necessary for
sufficient flexibility in modeling, then we might as well update,
refactor, extend the current software as it is still in maintainable
shape.  Objective C is now back from the dead thanks to Apple, so we
could contemplate making changes to Swarm to use its runtime instead of
the embedded one.

This talk of object evolution, to the extent it is actually crucial to
facilitate modeler productivity, is not hinged on use of a dynamic
language like Objective C.  It's common in many programming environments
to have reflection (the ability to programmatically look over the stuff
in a running program), and that's all that's really needed to have
dynamism (as is done in Swarm for Java).

I'd say if we want to break free, we should do take some time to study
modeling and computer science literature.  Objective C is a fine
language, but hardly the state of the art.

Also, I think it is a mistake to ignore the ways the .NET CLR and Java
JVM may advance in near future.  C#, for example, is adding advanced
features a rapid pace and the JVM Hotspot virtual machine is very highly
studied engineerring, and software that is now GPLed.  All kinds of
innovations are possible, the Swarm community could even contribute to them.
_______________________________________________
Modelling mailing list
address@hidden
http://www.swarm.org/mailman/listinfo/modelling



reply via email to

[Prev in Thread] Current Thread [Next in Thread]