Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

>There's a kind of arrogance that we fall into making decisions for others when we design APIs, library interfaces, etc where we know what we're exposing and users don't know what's good for them

This pops up a lot when libraries are designed with functions that are non-public. I only want to access the underlying function, not use your abstraction on top of it. You can't anticipate every possible use case of your library!



> You can't anticipate every possible use case of your library!

On the flipside, I consider a successful software tool is one that is used to do something undreamt of by its author.

One should not try to imagine every possible use to which their software will be put, especially when designing abstractions or interfaces. But these abstractions should be flexible enough that they can be adapted for any use.

There might be very good reasons that the underlying function is not public (I can think of private methods in OO where end users absolutely should not be calling them). To me, this seems like the public interface is lacking or perhaps too rigid, or maybe not well-understood (either by designer or user).

In any case APIs are hard.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: