So do all apps have to be rewritten to take adv. of Snow?

Discussion in 'macOS' started by FSMBP, Jun 10, 2009.

  1. FSMBP macrumors 68020

    FSMBP

    Joined:
    Jan 22, 2009
    #1
    So after all the hoop-la over how much faster Snow Leopard will be, I had one question.

    Will my apps, such as Final Cut Express 4, Photoshop CS3, Garageband, not be able to benefit from Grand Central, OpenCL or whatever?

    I'm just wondering because I know Apple's apps (a majority) of them will be able to take advantage of Snow Leopard's new technologies.
     
  2. InkMaster macrumors 6502a

    Joined:
    Nov 30, 2007
    Location:
    Nagoya, Japan
    #2
    Well, Photoshop needs to be rewritten from the ground up anyways as it for years have been a buggy and bloated pile of rotting crap.
     
  3. Catfish_Man macrumors 68030

    Catfish_Man

    Joined:
    Sep 13, 2001
    Location:
    Portland, OR
    #3
    OSX and the apps on it are essentially built in layers, each layer providing functionality to the layers above it. Many times when a particular layer is enhanced in some way, the layers above it get some benefit transparently, but can optionally make additional changes to gain additional benefits.

    A non-NDA'd example:

    With the release of new Safari versions, the system WebKit is updated; that means that Adium (which relies on WebKit) is automatically faster and uses a bit less memory. However, it also means that new functions like querySelectorAll and getElementsByClassName are available. In this particular case we can (and do) take advantage of these to make updating buddy icons in the chat faster and simpler.




    TLDR summary:
    Some benefits from each improvement will be apparent immediately, others will follow with updates to apps.
     
  4. NathanCH macrumors 65816

    NathanCH

    Joined:
    Oct 5, 2007
    Location:
    Stockholm, Sweden
    #4
    Haha, yeah I couldn't even upgrade to CS4, it's too heavy. They need to strip off a lot of the meat and make it more streamlined.
     
  5. InkMaster macrumors 6502a

    Joined:
    Nov 30, 2007
    Location:
    Nagoya, Japan
    #5
    But, that would require months of development and lots of money to be invested. How can you invest money with one hand and work with the other if both of your hands are busy carrying the bags of money you received from your users?
     
  6. FSMBP thread starter macrumors 68020

    FSMBP

    Joined:
    Jan 22, 2009
    #6
    So basically, I *might* get a benefit on some level but to take full advantage apps have to be rewritten?
     
  7. nuckinfutz macrumors 603

    nuckinfutz

    Joined:
    Jul 3, 2002
    Location:
    Middle Earth
    #7
    Yes
     
  8. Catfish_Man macrumors 68030

    Catfish_Man

    Joined:
    Sep 13, 2001
    Location:
    Portland, OR
    #8
    No "might" about it.
     
  9. mamcx macrumors regular

    Joined:
    Mar 13, 2008
    #9
    Not necesarily. A "rewrite" in programing mean: Put the old code in the trash, start from zero. Is harder & costly.

    More like a refactoring. Only improve the portions of the code that could provide the big benefits (pareto rule apply!).
     
  10. Sun Baked macrumors G5

    Sun Baked

    Joined:
    May 19, 2002
    #10
    If it doesn't say "Requires OS X 10.6" the app if still coded for an earlier OS and may not take advantage of Grand Central, OpenCL, Snow Leopards multi-threading etc.

    Though Apple's apps likely will require OS X 10.6 with their next revision.

    Probably see some filters for Photoshop make a quick transition and be 10.6 aware.
     
  11. Catfish_Man macrumors 68030

    Catfish_Man

    Joined:
    Sep 13, 2001
    Location:
    Portland, OR
    #11
    Actually, it's possible to write code like (oversimplifying somewhat)

    Code:
    if ([NSApp isOnSnowLeopardOrBetter]) //custom (but easy to write) method for determining which OS we're on
    {
        [foo doShinySnowLeopardThing];
    }
    else
    {
        [foo doBustedOldThing]; // ;)
    }
    
    So it becomes a tradeoff between backwards compatibility and the complexity of writing things twice. "Requires <version>" usually happens when a) the language itself changes (some snow leopard things fall in this category, although a particularly clever/dedicated developer might be able to manage still), or b) the complexity of writing and maintaining two versions of things becomes too much of a problem.
     
  12. Kat King123 macrumors regular

    Kat King123

    Joined:
    Jan 3, 2009
    #12
    but most leopard apps will work with snow leopard correct? even tho they wont be able to take full advantage :rolleyes:
     
  13. Biolizard macrumors 6502

    Joined:
    May 20, 2008
    Location:
    London, United Kingdom
    #13
    They should all work, but of course there's no guarantee. Considering this is mainly a refactored form of Leopard with some new APIs, it should be less hassle than Tiger -> Leopard.

    All the old APIs are there, they've just thrown in new ones that offer increased performance (hence the need to refactor software, to make it use the newer APIs rather than old ones).

    Some Leopard software will see a performance improvement regardless since it's running on top of an optimised OS compared to the previous version.
     

Share This Page