Every day I learn something new… and stupid.
jwz.org
jwz.org
I think this is a detriment to our community, and I say this as a reformed (or at least reforming) flamer who used to take after that style. Actually I think one of the most positive things about participating in the HN community is that toxic commenting is not rewarded nearly to the extent that it is on other forums. It's taught me to be more civil.
I've interacted with enough top programmers who are always nice to know that flaming isn't a prerequisite to getting your point across. Besides many excellent HN commenters, I think of John Resig, Shawn Hargreaves, Sanjay Ghemawat. I strive to be more like them, and less like the people who are known for their flames.
Since I am such a seasoned flamer, allow me to demonstrate how this same comment could have been written in a much more caustic way (this will lead to even greater irony since it is arguing against flaming, but let's ignore that for the moment. :)
-- begin flagrantly caustic comment, for science --
I love how programmers fawn over these juvenile rants as some sort of geek-machismo. I guess that's what you find impressive when you're sitting in your mother's basement.
News bulletin from the Society Of Grownups And People With Girlfriends: you can make a point without using the word "stupid" or insulting anybody. Reading the likes of jwz, Linus, etc. you might be skeptical of this, but it is in fact true.
I accepted that for HN I have to fabric soften my comments but only because of that karma thing. Without score keeping (well, at least without the negative effects of having low karma) my comments would be more colorful. They would say 100% the same but in a more entertaining way. But as that's not acceptable for this community you only get my robotic self ;)
I think the problem with sharp comments is that they evoke a response of defensiveness and argumentativeness in many/most people that corrupts the actual content of the discussion. If people start being primarily concerned with winning the argument, the quality of discussion suffers. It's harder to back down from a position if a second ago you were arguing that anyone who thinks that must be an idiot of the first degree.
I'd rather hear or read a "It fails because X Y Z" then having to go thru a lengthy prose or statement that says "it has been incontrovertibly proven that the restrictions and performance metaphors applied to X as it cascades thru Y is causing an undesired negative effect on Z. Therefore we can only conclude it's marginally very disappointing."
The content in question is very much to the point in my opinion, some of it I consider being written in jest so how this is "negative and caustic" escapes me.
You have to be polite and well spoken or efficient and terse, you can't be both at the same time.
Think carefully about why this is so.
A "job-creating" technology is a dysfunctional technology.
>> "Ten days to implement the lexer, parser, bytecode emitter (which I folded into the parser; required some code buffering to reorder things like the for(;;) loop head parts and body), interpreter, built-in classes, and decompiler. I had help only for jsdate.c, from Ken Smith of Netscape (who, per our over-optimistic agreement, cloned java.util.Date — Y2K bugs and all! Gosling…).
>> Sorry, not enough time for me to analyze tail position (using an attribute grammar approach: http://wiki.ecmascript.org/doku.php?id=strawman:proper_tail_...). Ten days without much sleep to build JS from scratch, "make it look like Java" (I made it look like C), and smuggle in its saving graces: first class functions (closures came later but were part of the plan), Self-ish prototypes (one per instance, not many as in Self).
>> I'll do better in the next life."
It's like catching a beautiful glimpse of a future that never was.
(I might update the last three words of that sentence if I take the time to fiddle around with Node.)
That said, I don't really work on projects or write code that necessitates being a human m4.
(at least in Fortran you knew the variable "i" was a properly specified integer, dammit!)