API Design Matters

  • Authors:
  • Michi Henning

  • Affiliations:
  • ZeroC

  • Venue:
  • Queue - API Design
  • Year:
  • 2007

Quantified Score

Hi-index 0.02

Visualization

Abstract

Why changing APIs might become a criminal offense.After more than 25 years as a software engineer, I still findmyself underestimating the time it will take to complete aparticular programming task. Sometimes, the resulting schedule slipis caused by my own shortcomings: as I dig into a problem, I simplydiscover that it is a lot harder than I initially thought, so theproblem takes longer to solvesuch is life as a programmer. Just asoften I know exactly what I want to achieve and how to achieve it,but it still takes far longer than anticipated. When that happens,it is usually because I am struggling with an API that seems to doits level best to throw rocks in my path and make my lifedifficult. What I find telling is that, after 25 years of progressin software engineering, this still happens. Worse, recent APIsimplemented in modern programming languages make the same mistakesas their two-decade-old counterparts written in C. There seems tobe something elusive about API design that, despite many years ofprogress, we have yet to master.