Aaron, As an aside: you seem to have a strong drive for conceptual purity and solid object-oriented design patterns and correctness. While these are not completely dismissed in the Node community, I think you will find them much less emphasized than in the Java and C# communities. Design patterns and conceptual purity are followed only when they lead to simpler code, fewer layers, etc right now (rather than anticipated in the future) -- and they are avoided when they lead to a proliferation of classes, layers and complex inheritance hierarchies. This is the sort of thing you see frequently in Java codebases, but it is refreshingly absent from the Node core and libuv libraries. There's not a ton of inheritance or deep hierarchies or heavily layered code going on in either, though these concepts are used sparingly when they are helpful for pragmatic reasons.
In this (as in other things), Node has it roots in unix. For more of a philosophical discussion of the merits of this approach, check out Isaac's article Going Fast, Frankenstein, and Refactoring <http://blog.izs.me/post/146672514/going-fast-frankenstein-and-refactoring> and the Unix Philosophy <http://www.faqs.org/docs/artu/ch01s06.html> chapter of The Art of Unix Programming. That said, the Node community is quite diverse, so you won't see these priorities reflected in all the modules in npm or shared by everyone on this list. -- peter Cornerstone Systems NW -- Job board: http://jobs.nodejs.org/ New group rules: https://gist.github.com/othiym23/9886289#file-moderation-policy-md Old group rules: https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines --- You received this message because you are subscribed to the Google Groups "nodejs" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/nodejs/4691d594-911b-41db-b316-3e842f4b7158%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.
