yay. SO says I can approve tag wiki edits


I guess I could do something like add ESLint to the list of alternatives to JSLint on the JSLint tag wiki, but that's not that horribly exciting.

The next priv on SO is "Access to Moderator Tools", which actually is awfully powerful. I would've never thought I'd make it there, but with the way points from old answers keep coming in like dividends from old investments, I guess it could happen.

And I can't help myself. 5000 came from another JSLint answer -- one I posted yesterday. I'm always surprised at the amount of venom JSLint gets on SO. There's almost always a stupid an ill-advised comment about how horrible JSLint is, and how the asker should use ESLint or JSHint instead, for many questions with the JSLint tag. Yesterday's was no exception.

anti JSLint comment with 4 votes

Within a few minutes of the question's posting, there's that second comment...

I'd strongly recommend finding an alternative to JSLint, and it's outright silly rules warning about perfectly valid JavaScript. Consider ESLint, JSCS, or even JSHint.

... and it's got four votes. So five people have complained about the topic of the question within a few minutes of its posting, and rewarded pretty inflammatory, off-topic speech. So I finally did it; I replied too harshly.

Good heavens. Sorry to vent on you on this question, but if it's a JSLint question, give a JSLint answer. I don't spam up the ESLint & JSHint questions with, "You really should take out all of your dimestore opinions about JavaScript and use a linter with strong opinions to more universally standardize your codebase." Commenting "your tool stink0rz" is like saying, "Stop using JavaScript. VBScript rulez!1!" It's just opinion. Crockford's rarely demonstrably wrong; often, folks who make these comments don't take the time to understand what he recommends or why.

The implicit VBScript comparison might have been too much. ;^) I'm sure JSHint & ESLint are good tools. I've followed both a bit and used JSHint for a while, and they're fine, if you want lots of room for customization... and intra-office debate.

Painfully, I replied twice, ending with, "Show me where JSLint "actively harms Javacript" & I'll show you someone who doesn't understand the lang," which I'd still stand behind, I think. You can disagree with JSLint, and it will, famously, hurt your feelings, but it's almost never wrong in any definitive way.

Okay, actually I ended with...

/sigh I'm ending this transmission. (The irony, of course, is that I think krillgar's found a bug in the new JSLint.)

Always makes a quick exchange more fun when you can drag in Thumb Wars.

Still, I just don't get it. Is there another tool that gets this much flame? Honestly, I really do believe one of JSLint's strengths is, as I've mentioned, that you precisely don't have to get together as a committee every time someone wants to change some minor piece of JavaScript coding style. Crockford's not dumb, and, again, his prescriptions (well, proscriptions) are very rarely, if ever, wrong. And if it's wrong, he'll fix the code quickly, as I've seen a number of times (and even been a part of once or twice).

Why is more opinion always better? I hate JSLint's whitespace rules, particularly with hanging lines and end parens, but say what you want, at least it's an ethos.

WARNING: Some NSFW language here:

Often, it's lazy to decide for yourself instead of figuring out why a convention suggested by an expert might be smart.

I'm also much happier looking at JSLint's code. Have you looked at ESLint's repo? I mean, nothing wrong with it, but it sure isn't a single file. Looks like it's a node-directed solution too. Why must tools become so complicated so quickly? (I know Nicholas wanted "a JavaScript tool with pluggable linting rules", but I'm not sure all the overhead is necessary.)

Anyhow, there's nothing wrong with JSLint. If it doesn't work for you, I'm sorry. But when a JSLint user has a JSLint question, give them a JSLint answer. If you've got to throw in a, "But I usually use ESLint or JSHint," that's fine, but answer the question first.


Labels: , , , ,