Deprecated means that it is still in use, but only for historical purposes and it will be removed probably in the next big release. It is recommended that you do not use deprecated functions or features - even if they are present in the current library for example.
Obsolete means that is already out-of-use.
Depreciated means the monetary value of something has decreased over time. E.g., cars typically depreciate in value.
Also for more precise definitions of the terms in the context of the English language I recommend using https://english.stackexchange.com/.
In the context of describing APIs and such, "depreciated" is a misreading, misspelling, and mispronunciation of "deprecated".
I'm thinking people have just seen "depreciated" so often in other contexts, and "deprecated" so rarely, that they don't even register the "i" or lack thereof. It doesn't exactly help that their definitions are similar either.
Deprecated: should be avoided in new code, and likely to become obsolete in a later version of the API
Depreciated: usually a typo for deprecated (depreciation is where the value of goods goes down over time, e.g. if you buy a new computer its resale value goes down month by month)
With all due respect, this is a slight pet peeve of mine and the selected answer for this is actually wrong.
Granted language evolves, e.g., "google" is now a verb, apparently. Through what's known as "common use", it has earned its way into official dictionaries. However, "google" was a new word representing something heretofore non-existent in our speech.
Common use does not cover blatantly changing the meaning of a word just because we didn't understand its definition in the first place, no matter how many people keep repeating it.
The entire English-speaking computer industry seems to use "deprecate" to mean some feature that is being phased out or no longer relevant. Not bad, just not recommended. Usually, because there is a new and better replacement.
The actual definition of deprecate is to put down, or speak negatively about, or to express disapproval, or make fun of someone or something through degradation.
It comes from Latin de- (against) precari (to pray). To "pray against" to a 21st century person probably conjures up thoughts of warding off evil spirits or something, which is probably where the disconnect occurs with people. In fact, to pray or to pray for something meant to wish good upon, to speak about in a positive way. To pray against would be to speak ill of or to put down or denigrate. See this excerpt from the Oxford English Dictionary.
Express disapproval of: (as adjective deprecating) he sniffed in a deprecating way
another term for depreciate ( sense 2). he deprecates the value of children’s television
What people generally mean to convey when using deprecate, in the IT industry anyway, and perhaps others, is that something has lost value. Something has lost relevance. Something has fallen out of favor. Not that it has no value, it is just not as valuable as before (probably due to being replaced by something new.) We have two words that deal with concept in English and the first is "depreciate". See this excerpt from the Oxford English Dictionary.
Diminish in value over a period of time: the pound is expected to depreciate against the dollar
Disparage or belittle (something):
Notice that definition 2 sounds like deprecate. So, ironically, deprecate can mean depreciate in some contexts, just not the one commonly used by IT folk.
Also, just because currency depreciation is a nice common use of the word depreciate, and therefore easy to cite as an example, doesn't mean it's the only context in which the word is relevant. It's just an example. ONE example.
The correct transitive verb for this is "obsolete". You obsolete something because its value has depreciated.
See this excerpt from the Oxford English Dictionary.
Verb - Cause something to be or become obsolete by replacing it with something new.
It bugs me, it just bugs me. I don't know why. Maybe because I see it everywhere. In every computer book I read, every lecture I attend, and on every technical site on the internet, someone invariably drops the d-bomb sooner or later. If this one ends up in the dictionary at some point, I will concede, but conclude that the gatekeepers of the English lexicon have become weak and have lost their way... or at the very least, lost their nerve. Even Wikipedia espouses this misuse, and indeed, defends it. I've already edited the page thrice, and they keep removing my edits.
Something is depreciated until it is obsolete. Deprecate, in the context of IT, makes no sense at all, unless you're putting down someone's performance or work or product or the fact that they still wear parachute pants.
Conclusion: The entire IT industry uses deprecate incorrectly. It may be common use. It may be some huge mis-understanding. But it is still, completely, wrong.
In computer software standards and documentation, the term deprecation is used to indicate discouragement of usage of a particular software feature, usually because it has been superseded by a newer/better version. The deprecated feature still works in the current version of the software, but it may raise error messages or warnings recommending an alternate practice.
The Obsolete attribute marks a program entity as one that is no longer recommended for use. Each use of an entity marked obsolete will subsequently generate a warning or an error since they are no longer in use or does not exist.
EDIT:
depreciated : Not sure how this relates to programming
I wouldn't say obsolete means it doesn't work anymore. In my mind obsolete just means there are better alternatives. A thing becomes obsolete because of something else. Deprecated means you shouldn't use it, although there might not be any alternatives. A thing becomes deprecated because someone says it is -- it is prescriptive.
"Depreciated" means "has less value than its original value".
"Deprecated" means to expressly disprove of and was popularised due to misspellings in two technical articles where the authors used deprecated without an "i". One in 1999 and the other in 2002 referenced in the dictionaries as origins.
Prior to that time frame we were reading comments like // depreciated in API documentation including the MS MSDN.
The use of deprecated in the tech industry is therefore completely incorrect and evidence of how a technical writer can produce a bug that can live in a language and someone should finally put the bug to rest.
发布评论
评论(8)
你是对的。
已弃用意味着它仍在使用,但仅用于历史目的,并且可能会在下一个大版本中删除。建议您不要使用已弃用的函数或特性 - 即使它们存在于当前库中。
已过时意味着已经不再使用。
折旧表示某物的货币价值随着时间的推移而减少。例如,汽车通常会贬值。
另外,为了在英语语言环境中更精确地定义术语,我建议使用 https://english.stackexchange.com/。
You are correct.
Deprecated means that it is still in use, but only for historical purposes and it will be removed probably in the next big release. It is recommended that you do not use deprecated functions or features - even if they are present in the current library for example.
Obsolete means that is already out-of-use.
Depreciated means the monetary value of something has decreased over time. E.g., cars typically depreciate in value.
Also for more precise definitions of the terms in the context of the English language I recommend using https://english.stackexchange.com/.
唱片已经过时,CD 已经过时,音乐产业也已经过时。
Records are obsolete, CDs are deprecated, and the music industry is depreciated.
在描述 API 等的上下文中,“deprecied”是对“deprecated”的误读、拼写和发音错误。
我认为人们在其他情况下经常看到“deprecated”,而“deprecated”却很少,以至于他们甚至没有注意到“i”或缺少“i”。它们的定义相似也没有什么帮助。
In the context of describing APIs and such, "depreciated" is a misreading, misspelling, and mispronunciation of "deprecated".
I'm thinking people have just seen "depreciated" so often in other contexts, and "deprecated" so rarely, that they don't even register the "i" or lack thereof. It doesn't exactly help that their definitions are similar either.
已过时: 不应再使用
已弃用: 在新代码中应避免使用,并且可能会在更高版本的 API 中过时
已弃用:强>通常是已弃用的拼写错误(折旧是指商品价值随着时间的推移而下降,例如,如果您购买一台新计算机,其转售价值会逐月下降)
Obsolete: should not be used any more
Deprecated: should be avoided in new code, and likely to become obsolete in a later version of the API
Depreciated: usually a typo for deprecated (depreciation is where the value of goods goes down over time, e.g. if you buy a new computer its resale value goes down month by month)
恕我直言,这是我的一个小小烦恼,为此选择的答案实际上是错误的。
当然,语言是在发展的,例如,显然,“google”现在是一个动词。通过所谓的“通用”,它已经进入了官方词典。然而,“google”是一个新词,代表着我们演讲中迄今为止不存在的东西。
通用并不包括仅仅因为我们一开始不理解它的定义就公然改变它的含义,无论有多少人不断重复它。
整个英语计算机行业似乎使用“deprecate”来表示某些功能正在被淘汰或不再相关。不错,只是不推荐。通常是因为有新的、更好的替代品。
贬低的实际定义是贬低、或消极地谈论、或表达不赞成、或通过贬低来取笑某人或某事。
它来自拉丁语 de-(反对)precari(祈祷)。对21世纪的人“祈祷”可能会让人联想到辟邪之类的想法,这可能就是与人脱节的地方。事实上,祈祷或祈求某事意味着祝愿美好,以积极的方式谈论。反对祷告就是说坏话、贬低或诽谤。请参阅《牛津英语词典》的摘录。
表示不赞成:
(作为形容词贬低)他以贬低的方式嗅了嗅
贬低的另一个术语(意义2)。
他贬低了儿童电视的价值
人们在 IT 行业或其他行业中使用“贬低”时,一般要表达的意思是某些东西已经失去了价值。有些东西已经失去了相关性。有些东西已经失宠了。并不是说它没有价值,而是它不像以前那么有价值(可能是因为被新的东西取代了)。英语中有两个词来处理概念,第一个是“贬值”。请参阅《牛津英语词典》的摘录。
在一段时间内价值减少:
预计英镑兑美元会贬值
贬低或贬低(某事):
请注意,定义 2 听起来像是贬低。因此,讽刺的是,deprecate 在某些情况下可能意味着 depreciate,但不是 IT 人员常用的情况。
此外,仅仅因为货币贬值是贬值一词的常见用法,因此很容易作为示例引用,但这并不意味着它是该词相关的唯一上下文。这只是一个例子。一个例子。
正确的及物动词是“过时的”。你废弃某些东西是因为它的价值已经贬值。
请参阅《牛津英语词典》的摘录。
动词 - 通过用新事物替换某事物而使某事物过时或变得过时。
它让我烦恼,它只是让我烦恼。我不知道为什么。也许是因为我到处都看到它。在我阅读的每一本计算机书籍中,在我参加的每一次讲座中,以及在互联网上的每个技术网站上,迟早都会有人投下原子弹。如果这个词最终出现在字典中,我会承认,但得出的结论是英语词典的守门人已经变得软弱并且迷失了方向……或者至少失去了勇气。甚至维基百科也支持这种滥用,并且确实为其辩护。我已经对该页面进行了三次编辑,但他们不断删除我的编辑。
有些东西会贬值,直到它变得过时。在 IT 背景下,贬低根本没有任何意义,除非你贬低某人的表现、工作或产品,或者贬低他们仍然穿着降落伞裤的事实。
结论:整个IT行业都错误地使用了deprecate。可能是常用的。这可能是一个巨大的误会。但这仍然是完全错误的。
With all due respect, this is a slight pet peeve of mine and the selected answer for this is actually wrong.
Granted language evolves, e.g., "google" is now a verb, apparently. Through what's known as "common use", it has earned its way into official dictionaries. However, "google" was a new word representing something heretofore non-existent in our speech.
Common use does not cover blatantly changing the meaning of a word just because we didn't understand its definition in the first place, no matter how many people keep repeating it.
The entire English-speaking computer industry seems to use "deprecate" to mean some feature that is being phased out or no longer relevant. Not bad, just not recommended. Usually, because there is a new and better replacement.
The actual definition of deprecate is to put down, or speak negatively about, or to express disapproval, or make fun of someone or something through degradation.
It comes from Latin de- (against) precari (to pray). To "pray against" to a 21st century person probably conjures up thoughts of warding off evil spirits or something, which is probably where the disconnect occurs with people. In fact, to pray or to pray for something meant to wish good upon, to speak about in a positive way. To pray against would be to speak ill of or to put down or denigrate. See this excerpt from the Oxford English Dictionary.
Express disapproval of:
(as adjective deprecating) he sniffed in a deprecating way
another term for depreciate ( sense 2).
he deprecates the value of children’s television
What people generally mean to convey when using deprecate, in the IT industry anyway, and perhaps others, is that something has lost value. Something has lost relevance. Something has fallen out of favor. Not that it has no value, it is just not as valuable as before (probably due to being replaced by something new.) We have two words that deal with concept in English and the first is "depreciate". See this excerpt from the Oxford English Dictionary.
Diminish in value over a period of time:
the pound is expected to depreciate against the dollar
Disparage or belittle (something):
Notice that definition 2 sounds like deprecate. So, ironically, deprecate can mean depreciate in some contexts, just not the one commonly used by IT folk.
Also, just because currency depreciation is a nice common use of the word depreciate, and therefore easy to cite as an example, doesn't mean it's the only context in which the word is relevant. It's just an example. ONE example.
The correct transitive verb for this is "obsolete". You obsolete something because its value has depreciated.
See this excerpt from the Oxford English Dictionary.
Verb - Cause something to be or become obsolete by replacing it with something new.
It bugs me, it just bugs me. I don't know why. Maybe because I see it everywhere. In every computer book I read, every lecture I attend, and on every technical site on the internet, someone invariably drops the d-bomb sooner or later. If this one ends up in the dictionary at some point, I will concede, but conclude that the gatekeepers of the English lexicon have become weak and have lost their way... or at the very least, lost their nerve. Even Wikipedia espouses this misuse, and indeed, defends it. I've already edited the page thrice, and they keep removing my edits.
Something is depreciated until it is obsolete. Deprecate, in the context of IT, makes no sense at all, unless you're putting down someone's performance or work or product or the fact that they still wear parachute pants.
Conclusion: The entire IT industry uses deprecate incorrectly. It may be common use. It may be some huge mis-understanding. But it is still, completely, wrong.
在计算机软件标准和文档中,术语弃用用于表示不鼓励使用特定软件功能,通常是因为它已被更新/更好的版本取代。已弃用的功能在当前版本的软件中仍然有效,但可能会引发错误消息或警告,建议采取替代做法。
过时属性将程序实体标记为不再推荐使用的实体。每次使用标记为过时的实体都会随后生成警告或错误,因为它们不再使用或不存在。
编辑:
折旧:不确定这与编程有何关系
In computer software standards and documentation, the term deprecation is used to indicate discouragement of usage of a particular software feature, usually because it has been superseded by a newer/better version. The deprecated feature still works in the current version of the software, but it may raise error messages or warnings recommending an alternate practice.
The Obsolete attribute marks a program entity as one that is no longer recommended for use. Each use of an entity marked obsolete will subsequently generate a warning or an error since they are no longer in use or does not exist.
EDIT:
depreciated : Not sure how this relates to programming
我不会说过时意味着它不再起作用。在我看来,过时只是意味着有更好的选择。一个事物会因为其他事物而变得过时。已弃用意味着您不应该使用它,尽管可能没有任何替代方案。某事物会被弃用,因为有人说它是——它是规定性的。
I wouldn't say obsolete means it doesn't work anymore. In my mind obsolete just means there are better alternatives. A thing becomes obsolete because of something else. Deprecated means you shouldn't use it, although there might not be any alternatives. A thing becomes deprecated because someone says it is -- it is prescriptive.
在此时间范围之前,我们正在阅读 API 文档(包括 MS MSDN)中诸如
// depreciated 之类的评论。
因此,在技术行业中使用 deprecated 是完全不正确的,这证明了技术作家如何能够生成一个可以存在于一种语言中的错误,最终应该有人来解决这个错误。
Prior to that time frame we were reading comments like
// depreciated in API documentation including the MS MSDN.
The use of deprecated in the tech industry is therefore completely incorrect and evidence of how a technical writer can produce a bug that can live in a language and someone should finally put the bug to rest.