• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Re: Cocoa downgrade from openstep?
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

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


  • Follow-Ups:
    • Re: Cocoa downgrade from openstep?
      • From: Jean-François Veillette <email@hidden>
    • Re: Cocoa downgrade from openstep?
      • From: Ondra Cada <email@hidden>
References: 
 >Re: Cocoa downgrade from openstep? (From: Eric Peyton <email@hidden>)

  • Prev by Date: Re: Windows without traffic lights
  • Next by Date: Re: Cocoa downgrade from openstep?
  • Previous by thread: Re: Cocoa developer tools downgrade from openstep?
  • Next by thread: Re: Cocoa downgrade from openstep?
  • Index(es):
    • Date
    • Thread