[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Swarm-Support] Xcode as IDE for swarm: how-to? -> Swarm usability (
From: |
Bill Northcott |
Subject: |
Re: [Swarm-Support] Xcode as IDE for swarm: how-to? -> Swarm usability (OT) |
Date: |
Wed, 21 Jan 2004 12:05:54 +1100 |
On 21/01/2004, at 9:35 AM, Jurgen van der Pol wrote:
pointers as to how I should go about using/setting up (the
wonderfully new to me) Xcode as the IDE to develop new swarm
applications?
It is very good question. How you would you like to work on it?
The question has its origin in -my- lack of both Unix and Objective-C
skills. I'm a long-time Mac/GUI-head & stopped active programming
years ago at university (TurboPascal, which had an IDE, btw). Hence I
grope *desperately* for familiar hand-holds. Being utterly non-Unix,
all this terminal stuff is a hard, blind landing (it's getting
slightly better, tho). Had it in 2000 during the first iteration of my
PhD (which included a trip to SFI, btw) & wanting to use swarm. Now,
in 2004, it's deja-vu all over: I still need swarm as main tool in my
revamped PhD, and it's still as frustrating as before to use it.
Let me try to give you some encouragement as a fellow Phd student of
some maturity or at least age. A Phd is a great excuse to get out of
your comfort zone.
I first got involved trying to use Swarm over three years ago. At that
point my programming experience was limited to a very little FORTRAN on
paper tape during my undergraduate degree (late 1960s!), and a little
dabbling producing short programs in BASIC and Pascal during the early
days of Microcomputers (Apple IIs and Commodore PETS).
I started setting up a web server on Linux because my first attempt on
Windows NT was hopelessly unstable. (I have never used Windows since
for anything important) Playing with that, I learned some UNIX skills
and a bit about shell scripts. Then I moved to the Tru64 based machine
we use in the Faculty for research. With a huge amount of help from
Marcus and the resident UNIX/VMS guru, I got Swarm to run on that. In
the process I started to get acquainted with mysteries of Autoconf and
friends.
When MacOS X came out, it was obvious that Swarm should run on it.
After all much of Swarm's heritage is UNIX/NEXT. So I set my self the
task of porting it as a learning experience. I built my own compilers
and read incomprehensible discussions about parsers and the rest. I
have now reached to point where I can spot some of the other
programmers errors/kluges in the autotools stuff which makes me feel I
probably understand that bit. I am still light on the finer points of
Objective-C particularly when it comes to the runtime issues.
What did I find helpful along the way:
Some of those new UNIX for MacOS X types books.
Kernighan and Ritchie, The C Programing Language (The bible)
Some of the O'Reily books such as 'MacOS X for UNIX Geeks'
Richard Petersen, LINUX programmer's Reference (a great potted intro to
GNU programming tools)
An excellent recent reference I found about how MacOS X works
http://www.kernelthread.com/mac/osx/
Finally a good guideline: If you find yourself contemplating a
wholesale code rewrite of many lines of code, you probably don't
understand it enough. Read more and experiment. Most problems can be
fixed in a couple of lines if you use the GNU tools instead of trying
to fight them.
P.S. Want my (probably very OT here, for which I apologise) 0.02c?
Want swarm to become a 'mainstream' ABM tool? Then it needs to become
a stand-alone software product. Like iThink or Stella over in the
System Dynamics corner. Otherwise the (bizz) community at large will
not play around with it. But then again, this may not be what 'we'
want. Just being able to build swarm models though the OSX/Xcode
'window' would however be a *major* usability step forward IMHO. Of
course I can understand where swarm is coming from, that is it a
software library and not a encapsulated, stand-alone program per se
(oh how I which it were, like StarLogo). That it is geared at academic
researchers, not business tinkerers (not me; my clients). I can also
understand that we have invariably a lack of resources, and that OSX
and Xcode and Interface Builder are all fairly fresh & new (not taking
NeXT into account). But, we now even have the G5, Xgrid and an example
of a very cheap clustered supercomputer at Virginia tech! So, all in
all I'd say that Apple today does a pretty good job in providing the
'tools for research'.
Most serious research software packages that sport a GUI (Stata, SAS
etc) are still just development environments on the front of subroutine
libraries. Many of these development environments are pathetically bad
and very frustrating to anyone who has used any real programmers tools
or a decent programming language. (Anyone know of a code profiler for
SAS?) If we can get Swarm to run properly on the Mac with support of
Apple's code documentation system etc, it will be an excellent
environment for bleeding edge work. Nothing I have seen so far makes
me think this is not doable. So now I am trying to learn SGML, XML,
XSLT etc....
If you want to be on the bleeding edge, you just have to bleed
sometimes.
Bill Northcott