プログラミング言語C標準規格に登場する「廃止予定の機能(obsolescent feature)」の意味を正確に規定する提案が提出されている。
Motivation
Mixing the terms "obsolete", "obsolescent", "deprecated", and "removed", despite distinctions in their meanings, sends confusing and inconsistent message to the outside world, leading to misunderstandings even among the members of the Committee.This paper aims to clarify the terminology by defining term "obsolete" and the categories of such state.
The Standard itself ought to use the precise categories for individual features. The word "obsolete" is an umbrella term, already seen as existing practice in community (see: cppreference.com, Wikipedia), which would also be useful for papers that put to a discussion the degree to which a feature can be obsoleted (e.g. N3353). As an added bonus, defining it highlights existence of a distinction between "obsolete" and "obsolescent", which may not be clear to all readers otherwise.
N3818 Clarify terminology for obsolete features, v2
C23現在はdeprecated属性(→id:yohhoy:20200505)で間接的に定義されているのみ。C23 6.7.13.5/p3より引用。
Semantics
Thedeprecatedattribute can be used to mark names and entities whose use is still allowed, but is discouraged for some reason.174)
脚注174) In particular,deprecatedis appropriate for names and entities that are obsolescent, insecure, unsafe, or otherwise unfit for purpose.