Understanding Developers’ Needs on Deprecation as a Language Feature
نویسندگان
چکیده
Deprecation is a language feature that allows API producers to mark a feature as obsolete. We aim to gain a deep understanding of the needs of API producers and consumers alike regarding deprecation. To that end, we investigate why API producers deprecate features, whether they remove deprecated features, how they expect consumers to react, and what prompts an API consumer to react to deprecation. To achieve this goal we conduct semi-structured interviews with 17 third-party Java API producers and survey 170 Java developers. We observe that the current deprecation mechanism in Java and the proposal to enhance it does not address all the needs of a developer. This leads us to propose and evaluate three further enhancements to the deprecation mechanism.
منابع مشابه
Task Effectiveness Predictors: Technique Feature Analysis VS. Involvement Load Hypothesis
How deeply a word is processed has long been considered as a crucial factor in the realm of vocabulary acquisition. In literature, two frameworks have been proposed to operationalize the depth of processing, namely the Involvement Load Hypothesis (ILH) and the Technique Feature Analysis (TFA). However, they differ in the way they have operationalized it specially in terms of their attentional c...
متن کاملFine-Grained API Evolution for Method Deprecation and Anti-Deprecation
API evolution is the process of migrating an inter-library interface from one version to another. Such a migration requires checking that all libraries which interact through the interface be updated. Libraries can be updated one by one if there is a transition period during which both updated and non-updated libraries can communicate through some transitional version of the interface. Static t...
متن کاملAgile Development of a Custom-Made Vocabulary Mobile Application: A Critical Qualitative Approach
There have been some observed studies and developed applications (apps), with a concentration on Mobile Assisted Language Learning (MALL), and no consideration of communicative needs of the learners; besides, these studies focused on either the theoretical aspects or the utilization of the available apps in the market (Burston & Athanasiou, 2020). Hence, Vocabulary Guru (VG), a custom-made mobi...
متن کاملInstructors and Learners’ Attitudes about English for Science and Technology: Learning and Target Needs of Mechanical Engineering Students
The current investigation sought to examine the learning and target needs of mechanical engineering (ME) students based on the learners and instructors’ attitudes though an explanatory mixed-method design. To elicit learners’ perceptions of English for Science and Technology (EST), 114 ME undergraduate students and 13 EST instructors from four Iranian state universities took part in a large qua...
متن کاملExtending AOP to Support Broad Runtime Monitoring Needs
Runtime monitoring, where some part of a program’s behavior and/or data is observed during execution, is a very useful technique that software developers to use for understanding, analyzing, debugging, and improving their software. Aspect oriented programming is a natural fit for supporting the wide ranging instrumentation needs of runtime monitoring, but so far the limitations of AOP framework...
متن کامل