The difference in a JavaScript developer and a jQuery handyman
I’ve mentioned Stack Overflow in a previous post. I’ve really enjoyed taking part in the beta and watching the site grow as it has gone public - if you’re not at least casually paruesing the site, then you’re missing out. The rate at which you’re likely to receive an answer for your question is extremely high, and the rate at which you’re likely to receive a good answer is relatively high (I kid, I kid - sort of). For the most part, there are a lot of good questions asked on a wide breadth of software topics - even if you have nothing to ask, there’s plenty from which to read and learn.
Unfortunately, I’ve begun to notice a disappointing trend developing in a couple areas of the site. Specifically, I’ve noticed that a lot of questions that are tagged as javascript are answered in terms of jquery. By this, I mean that answers for how to do something in JavaScript are given in how to do it using jQuery. I’m as big a fan of JavaScript frameworks as the next person. After all, it’s hard to argue against libraries that normalize many of the issues we experience across the different browsers, but it’s harder for me to argue in favor of giving a jQuery answer to a JavaScript question especially if the question doesn’t explicitly say (or is tagged as) jQuery.
It’s unnerving because many of the people providing answers are making the assumption that the person asking the question is using jQuery. I understand that jQuery is arguably the most popular JavaScript framework out there but it’s wrong to assume that a level of popularity is synonymous with something being universally applicable.
In my opinion, what’s even worse than assuming people are using jQuery (or are all of the sudden going to begin using it after seeing an answer to their question), is that answers that use jQuery even after the author said that he is not using jQuery are being up-voted. The primary focus on Stack Overflow is to have a knowledge base for programmers and developers, and the up-vote option is supposed to facilitate bubbling the best answer to the top of the page as voted on via the community. Nonetheless, answers such as this - that are in direct contrast to what the author has specified - are being up-voted (though not necessarily accepted) via the community. Why is this?
Above all else, I’m beginning to think that this blatant leaning toward jQuery demonstrates that people are shying away from understanding the underlying language and appreciating just how much is done for them in these frameworks for the sake of simply getting things done. With respect to Stack Overflow, it almost appears as if many of the people are treating jQuery as the new JavaScript. On top of that, it appears that people are considering themselves to be JavaScript developers when, in reality, they are jQuery handymen.
I have nothing against jQuery and, as I’ve already said, I am a fan of and passionately advocate the use of frameworks - there’s nothing better than having a smooth API that manages all of the various nuances that are found across the various browsers. It’s just unsettling that people appear to be so tightly devoted to a framework that they wouldn’t be able to get work done without the use of it. I contend that until you have wrestled with your own vanilla JavaScript code for hours on end nesting enough try/catch blocks to get an instance of the XHR object regardless of the browser executing the script, or making sure that your event handling code works in such a way that it compensates for all of the pitfalls found across the different models, then you shouldn’t be using a framework because you can’t fully appreciate how much is being done for you. I’m not the only one that feels this way, either.
Ultimately, then, the issue for me, aside from the fact so many people seem to be using jQuery and not necessarily understanding JavaScript is that they don’t really know how well they have it.