[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
GNUstep and MacOS X Port Effort
From: |
W . Northcott |
Subject: |
GNUstep and MacOS X Port Effort |
Date: |
Thu, 3 Oct 2002 21:49:37 +1000 |
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 <address@hidden>
with "help" in the body of the message.
- GNUstep and MacOS X Port Effort,
W . Northcott <=
- Re: GNUstep and MacOS X Port Effort, Perrone Alessandro, 2002/10/03
- Re: GNUstep and MacOS X Port Effort, Marcus G. Daniels, 2002/10/03
- Swarm futures (was Re: GNUstep and MacOS X Port Effort), gepr, 2002/10/03
- RE: Swarm futures, Christopher J. Mackie, 2002/10/03
- ABM/Toolkit futures [was: Swarm futures (was Re: GNUstep and MacOS X Port Effort)], Gulyas Laszlo, 2002/10/03
- Re: ABM/Toolkit futures [was: Swarm futures (was Re: GNUstep and MacOS X Port Effort)], gepr, 2002/10/03
- Re: ABM/Toolkit futures [was: Swarm futures (was Re: GNUstep and MacOS X Port Effort)], Gulyas Laszlo, 2002/10/04
- Swarm futures (was Re: ABM/Toolkit futures [was: Swarm futures (was Re: GNUstep and MacOS X Port Effort)]), gepr, 2002/10/04