Abstract
API Design is one of the most fundamental and important parts of programming. Yet, despite many
years of experience and improved programming languages, poorly designed APIs are as common as ever.
This article presents examples of poor APIs and provides guidlines for how to improve on the current
sad state of affairs. The article also suggests that, to address the problem at its root, we need
to look beyond mere technical issues and make cultural changes in education, employment policies,
and legislation.
© ACM, 2007. This is the author's version of the work. It is posted
here by permission of ACM for your personal use. Not for
redistribution. The definitive version was published in
ACM Queue Magazine
(Vol 5, Issue 4, May/June 2007).