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

They're trying to "Do One Thing And Do It Well". It's always interesting how core UNIX philosophy often gets lost in Startup Culture's rush to "Disrupt The World".


Databases do lots of stuff: authentication, data persistence, query optimization, process management, even an file system.

They are not the prime example I would use for DOTADIW.


Provide one abstraction and provide it well, maybe?

Puts me in mind of something I've seen done in Redis, and in the OSX (really NeXT) CoreFoundation container classes. In both, you instantiate an abstract data-structure based on worst-case time-space guarantees you want from its API. Then, the implementation actually instantiates it as one of several underlying concrete classes, usually starting with one that wins for low content sizes just because of fewer dereferences needed (e.g. a "ziplist" in Redis); and then migrates the content to a different underlying concrete container transparently when content reaches a certain size.

In both cases, you're giving the user a cleaner abstraction that they can think less about, but you're accomplishing it by making the computer itself do far more internal book-keeping, and creating a much more heavily-engineered design.


How does adding support for JSON types work with the Unix idea?




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

Search: