ACM Home Page
Please provide us with feedback. Feedback
API Design Matters
Full text HtmlHtml (21 KB),  PdfPdf (237 KB)
Source
Queue archive
Volume 5 ,  Issue 4  (May-June 2007) table of contents
API Design
FEATURE: Q focus: API Design table of contents
Pages: 24 - 36  
Year of Publication: 2007
ISSN:1542-7730
Author
Michi Henning  ZeroC
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 702,   Downloads (12 Months): 2787,   Citation Count: 2
Additional Information:

abstract   cited by   index terms   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/1255421.1255422
What is a DOI?

ABSTRACT

Why changing APIs might become a criminal offense.
After more than 25 years as a software engineer, I still find myself underestimating the time it will take to complete a particular programming task. Sometimes, the resulting schedule slip is caused by my own shortcomings: as I dig into a problem, I simply discover that it is a lot harder than I initially thought, so the problem takes longer to solvesuch is life as a programmer. Just as often 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 do its level best to throw rocks in my path and make my life difficult. What I find telling is that, after 25 years of progress in software engineering, this still happens. Worse, recent APIs implemented in modern programming languages make the same mistakes as their two-decade-old counterparts written in C. There seems to be something elusive about API design that, despite many years of progress, we have yet to master.