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.

Reply via email to