Settings

Theme

How to design a good API and why it matters, Joshua Bloch [pdf]

lcsd05.cs.tamu.edu

4 points by 11ren 17 years ago · 2 comments

Reader

11renOP 17 years ago

I think the design issues for APIs, DSLs and languages are very similar.

For adoption, the learning curve is very important, and the beginning of this curve is sensible defaults (like Python and Rails), so you can make the common tasks happen fast, while having the power to also do the complex low-level fine-tuning that is less common (and not the first thing you do). There's a learning curve (per user), but also a building curve (per project).

However, common is an attribute of usage, and not intrinsic to the API. You need a lot of users before you know what is common. And, over time, as the world changes, the common tasks change (eg. there are many different internet protocols, but http turned out to be most common).

11renOP 17 years ago

BTW: just noticed HN automatically adds a [scribd] link for a pdf. Convenience and cross-promotion in one. :-) (edit added pdf warning)

Keyboard Shortcuts

j
Next item
k
Previous item
o / Enter
Open selected item
?
Show this help
Esc
Close modal / clear selection