One of my favorite API's is Tcl's socket API. The simple case is really simple:
set sk [open news.ycombinator.com 80]
And you're in business. If you want to do more complex things, you can then operate on that socket, fiddling with all the options (blocking/non blocking, buffering, etc...).
The lesson is: make the obvious thing really easy, and give the user a means to access advanced functionality without requiring it.
set sk [open news.ycombinator.com 80]
And you're in business. If you want to do more complex things, you can then operate on that socket, fiddling with all the options (blocking/non blocking, buffering, etc...).
The lesson is: make the obvious thing really easy, and give the user a means to access advanced functionality without requiring it.