swarm-support
[Top][All Lists]
Advanced

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

Re: objective c?


From: glen e. p. ropella
Subject: Re: objective c?
Date: Mon, 06 Dec 1999 21:43:25 -0800


I figured I'd add just a little philosophy to this in the
hopes that it helps.

First off, I'm using Java primarily because I think it will
be easier for them to be maintained over time and across personnel,
but secondarily because I want to help test the interface
between it and Swarm.  I actually don't like Java very much at
all.  ObjC is much more pleasing to my eye for some strange
reason.

Secondly, I prefer to think of Swarm solely as a worldview,
rather than as a piece of software with a peculiar history.
When you think of Swarm as a worldview and not as a software
package, you begin to see the software package for what it
is: *an* implementation of the worldview.  And after you
free your mind from the mistaken identity between Swarm and
the particular implementation being maintained just now,
getting away from the language dependence is right around
the corner.

Thirdly, Swarm is intended to help people *model* things.
The programming language (and the requirement for modelers
to use *any* programming language) is an unfortunate
consequence of the trajectory of the Swarm project and the
difficulty of the problem.  If it were up to us, Swarm modelers
wouldn't have to use a programming language, at all.  No ObjC.
No Java.  But, of course, that's much easier said than done.
It's not quite clear how to assist in the modeling exercise
without forcing people to learn how to program.

One step towards such a solution is to provide multiple entry
points into the modeling skill-set.  This spawned the multiple
language support idea.  By giving a modeler the option of
using Swarm through a number of programming languages, we
make some progress towards removing the burden of using a
language with which she's less (or un-) familiar.  In principle,
this will encourage concentration on the important part of
using Swarm, the API.  The Swarm API was designed to help
modelers model, which means 1) to make explicit the choices
they have to make in order to write good models and 2) to
remove barriers to good modeling like haphazard pseudo-random
number generation (Thanks Sven).  The development and
refinement of the API targets the (1) and the multiple
language support targets (2).

So, to sum up:  The Objective C won't go away any more than
the Java will go away.  But, Juan has exactly the right
idea in trying to write models in more than one language
because this will increase his understanding of the Swarm
API by more than 2-fold, which, in the end, will make him
a much better Swarm modeler, at least, if not a better
agent-based modeler in general.  What I suggest for the
Swarm newbie is to first write models in the language with
which you're most familiar.  Then as you become facile
with Swarm in that language, branch out to other languages.

In the short run, it may seem that by presenting users with
more than one language to use is just adding to the number
of decisions they have to make in the process of using Swarm
to model something.  It may seem like an added complication.
But, it's important to remember that Swarm is trying to enhance
the modeling capability of non-programmers.  The focus is
on modeling not programming.  And Swarm will continue in its
efforts to trivialize the trivial matters, like which programming
language a user chooses and emphasize the important things, like
whether your space is double buffered or not.

glen

--
glen e. p. ropella =><= Feeding the hamster wheel.  Hail Eris!
Home: http://www.trail.com/~gepr                (505) 424-0448
Work: http://www.swarm.com                      (505) 995-0818

                 ==================================
  Swarm-Support is for discussion of the technical details of the day
  to day usage of Swarm.  For list administration needs (esp.
  [un]subscribing), please send a message to <address@hidden>
  with "help" in the body of the message.



reply via email to

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