The Cocoa Era?

Discussion in 'General Mac Discussion' started by tjwett, Jul 26, 2002.

  1. tjwett macrumors 68000

    tjwett

    Joined:
    May 6, 2002
    Location:
    Brooklyn, NYC
    #1
    I have this little app that lets you drag an apps icon into a window and it tells you if its true Cocoa or just Carbonised. After going through all my apps I did not find a single third-party app that was written Cocoa. Even alot of Apple apps are Cabon. I think the Calculator is Cocoa. Apple Works and QuickTime are Carbon. They rest are all just Carbonised crap. This includes some expensive pro apps like After Effects, Photoshop, etc. Will the day ever come when we are actually running native apps? Am I wrong in thinking Cocoa apps would be an improvement?
     
  2. strider42 macrumors 65816

    strider42

    Joined:
    Feb 1, 2002
    #2
    Re: The Cocoa Era?

    Writing in cocoa requires a complete rewrite of the program. If you write in carbon, you can use as much as 80% of your existing code from what I hear. Its just a matter of transition. When people have to do complete rewrites of their sofwtare, you'll start seeing cocoa become more prevelent among major apps.

    woohoo post number 100
     
  3. chmorley macrumors 6502a

    chmorley

    Joined:
    Jan 2, 2002
    Location:
    Denver, CO
    #3
    Re: The Cocoa Era?

    You're not wrong at all. And it's tough to say if many apps will get the complete Cocoa re-write. This is actually probably something of a concern. Carbon apps are definitely slower than Cocoa apps. They also don't have access to Services--something I think we would all exploit much more if our primary apps were Cocoa. However, Carbon apps now have Quartz anti-aliasing, and rumor has it that M$ Office (and, therefore, all Carbon apps that get the once-over) will be able to utilize Services in Jaguar.

    I get the sense that Apple never intended to give Carbon apps the speed boost and font smoothing they gave them with 10.1.5. I think that was a reaction to how few Cocoa apps were out there.

    In all likelihood, M$ Office, Virtual PC, and other huge apps will never get a complete rewrite. If Apple continues to improve the performance of Carbon apps, though, this may not be a huge deal. Calling them "crap" is probably an over-reaction, regardless.

    Chris
     
  4. FelixDerKater macrumors 68000

    FelixDerKater

    Joined:
    Apr 12, 2002
    #4
    Re: The Cocoa Era?

    I don't think you know just how much work it would be for a company like Adobe to fully rewrite and app such as Photoshop in Cocoa. The benefits of Cocoa are not great enough for them to invest the time and money needed to do so. Also, we would all still be waiting impatiently for an app that would probably take another few years to create. :D
     
  5. Taft macrumors 65816

    Taft

    Joined:
    Jan 31, 2002
    Location:
    Chicago
    #5
    You're not wrong, but you're not exactly right either.

    Saying that a program is bad because its written in Carbon rather than Cocoa, is like saying a program is bad because its written in C rather than C++. These things aren't languages really--they are APIs-- but the concept is the same.

    The idea is that they are both capable of doing almost all of the same things. Cocoa is very object oriented, dynamic (run-time binding is everywhere), and has a very easy to use API set for a lot of cool features. Carbon is more "archaic" in that it uses an older and more functional (vs. object oriented) API, but it can access many of the same OS X features that Cocoa can. Also, speed between the two is very similar. If anything, Cocoa may be slower because of its late binding and object oriented nature.

    The real advantage that Cocoa has is that it is exceedingly easy to program. The UI builder is great. The API is great. The syntax of Objective-C is great. All very easy.

    The real idea is that the quality of an app depends on the quality of a programmers work. Cocoa just makes it easier for the programmer not to screw up. Bad developers will create slow, buggy programs. Good developers will make quality programs.

    Look for programs with quality, not because they are built on a given technology.

    Taft
     
  6. Catfish_Man macrumors 68030

    Catfish_Man

    Joined:
    Sep 13, 2001
    Location:
    Portland, OR
    #6
    Some info:...

    ...
    1) Carbon apps are OSX native. Completely.
    2) Carbon apps are just as fast as Cocoa apps when well written. It's just that most of todays carbon apps are optimized for OS 9 or are badly written.
    3) Carbon apps have services (in 10.2, some do in 10.1.5)

    So basically, no Cocoa would not be an improvement over Carbon. Cocoa is easier to develop in, but most apps are already written "carbon-like" and can be ported more easily. Initially Cocoa had some features Carbon didn't (and vice versa), but that's rapidly being corrected. There may be some slight performance differences between them, but they're very slight in well made programs (in badly written programs it's another story entirely).
     
  7. awrc macrumors regular

    Joined:
    Apr 20, 2002
    Location:
    Milwaukee, WI
    #7
    Re: Some info:...

    There's also the case that (much as I'd like to see more Cocoa apps):

    4) If a company is developing a product for Windows anc Mac, they're going to be using C/C++ to keep as much code commonality as possible. This pretty much ensures that all major applications that are currently cross-platform will stay Carbonized. This is also perhaps the reason Apple came up with Obiective-C++ - to provide a way to keep as much of that common code as possible while still using a Cocoa GUI.

    There's also a learning curve involved - it's not *that* steep for an experienced C/C++ programmer, but it's there. I think it's noteworthy that a lot of the true Cocoa apps that are out there came from companies with a NextStep/OpenStep history, like Omni Group.
     
  8. lordsinforge macrumors member

    Joined:
    Jan 27, 2002
    Location:
    Ithaca, NY
    #8
    And remenber that if a developer makes a program carbon then they can still hit that large number of people still using os 9, if the code is written corectly that is. They cannot market to all mac users if they are only making cocoa apps.

    But the time will come. I'm a CS student and I've been toying with cocoa for some time . And damn, it is rediculous how easy it is compared to other programming methods. Once you get over the syntax in Objective C using it is much easier that C++.

    LS
     
  9. bousozoku Moderator emeritus

    Joined:
    Jun 25, 2002
    Location:
    Gone but not forgotten.
    #9
    Re: Some info:...

    Carbon applications are not guaranteed to be as fast as Cocoa application because the Carbon APIs are not all re-entrant. I.e., they do not separate the data from the code. This is being handled similarly to the 680x0->PowerPC code in Mac OS 7.x and 8.x--a little at a time. Jaguar has a lot of updated Carbon code according to developer updates. However, you can see with 10.1.3 and up that a lot of work was put into making Carbon faster.
     
  10. tjwett thread starter macrumors 68000

    tjwett

    Joined:
    May 6, 2002
    Location:
    Brooklyn, NYC
    #10
    thanks...

    thanks for all the info guys. i guess i don't actually care either way after all. i was under the impression that Carbon was like a cheap shortcut or something and was much slower. guess it's all good. anyone know if Adobe is doing any fixes on Photoshop 7 and Illustrator 10? they are so bug infested and crash alot, for me atleast.
     
  11. bousozoku Moderator emeritus

    Joined:
    Jun 25, 2002
    Location:
    Gone but not forgotten.
    #11
    Re: thanks...

    There was a recent update to Illustrator, but there's still an issue with version 10 EPS files going into QuarkXPress 5.x. We haven't figured it out and it's sporadic but the workaround is to save EPS files in version 9 format.
     

Share This Page