What Makes APIs Hard to Learn? Answers from Developers

  • Authors:
  • Martin P. Robillard

  • Affiliations:
  • McGill University

  • Venue:
  • IEEE Software
  • Year:
  • 2009

Quantified Score

Hi-index 0.00

Visualization

Abstract

Most software projects reuse components exposed through APIs, which provide developers access to implemented functionality. APIs have grown large and diverse, which raises questions regarding their usability. This article reports on a study of the obstacles professional developers at Microsoft faced when learning how to use APIs. The study was grounded in developers' experience, collected through a survey and interviews. The resulting data showed that learning resources for APIs are critically important and shed light on three issues: the need to discover the design and rationale of the API when needed, the challenge of finding credible usage API examples at the right level of complexity, and the challenge of understanding inexplicable API behavior. The article describes each of these challenges in detail and discusses associated implications for API users and designers.