I used to work with a guy who would quite often correct me on my use of the word deprecate in the context of a software function. I would say "I think that software function is deprecated and should not be used anymore." (Deprecated pronounced dep-re-kate-ed). He would respond "no, that software function is depreciated". (Depreciated pronounced de-pre-she-ate-ed).
We have the two words:
Just one letter different, but the pronunciation is quite a bit different. I kept saying the word my way and he would say it his. His reasoning was that deprecate was a synonym for defecate; which is incorrect.
What is the correct word to use in the context of software? The answer is deprecate (dep-re-kate). Just check out the Wikipedia article on Deprecation that is written from an entirely software point of view if you don't want to take my word for it.
How can you keep them straight in your head? The trick is to think depreciate (lose value) is the opposite of appreciate (gain value) - which doesn't make sense in the terms of a software feature. So, the answer is deprecate which has the meaning of disapproval; just imagine someone begrudgingly letting you use a software function he doesn't want to support anymore - the disapproval: deprecate.