7 Principles of Better API Design

Perl, Programming
Location: Ballroom A3/A6
Average rating: ****.
(4.34, 32 ratings)

This course presents a minimalist approach to interface design known as “S.A.T.” Developed by Damian Conway over the past decade, this design philosophy can produce smaller, better focused, more usable module APIs.

The seven principles are:

1. Do one thing really well 2. Design by coding 3. Evolve by subtraction 4. Declarative trumps imperative 5. Preserve the metadata 6. Leverage the familiar 7. The best code is no code at all

All these topics covered will be explored and illustrated by examining the interfaces and implementations of commonly used modules from the Perl standard library and the CPAN (many of which were designed by Damian himself).

Photo of Damian Conway

Damian Conway


Damian Conway is an internationally renowned speaker, author, and trainer, and a prominent contributor to the Perl community. Currently he runs Thoughtstream, an international IT training company that provides programmer training from beginner to masterclass level throughout Europe, North America, and Australasia. Most of his spare time is spent working with Larry Wall on the design and explication of the Perl 6 programming language. He has a PhD in Computer Science and is an honorary Associate Professor in the Faculty of Information Technology at Monash University, Australia.

Comments on this page are now closed.


Jennifer Pinkham
07/25/2009 10:34pm PDT

Damian is a great speaker: funny, energetic, fast-paced. I thought this session was packed with good info. As a Perl programmer, I was happy that it focused mainly on Perl. This got me energized again about doing good Perl development

Hank Weverka
07/24/2009 4:14am PDT

Too heavy of a focus on internal Perl programming tricks. Expecting a discussion on program to program or system to system interfaces – which would have had more relevance with the cloud computing theme.

Picture of Timothy Ace
Timothy Ace
07/21/2009 7:33am PDT

In my opinion the best point that was covered was the principle that you should always start writing examples of using an interface before you actually build it. It represents a complete reversal of the usual approach. Damian once again put together a stellar presentation.

  • Intel
  • Microsoft
  • Google
  • SourceForge.net
  • Sun Microsystems
  • Facebook
  • Gear6
  • Kaltura
  • Liferay
  • MindTouch
  • MySpace.com
  • Novell, Inc.
  • Open Invention Network
  • Rackspace Cloud
  • Schooner Information Technology
  • Silicon Mechanics
  • Symbian Foundation
  • Twilio
  • WSO2
  • Yabarana Corporation

Sponsorship Opportunities

For information on exhibition and sponsorship opportunities at the conference, contact Sharon Cordesse at scordesse@oreilly.com

Download the OSCON Sponsor/Exhibitor Prospectus

Media Partner Opportunities

Download the Media & Promotional Partner Brochure (PDF) for information on trade opportunities with O'Reilly conferences or contact mediapartners@ oreilly.com

Press and Media

For media-related inquiries, contact Maureen Jennings at maureen@oreilly.com

OSCON Newsletter

To stay abreast of conference news and to receive email notification when registration opens, please sign up for the OSCON newsletter (login required)

Contact Us

View a complete list of OSCON contacts