How To Design A Good API and Why it Matters

Google Tech Talks
January 24, 2007

ABSTRACT

Every day around the world, software developers spend much of their time working with a variety of Application Programming Interfaces (APIs). Some are integral to the core platform, some provide access to widely distributed frameworks, and some are written in-house for use by a few developers. Nearly all programmers occasionally function as API designers, whether they know it or not. A well-designed API can be a great asset to the organization that wrote it and to all who use it. Good APIs increase the pleasure and productivity of the developers who use them, the quality of the software they produce, and ultimately, the corporate bottom line. Conversely, poorly written APIs are a constant thorn in the developer’s side, and have been known to harm the bottom line to the point of bankruptcy. Given the importance of good API design, surprisingly little has been written on the subject. In this talk, I’ll attempt to help you recognize good and bad APIs and I’ll offer specific suggestions for writing good ones.

This talk is part of the Advanced Topics in Programming Series at Google.

Google engEDU
Speaker: Joshua Bloch

17 Comments on “How To Design A Good API and Why it Matters”

  1. APIs evolution should be expressed via version numbers. < 1.0 is beta so expect changes as structure solidifies. Minor versions are for maintenance so API changes are off limits. Major versions may include API changes but aliases to the old API should be maintained for a few minor versions to allow users the time to update.

  2. Google for the name of the talk. Looks like the deck is available on slideshare.

  3. Гугловые тектолки просто шикарны. В этом, например, Джошуа Блох лечит джаву головного мозга. 

  4. Hey guys, we are working on a tool to help design great api's. Currently taking early invites apiengine.io

Comments are closed.