+1 Sent from my iPhone
On Feb 8, 2012, at 8:15 PM, Mikeal Rogers <mikeal.rog...@gmail.com> wrote: > > On Feb 8, 2012, at February 8, 201210:22 PM, Ben Noordhuis wrote: > >> On Thu, Feb 9, 2012 at 03:58, Marco Rogers <marco.rog...@gmail.com> wrote: >>> I also think there is a bit of a contradiction between "low level" and >>> "hiding implementation". IMO low level apis should expose as much as of the >>> guts as possible (in a clean and consistent way) to provide maximum >>> flexibility for higher level abstractions. If you feel like "Exposing >>> ctors really invites the wrong kind of composability", then we should offer >>> a more constructive way to achieve those goals. If we find can't, perhaps >>> that means the api is hiding too much. This is what we're dealing with now >>> with http. That other thread points to the fact that child_process has the >>> same problem. >> >> The problem with exposing internals is that they can never, ever >> change if they're part of a stable API. Exposing internals is >> therefore only viable if the Node API got split into stable and >> unstable parts, where the high level API is stable and the low level >> API is not (and let the kibitzing on what constitutes high level and >> low level begin). But how useful is an API that changes at whim? > > I hit send too soon. > > If we *ever* want the API to exist it needs to get exposed *soon* because > node in general is stabilizing. Either we expose these now and stabilize them > with the rest of core approaching 1.0 or we are never going to see them.