swarm-support
[Top][All Lists]
Advanced

[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



reply via email to

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