[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
GNUstep and MacOS X Port Effort (fwd)
From: |
Stefan Urbanek |
Subject: |
GNUstep and MacOS X Port Effort (fwd) |
Date: |
Thu, 03 Oct 2002 13:37:45 +0100 |
Hi,
Just to let you know, that there is an ongoing discussion about porting Swarm
to GNUstep (and OSX) on swarm-support list (see forwarded message). I think,
GNUstep will only benefit from this 'marriage of projects', because Swarm has
already a large userbase.
Stefan
---------- Forwarded message ----------
Date: 2002-10-03 13:49:37 +0200
From: W.Northcott@unsw.edu.au
Subject: GNUstep and MacOS X Port Effort
As I result of a general lack of interest some weeks back, I got to be
coordinator for the MacOS X port.
There seeems to have been much fairly enthusiastic discussion amongst various
programmers regarding the merits of rewriting Swarm on the GNUstep foundation.
I considered it might be appropriate at this point to try and summarise the
GNUstep port idea together with its implications for a MacOS X port and some
indication of a desired outcome and the way it might be achieved. Others could
then express their thoughts and hopefully we could reduce the project to a
number of tasks that I might put up on the Savannah site in substitution for
the existing MacOS X outline.
I see this as attempt to focus people's thoughts as an aid to action rather
than some effort to put forward my view of the issues.
1. Motivation
As Marcus has pointed out, a few years back it looked like Objective-C was a
dead language. As a result various decisions were made to modify low level
components of the language and roll these into Swarm. This appeared to be the
best course of action at the time.
The situation has now changed. Apple is shipping millions of Objective-C based
computers and interest in GNUstep has revived. Apple are spending big
development dollars on Objective-C and most of their work which is relevant to
Swarm is opensource.
It no longer makes sense for Swarm to roll its own Objective-C runtime, doing
so makes Swarm very hard to install on MacOS X or GNU step and fails to take
advantage of development work on the language and Foundation class libraries
which has been carried out by others.
For the avoidance of doubt, I use the word 'runtime' to refer to the C function
library which implements the guts of ObjC message passing etc and the ObjC
program which defines the root object - NSObject on MacOS X and GNUstep. It is
my impression that only this program should make C function calls into the
runtime library.
2. Objectives (Wish list) in no particular order
a. Swarm should be simple to install on any 'standard' GNUstep or MacOS X
system. Other than GNUstep the only other non-standard item should be hdf5 if
it is required.
b. To facilitate the above, Swarm should not make any C calls into the
'runtime'.
c. The phasic object system should be preserved and possiby elaborated.
d. The GNUstep/Cocoa classes should provide the GUI eliminating dependence on
Tcl/Tk/BLT
e. As many basic classes as possible should come from the standard libraries,
to maximise the benefit from work done by others.
f. Wherever possible existing APIs should be supported even if deprecated for
new modelling.
3. Observations
a. Marcus has observed that the purpose of the mframe stuff in the runtime is
to support the link between Java and ObjC. GNUstep and Cocoa already contain
such a link. Indeed Apple has put a lot of development effort into this. We
should use this and scrap mframe which is a nasty machine specific klugeTM.
b. Being totally Gatesophobic, I have no idea how this plays on Windoze. Is
there a workable Cygwin/GNUstep installation available?
c. The above scenario is based on a possibly unfounded belief that GNUstep and
MacOS X/Cocoa have a large degree of source code compatability at the level we
would require for Swarm. Any comments?
d. Method functions are incompatable with the above objectives as well as
being abhorrent to any OO believer. They should be given a decent burial.
e. On the MacOS X front, none of the above removes the need to get a basic
Swarm on XFree86 running as a learning exercise.
f. The root object of Swarm is Object which maybe can be built by extending
NSObject, which makes the above at least faintly plausible.
Please comment/abuse/destroy.
Bill Northcott
==================================
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 <majordomo@santafe.edu>
with "help" in the body of the message.
--
http://urbanek.host.sk
- GNUstep and MacOS X Port Effort (fwd),
Stefan Urbanek <=