First of all I admit to not having read all 80 comments so if I repeat something that has already been said, I apologize.
During the days of 10 before 10.1 when everyone was complaining about how slow the finder was, I went to an Apple dealer and ask him why that was. He told me that the finder was not really compatible with OSX and needed to be updated.
I was completely floored by that and I still am. Can you imagine MS writing a version of Explorer that wasn't compatible with the OS? Cocoa, as i understand it, is the native language of OSX and is the language that native apps have to be written in. Carbon is merely a shortcut that allows programs to be run in 9 and 10.
If Apple wants the rest of the industry to completely retool and produce programs that run natively in 10, they should be leading the way by writing all of their own OSX programs in its native language. What on earth are they thinking?
The Mac dealer you spoke to was either an idiot, a liar, or extremely misinformed. The current Finder was completely written, IIRC, from scratch for Mac OS X. It may be written in Carbon, but that is irrelevant because Carbon and Cocoa are [ideally] peers. Carbon may be a shortcut also, but brand-new programs can be written with Carbon and work beautifully with OSX. I cite Ambrosia's great software goodies as examples.
The Mac dealer you spoke to was either an idiot, a liar, or extremely misinformed. The current Finder was completely written, IIRC, from scratch for Mac OS X. It may be written in Carbon, but that is irrelevant because Carbon and Cocoa are [ideally] peers. Carbon may be a shortcut also, but brand-new programs can be written with Carbon and work beautifully with OSX. I cite Ambrosia's great software goodies as examples.</strong><hr></blockquote>
Maybe, but please respond to the last part of my post. Why should anyone do a total cocoa rewrite when Apple, itself, is taking shortcuts. The best programs written for Apple should be written by Apple, not some third party such as Microsoft.
<strong>Why should anyone do a total cocoa rewrite when Apple, itself, is taking shortcuts. The best programs written for Apple should be written by Apple, not some third party such as Microsoft.</strong><hr></blockquote>Repeat after me: Carbon is not a shortcut. Carbon is completely viable for writing Mac OS X applications.
It would be utterly rediculous to expect the third parties to completely re-write millions upon millions of lines of code in a completely different style. If Apple didn't provide a strong Carbon bridge to Mac OS X, you would see zero support from the important companies like Adobe and Microsoft and even most of the smaller software developers. Apple said that by writing the Finder in Carbon that they were "eating their own dogfood" and proving to third-parties that Carbon was good enough be used in mission-critical applications that the user would have to interact with on a regular basis. Of course, Apple seems to have done a terrible job with the Finder, no? Well, that's what this whole thread is about. Some people say Apple should have let AppleWorks be the shining Carbon example (although it too looks to be an ugly hack-job) rather than the Finder. However, others say that a Cocoa Finder would be no better than our current Carbon Finder, that this one is just sufferring growing pains since it hasn't had the 15 years of optimizations and improvements that the old "classic" Finder had.
Yes, Apple's apps *should* be the best apps out there, but they aren't. Why? We don't know. Final Cut Pro 3 sure looks like a great app; it runs superbly for me on OSX. Guess what? It's carbon! But why is the Finder so bad? Perhaps Steve got mad at the Finder team and fired them all. Perhaps a complete re-write is in the works for 10.2. Perhaps there are simply problems on a deeper level than we normally think about in the Finder, as AirSluf has started pointing out.
I thought that there were certain features that could be implemented in Cocoa but not Carbon. That if you wanted to make full use of OSX, then you had to program in Cocoa. Carbon was just a way to easily port older programs to a new OS but at some point they would have to be rewritten to take full advantage of the new features of the OS.
If this is not true, then what is the purpose of Cocoa in the first place?
<strong>Ok, I clearly need to be educated on this.
I thought that there were certain features that could be implemented in Cocoa but not Carbon. That if you wanted to make full use of OSX, then you had to program in Cocoa. Carbon was just a way to easily port older programs to a new OS but at some point they would have to be rewritten to take full advantage of the new features of the OS.
If this is not true, then what is the purpose of Cocoa in the first place?
[ 04-14-2002: Message edited by: Mac Voyer ]</strong><hr></blockquote>
At the moment, there are certain features that Cocoa can access that Carbon cannot. But most of those will be resolved in Mac OS X 10.2. The part you don't hear about is the fact that there are also Carbon-only things that Cocoa cannot get at (easily), like access to Resource Forks.
Cocoa has been around for a long time, in the form of NeXTSTEP at NeXT Computer. When Apple bought NeXT and made NeXTSTEP into Mac OS X, it kept Cocoa and introduced Carbon as a way to easily make old Mac OS programs Mac OS X native. And in the future, it will make no difference whether you use Carbon or Cocoa to make your app (as long as you do a good job making it).
There are other factors that make an app nore native than another, like whether it is compiled as Mach-0 instead of PEF or CFM. That is what really makes the difference, not the language or framework an app is built on.
Now, could someone please explain the differences between CFM and Mach-0? AirSluf?
Comments
During the days of 10 before 10.1 when everyone was complaining about how slow the finder was, I went to an Apple dealer and ask him why that was. He told me that the finder was not really compatible with OSX and needed to be updated.
I was completely floored by that and I still am. Can you imagine MS writing a version of Explorer that wasn't compatible with the OS? Cocoa, as i understand it, is the native language of OSX and is the language that native apps have to be written in. Carbon is merely a shortcut that allows programs to be run in 9 and 10.
If Apple wants the rest of the industry to completely retool and produce programs that run natively in 10, they should be leading the way by writing all of their own OSX programs in its native language. What on earth are they thinking?
The Mac dealer you spoke to was either an idiot, a liar, or extremely misinformed. The current Finder was completely written, IIRC, from scratch for Mac OS X. It may be written in Carbon, but that is irrelevant because Carbon and Cocoa are [ideally] peers. Carbon may be a shortcut also, but brand-new programs can be written with Carbon and work beautifully with OSX. I cite Ambrosia's great software goodies as examples.
<strong>Mac Voyer:
The Mac dealer you spoke to was either an idiot, a liar, or extremely misinformed. The current Finder was completely written, IIRC, from scratch for Mac OS X. It may be written in Carbon, but that is irrelevant because Carbon and Cocoa are [ideally] peers. Carbon may be a shortcut also, but brand-new programs can be written with Carbon and work beautifully with OSX. I cite Ambrosia's great software goodies as examples.</strong><hr></blockquote>
Maybe, but please respond to the last part of my post. Why should anyone do a total cocoa rewrite when Apple, itself, is taking shortcuts. The best programs written for Apple should be written by Apple, not some third party such as Microsoft.
<strong>Why should anyone do a total cocoa rewrite when Apple, itself, is taking shortcuts. The best programs written for Apple should be written by Apple, not some third party such as Microsoft.</strong><hr></blockquote>Repeat after me: Carbon is not a shortcut. Carbon is completely viable for writing Mac OS X applications.
It would be utterly rediculous to expect the third parties to completely re-write millions upon millions of lines of code in a completely different style. If Apple didn't provide a strong Carbon bridge to Mac OS X, you would see zero support from the important companies like Adobe and Microsoft and even most of the smaller software developers. Apple said that by writing the Finder in Carbon that they were "eating their own dogfood" and proving to third-parties that Carbon was good enough be used in mission-critical applications that the user would have to interact with on a regular basis. Of course, Apple seems to have done a terrible job with the Finder, no? Well, that's what this whole thread is about. Some people say Apple should have let AppleWorks be the shining Carbon example (although it too looks to be an ugly hack-job) rather than the Finder. However, others say that a Cocoa Finder would be no better than our current Carbon Finder, that this one is just sufferring growing pains since it hasn't had the 15 years of optimizations and improvements that the old "classic" Finder had.
Yes, Apple's apps *should* be the best apps out there, but they aren't. Why? We don't know. Final Cut Pro 3 sure looks like a great app; it runs superbly for me on OSX. Guess what? It's carbon! But why is the Finder so bad? Perhaps Steve got mad at the Finder team and fired them all. Perhaps a complete re-write is in the works for 10.2. Perhaps there are simply problems on a deeper level than we normally think about in the Finder, as AirSluf has started pointing out.
[ 04-14-2002: Message edited by: starfleetX ]</p>
I thought that there were certain features that could be implemented in Cocoa but not Carbon. That if you wanted to make full use of OSX, then you had to program in Cocoa. Carbon was just a way to easily port older programs to a new OS but at some point they would have to be rewritten to take full advantage of the new features of the OS.
If this is not true, then what is the purpose of Cocoa in the first place?
[ 04-14-2002: Message edited by: Mac Voyer ]</p>
<strong>Ok, I clearly need to be educated on this.
I thought that there were certain features that could be implemented in Cocoa but not Carbon. That if you wanted to make full use of OSX, then you had to program in Cocoa. Carbon was just a way to easily port older programs to a new OS but at some point they would have to be rewritten to take full advantage of the new features of the OS.
If this is not true, then what is the purpose of Cocoa in the first place?
[ 04-14-2002: Message edited by: Mac Voyer ]</strong><hr></blockquote>
At the moment, there are certain features that Cocoa can access that Carbon cannot. But most of those will be resolved in Mac OS X 10.2. The part you don't hear about is the fact that there are also Carbon-only things that Cocoa cannot get at (easily), like access to Resource Forks.
Cocoa has been around for a long time, in the form of NeXTSTEP at NeXT Computer. When Apple bought NeXT and made NeXTSTEP into Mac OS X, it kept Cocoa and introduced Carbon as a way to easily make old Mac OS programs Mac OS X native. And in the future, it will make no difference whether you use Carbon or Cocoa to make your app (as long as you do a good job making it).
There are other factors that make an app nore native than another, like whether it is compiled as Mach-0 instead of PEF or CFM. That is what really makes the difference, not the language or framework an app is built on.
Now, could someone please explain the differences between CFM and Mach-0? AirSluf?