Re: Cocoa downgrade from openstep?
Re: Cocoa downgrade from openstep?
- Subject: Re: Cocoa downgrade from openstep?
- From: Jean-François Veillette <email@hidden>
- Date: Thu, 9 Aug 2001 19:51:34 -0400
Eric,
we should define which Openstep we are talking about to be able to
compare it to Cocoa.
Is Openstep the combo of AppKit and Fondation only (what is now Cocoa),
or is Openstep the combo of all Objects frameworks api available on
Openstep for Mach (what is now OS-X)?
It would be interesting to know if we can hope to have surprise api like
we had with PhoneKit, IndexingKit, DBKit when they went public. Can we
expect Cocoa to grow like that, to go beyond what is now AppKit, to
eventualy cover all capability of the OS, to go even beyond that ?
PhoneKit, IndexingKit, EOF, 3DKit, MachKit, DriverKit(what was that name
for device driver framework?), SoundKit, MusicKit where all good example
of api that grow beyond the actual use of the kit ... and I'm sure I
forgot some.
Can we expect new features to be available as object Framework (as
opposed to procedural framework like Carbon, System) only ?
Or are new feature always going to be procedural api (for those Carbon
user), maybe eventually wrapped as object framework(for those Cocoa
user)?
I think the one thing that we had on OpenStep before was that all (ok,
almost all) api was object and available in Objective-C. The whole
system was Object, (we even had MachKit IIRC, and a driver kit as well).
We where talking about Openstep as the only object oriented OS at the
time.
We can not claim that Cocoa cover as much, Cocoa only cover AppKit and
Foundation kit now. Cocoa looks like a small redux of what was OpenStep.
Even though Openstep was more refined compared with Nextstep. I still
think that in the Nextstep timeframe, the whole OS wasn't business
driven(obviously for NeXT to stay alive), but was driven by creativity
and will to create something that would fulfill all your needs in an
object oriented manner.
I understand that for now the OS is driven by "smooth transition". But
once that transition is done, I hope (but in fact would prefer fact over
dream) that the long term plan is to go full steam with that concept of
a whole object-oriented OS.
Yes, improvement to Cocoa are great. We should all be happy about them !
I'm concerned by the fact that they are enclosed in the arena of AppKit,
they do not really go beyond it as the previous kit where doing (HTML
and friends are still AppKit related as far as I'm concerned).
I know about IOKit, it does far more, and is probably far more flexible
that the previous DriverKit. By itself, this one is probably a good
bonus as well ! Bravo for the IOKit team !
I just hope this is not the last kit, outside of Cocoa, that is going to
be object oriented.
I also have concern about coding style ...
Openstep made eavy use of delegation, very few subclassing.
WebObjects came in and started to use subclassing instead. I was told
this was because developer where having hard time getting the concept of
delegation, that delegation was slowing the learning curve. I'm earning
money working with WebObjects now. All I will say, is that I prefer
delegation style over subclassing style. It is simpler (ok, probably
harder to understand if you come from C++ or Java) and better
encapsulate the oo principle (if done right, as AppKit was done).
With new Cocoa classes like NSDocuments (and friends) using subclassing
over delegation, I wonder if on long term we are going to loose the
elegance that AppKit had. Sure subclassing can work just as well, only
in a different mind set. Is Cocoa officialy going "subclassing
style" ? Please tell me it is not.
- jfv
Jean-Frangois Veillette
Sherbrooke (Quibec)
Le Mercredi 8 ao{t 2001, ` 06:50, Eric Peyton a icrit :
Quickly - if you think this is degrading away from the -dev charter -
please let me know directly and I will make sure it stays on course as
best I can. This is a long response to a long rant.
(One note: Please do not turn this discussion in to a pissing match
about promises made by management, features that have never been
implemented anywhere in OpenStep or Cocoa, or differences in the core
operating system itself. What Erik said and what I wanted expanded
upon was that OS X Cocoa is "significantly downgraded from Openstep 4.2
in many respects." That is the idea of this thread. If you want to
spin this in to a -talk article, please do it on a -talk forum (where I
am not a member). My intention with this thread is to discuss the
technical shortcomings that developers see in the Cocoa framework
vis-a-vis Openstep. If this degrades in to a -talk posting I will do
my best to stop it.)
I guess I started it, so here goes ...
On Wednesday, August 8, 2001, at 04:58 PM, Scott Anguish wrote:
On Wednesday, August 8, 2001, at 12:08 PM, Eric Peyton wrote:
On Wednesday, August 8, 2001, at 10:45 AM, Erik M. Buck wrote:
I don't know how much you use Cocoa, but it is significantly
downgraded from
Openstep 4.2 in many respects.
Wow - as a huge Cocoa advocate, I had not noticed this. (blinded by
my own love for the platform? :-) )
Well, as much as I also love the platform, I can see what Erik
Buck is talking about... mind you, YOU (Eric Peyton) have more access
than we do.. :-)
Could you elucidate on which classes and what functionality has
downgraded for you?
From OpenStep 4.2?
- cross-platform is gone
This has nothing to do with cocoa as a language or as a technology
(which is Erik's point). This is and was a management decision. Not
pertinent to this discussion.
- eof as a standard part of the system, gone
This has nothing to do with cocoa as a language or as a technology
(which is Erik's point). This is and was a management decision. Not
pertinent to this discussion.
- pantone support, gone
I do not know the reasoning behind this (someone could enlighten me
however).
- integrated inter-machine DO, gone
Because nmserver was removed. Well below Cocoa. But the point is
taken. It can be added back in in many ways, but is currently not
supported.
- a single unified method of development is now gone, with many
services not being brought to Cocoa classes, but instead being left as
much more complicated procedural APIs
For now, yes. But this is not something that could be blamed as
degradation of Cocoa, just not Cocoa improvement. Not pertinent to
this discussion.
- services are not universally available anymore
Still not a Cocoa issue. An OS X issue. As far as I know all Cocoa
apps can still take advantage of Services to their little hearts
content. As this is a Carbon! issues , not pertinent to this
discussion.
- NeXTime (lost it for a QuickTime procedural API only)
Agreed. This is a sad loss.
I have found that Cocoa has improved substantially since the OpenStep
days. The addition of things like NSTabView, NSDrawer, improvements
to NSApplication, the addition of CoreFoundation, NSDocument* and
NSWindowController, NSOpenGLView, all the new image support (via
Quicktime), NSSpell*, NSToolbar, etc. seem like a little more than
"some features".
NSSpell has been around for a while... I seem to recall that
being a "way back when" thing.
Yes, but integrated spelling in to all text fields, yadda yadda yadda,
was not part of Openstep, etc. Major enhancements have happened here.
Yes, we have some new widgets, and the document classes are a
blast.. but.. we were told that there was a commitment by Apple to
make ALL UI bits that Apple uses available as GUI components.. many
are still missing
Sure. So is the "do everything" widget etc. etc. There is only so
much manpower and time between releases. I believe that commitment
still holds.
the new image support is very poor... we do get to load a good
number of additional file types, but we don't get to actually exploit
any of the additional stuff once they are loaded
the support for the image types that was there in Openstep has not
degraded at all, and the new importers are gravy. I see no
"degradation" here.
we have the total goat seal of launch services, type/creator,
resource fork madness. Virtually zero support for this in Cocoa
directly, and some things like NSFileManager are totally busted with
respect to this support.
Once again, not a degradation, but definitely a feature set that I
think Apple is very well aware of.
previously we had a pretty set standard of using TIFF for
everything. And that was great, since most every graphic program will
load and save them.. now we have CICN's, and without special add-ons
these aren't really creatable.. plus, there is no support for them in
NSImage, so you can't load/edit/save them trivially (you need to
again, resort to procedural APIs)
An issue, once again, not with Cocoa in any way whatsoever. This was
a decision, based on many factors, that was well outside of the Cocoa
realm. Not pertinent to this discussion.
I also wouldn't consider CoreFoundation to be a Cocoa plus, if
anything, it's an indication of the state of things.. yes, there is
the bridging, but that's all.
Foundation itself was originally built on something. You can't code a
string class without some char *'s. Isn't it nice that they provided
toll-free bridging, open source and all that jazz?
That there are no Cocoa specific APIs that allow in-depth access
to things like QuickTime, Security Framework, Internet Config and such
is a real indication of concern... it's even more of a concern when
you hear people say that there are no plans to wrap this
behavior/functionality for Cocoa... even opening an URL is now split
between NSWorkspace and launch services..
For now, yes. But this is not something that could be blamed as
degradation of Cocoa, just not Cocoa improvement. Not pertinent to
this discussion.
(Boy - I am saying that a lot - Scott - you really took this simple
Cocoa degradation thread and turned it in to an attack on the state of
OS X, not Cocoa.)
yes, there are also performance issues...
Agreed. Completely agreed.
and things like sound, HTML viewing (NSText's support is absolute
minimal - we need something substantially better),
This has nothing to do with cocoa as a language or as a technology
(which is Erik's point). This is and was a management decision. Not
pertinent to this discussion.
there are also issues with the tools.. PB is great, but lacks the
level of integration that we had with InterfaceBuilder even more
recently than OpenStep 4.2... completion, auto-formatting, these are
all things that I'd come to rely on, yet are now missing (even if they
come back)..
This has nothing to do with cocoa as a language or as a technology
(which is Erik's point). This is and was a management decision. Not
pertinent to this discussion.
Overall, I find that many areas are not providing the polish that
we got, even with NeXT (a miniscule company in comparison)...
Which has *nothing* to do with this thread ...
OpenStep was a focus at NeXT, but here, it seems to be much less so.
We can't be sure that we'll get good, complete, proper integration of
capabilities into the Cocoa frameworks by default.
I'd love to know if Cocoa on 10.1 will have any support for SOAP
XML-RPC, or if it will strictly be procedural...
I don't want to rag on the Apple folks in the trenches.. they
can't make the choices.. just implement them.. but I'd like to see
more emphasis on this stuff...
Scott - and so would the people at Apple. But turning a thread about
degradation of Cocoa in to a rant about your perceived "sorry state of
OS X" doesn't help anyone (no matter how much people just *love*
rants.) Let's please now get back on track. Erik has some valid
points about some valid degradation's in Cocoa performance. Are there
any other valid points about degradation in Cocoa on OS X vs. cocoa on
Openstep (NOT in OS X vs. Openstep/NextStep)? Can we discuss them
without dragging in everyone's opinions on OS X vs. every other OS out
there?
Eric
_______________________________________________
cocoa-dev mailing list
email@hidden
http://www.lists.apple.com/mailman/listinfo/cocoa-dev