Welcome to the MacNN Forums.

If this is your first visit, be sure to check out the FAQ by clicking the link above. You may have to register before you can post: click the register link above to proceed. To start viewing messages, select the forum that you want to visit from the selection below.

You are here: MacNN Forums > Software - Troubleshooting and Discussion > Mac OS X > Why do programs need to be updated whenever the Operating System is updated?

Why do programs need to be updated whenever the Operating System is updated?
Thread Tools
Junior Member
Join Date: Mar 2003
Status: Offline
Reply With Quote
Apr 6, 2003, 02:38 PM
 
Why is it that some software programs need to be updated to work with OS X. For example, some programs will need to be re-written for 10.3.

Wouldn't it be beneficial for Apple to stablize OS X, so that software companies don't need to tinker with their programs upon OS changes? What is being updated in these OS releases that requires other vendors to re-write there software?

I remember that after 10.1, my wireless card stopped working. After 10.2, my compact flash card no longer was supported. With 10.3, it seems like a lot of software programers will be plenty busy.
POWER MAC G4
Dual 1.42GHz, 2.0GB RAM, 120GB HD
NVIDIA GeForce4 Titanium
20.1" APPLE Cinema Display
CANON i950 Printer
iSight Camera
     
Mac Elite
Join Date: Dec 2002
Location: Trapped in the depths of my mind
Status: Offline
Reply With Quote
Apr 6, 2003, 03:03 PM
 
Gummi Bear:
I'm no programming expert, but my very basic understanding goes something like this. The operating system to me is like the "brain" it tells the programs (like our body parts) what to do. Eventhough the programs have instructions to make it "run", without the "brain" or operating system giving it the correct instructions, the programs will not work properly.

For example, when our "brains" become damaged, like some brain injuries, the body parts (programs) still work, BUT they won't work properly (we have trouble walking, talking, etc.) unless the brain works correctly.

When the "brain" or operating system is rewritten or changed somehow, the programs need to be revised/rewritten so the operating system can understand it and ensure that these programs work as they were intended to work.

Well, that's how my simple brain understands this anyways. Just my 2 cents.
     
Senior User
Join Date: May 2001
Location: Boston, MA
Status: Offline
Reply With Quote
Apr 6, 2003, 05:00 PM
 
System frameworks change and apps need to be updated to gain compatibility with modified frameworks.
     
Mac Elite
Join Date: Nov 2001
Status: Offline
Reply With Quote
Apr 6, 2003, 05:16 PM
 
Originally posted by Gummi Bear:
Why is it that some software programs need to be updated to work with OS X. For example, some programs will need to be re-written for 10.3.

Wouldn't it be beneficial for Apple to stablize OS X, so that software companies don't need to tinker with their programs upon OS changes? What is being updated in these OS releases that requires other vendors to re-write there software?

I remember that after 10.1, my wireless card stopped working. After 10.2, my compact flash card no longer was supported. With 10.3, it seems like a lot of software programers will be plenty busy.
Well, Apple (as do most OS vendors) does try quite hard to avoid changing system APIs in ways that break existing applications. Whenever possible, they provide libraries that are "backwards compatible" meaning apps written for the old versions should also work on the newer versions, without changes.

It is not always possible to do this -- sometimes there are bugs which are fixed which change APIs. Also there are cases like the upgrade of the compiler -- OS X 10.1 used GCC 2.95.2, and OS X 10.2 uses GCC 3.1 (an Apple modified version -- the general GCC right now is 3.3). These versions of the compiler are not "binary compatible" meaning libraries built with one compiler version cannot be "linked" with libraries built with another compiler version. This part is really out of Apple's control -- the compiler changed a lot (it got faster and more compiliant with the ANSI C++ specification), so this is another factor.

One other way which really isn't Apple's fault (but for which they are often blamed) is apps that are built on undocumented or unstable APIs. It's not completely possible for Apple to provide programming APIs with *only* the "public" (meaning APIs they want developers to use) visible. Some private APIs are visible in the source they provide, and developers often use them. These APIs are not guaranteed by Apple to work the same way between releases, and when Apple changes some of these, apps break. The developers were swinging "fast and loose" by doing this, and they often get burned in these cases. If they stuck closely to Apple's advice and guidance, these kinds of things would be much less likely to occur.
     
Grizzled Veteran
Join Date: Aug 2002
Location: Central Texas
Status: Offline
Reply With Quote
Apr 6, 2003, 06:24 PM
 
The other thing is - 99% of apps DON'T need to be updated for new hardware. All the stuff you mentioned were hardware drivers. They usually do.

Look at Windows 95/98/2000/XP. Every one has needed updated drivers. Some 2000 drivers don't work in XP. Some 95 drivers don't work in 98.

Now applications - most will work fine. Only those few that either hack into the OS (like all of the haxies) or don't follow the API docs will most likely need to be updated.

Or...those that had workarounds for an OS X bug that was now fixed - those workarounds may be flawed.
     
   
Thread Tools
Forum Links
Forum Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On
Top
Privacy Policy
All times are GMT -5. The time now is 11:17 PM.
All contents of these forums © 1995-2011 MacNN. All rights reserved.
Branding + Design: www.gesamtbild.com
vBulletin v.3.8.7 © 2000-2011, Jelsoft Enterprises Ltd., Content Relevant URLs by vBSEO 3.3.2