Deprecated routines

Mikuro

Crotchety UI Nitpicker
How afraid should I be of using routines that are "deprecated"? It seems like a ridiculous amount of the Mac OS APIs are deprecated in Tiger. So far I've just gone on using them and I've avoided their replacements like the plague (Panther/Jaguar support is still very important, naturally).

In some cases, it seems that I'm given the choice between backwards compatibility and forwards compatibility. For example, a lot of routines that deal with file paths are now deprecated, and replaced with equivalent routines that use URLs instead.

In other cases, routines are deprecated without there being any full-featured replacements. For example, all of QuickDraw is now deprecated. (Please, I don't need a lecture on the virtues of Quartz and OpenGL. I'm aware of their uses, and QuickDraw still has its advantages.)

So, how long do you suppose these things will be supported? How many years/updates does it usually take for Apple to finally pull the plug on deprecated routines? Is there even any precedent yet?
 
There is no exact time frame on a deprecated routine or function -- Apple could kill it in the next OS update, or they may wait 5 or more years to kill it. They may NEVER kill it. This uncertainty only makes one thing clear: get rid of deprecated routines as quickly as you can.

It's generally bad practice to use deprecated routines. I know that Apple is pushing ahead at a blinding pace with their OS updates and the changes they make with each revision, and my only advice would be to try your absolute best to keep up with them. There will always be incompatibilities and points where you're forced to upgrade in order to keep your apps compatible, but as a general rule of thumb, get rid of those deprecated functions as quick as possible and try to use the functions that replace them.
 
Well, the question really isn't whether I should move to the new Tiger-only APIs immediately — the answer to that is simply NO, because I'm not about to abandon Panther.

The question is, when will these Panther-compatible apps no longer run? If support will be ripped tomorrow, it's a very different situation than if it'll be ripped in two or three years. That's why I'm looking for some precedent. Has Apple never deprecated anything before Tiger?

Backwards compatibility is very important, so I'll need a very good reason to sacrifice it. At some point I know I'll need to, but I need something to go on to weigh the factors and decide WHEN, and Apple's left me with nothing. I don't think Apple's being fair to developers here.

Guess I'll start reinventing a thousand little wheels so I can use Quartz instead of QuickDraw.... :( Ugh.
 
I doubt that they'll be removed in Tiger but Apple doesn't ever really say anything about their next OS versions. I guess your only real option is to maintain 2 different code bases once they actually do get removed from OS X if you want to remain compatible with Panther. Although by the time Leopard comes out, Panther is really quite old so you'd probably expect a lot of people to at least have Tiger.
 
Back
Top