discuss-gnustep
[Top][All Lists]
Advanced

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

Re: Unimplemented AppKit classes


From: Jeff Teunissen
Subject: Re: Unimplemented AppKit classes
Date: Wed, 22 Jan 2003 04:19:02 -0500

Alan West wrote:

> Jeff Teunissen wrote:
> 
> >Consider an app designed by Mac people that has been ported to Windows,
> >and a Windows app that has been ported to Mac OS. Windows ports do not
> >please Mac users, or vice versa. This is because a good port of an
> >application doesn't just transport the code of a program, it translates
> >the *philosophy* of the program to fit in with the native system. It's
> >almost a rewrite.
> >
> >If you built, say, Alex's Terminal app on an OS X box, you're not now
> >running an OS X application -- you're running a GNUstep application on
> >OS X. In the same way, if you were able to get and build Safari on a
> >GNUstep system running under Linux, it's still a Mac app that happens
> >to be running on an OS other than Apple's. So its metaphors will be
> >different, the location of the "widgets" won't be what we would expect
> >them to be, and so on.
> 
> I switched from using KDE to GNUstep built from cvs. With everything
> setup I'm now in a position to start helping out.  I'd have liked to
> help implement the NSToolbar and NSStatusbar - but I guess its not worth
> it... Is it simply that the GNUstep project's aim is to copy the older
> Nextstep without any improvements made in similar directions to the
> latest MacOS X version of Nextstep?......

First, Mac OS X is not the latest version of NeXTStep (and is not even
based on it in any meaningful sense). NeXTStep is a dead operating system.

GNUstep is also not a copy of NeXTStep/OPENSTEP, though the GUI parts have
a similar user-level interface.

The NeXT-like *look* of GNUstep, though clean and elegant, is not
particularly important. It's the *feel* that's important.

Apple's additions make sense for Mac developers and users. They're making
it easier to develop applications for their operating system, and also
providing features (like toolbars and status bars) that fit in with older
versions of the Mac OS. For Apple and users of Apple operating systems,
this is a Good Thing(tm).

>From another (*n*x/*step) point of view, though, these classes are
superfluous and can even be harmful.

Covering NSToolBar: It's a user-customizable toolbar like you see in
innumerable Mac and Windows applications. Easy to write, to be sure. Makes
perfect sense in those contexts, also. And yet, that's code that is
bulking up an already-large library and being a (potential) source of
bugs, all for something that doesn't even make sense in software built on
*nix principles.

Likewise, NSStatusBar. It's mind-boggling that this class (added in
"Jaguar", I believe) even exists -- it's antithetical to the concepts
inherent in *step. *step applications aren't supposed to have modes that
need status information displayed, because they're supposed to follow the
KISS ("Keep It Simple, Stupid!") principle.

Extensions are *great*, but only if they're good ones. GNUstep ought to be
even more NeXT-like than NeXT was, IMO.

Mac OS X is supposed to be a "Better Mac OS" (it's not, really, but that's
what it's supposed to be. Well, at least it's "lickable".). The GNUstep
environment ought to be a "Better *nix environment". KDE and GNOME are
Windows environments transplanted onto *nix systems, while NeXT built a
truly Unix-like environment. GNUstep has the capacity to be better than
what NeXT created, but not by copying what either NeXT or Apple did/does.

-- 
| Jeff Teunissen  -=-  Pres., Dusk To Dawn Computing  -=-  deek @ d2dc.net
| GPG: 1024D/9840105A   7102 808A 7733 C2F3 097B  161B 9222 DAB8 9840 105A
| Core developer, The QuakeForge Project        http://www.quakeforge.net/
| Specializing in Debian GNU/Linux              http://www.d2dc.net/~deek/




reply via email to

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