If you use 1 JS script on your site, i'll agree. What happens when you include 3 of these though? 10? 15? Suddenly you have tons of duplicate code, trying to implement getAttribute across browsers...wouldn't it be better if they all used the same DOM abstraction library...if only something like that existed...
Helping jQuery monopolise the JS space even further doesn't strike me as a good idea or beneficial to the community at large.
The main drawback is that it doesn't help people learn Javascript at all. And then it's hard to get information and help with JS because practically every result returns a jQuery plugin or something that uses jQuery. And as a result of that people think, "oh, I need jQuery installed to do some javascript on my site." And then other people complain, "this script isn't jQuery I can't-" ... oh.
Wouldn't it actually be better if JS implementations were actually standardised so its behaviour across browsers was totally predictable and reliable?
> redefines a bunch of jQuery functions
Just clocked this. jQuery redefines more than just a bunch of javascript functions as well as then redefining its own. It's a bit of a mess.
I totally agree. It would be way better if JavaScript implementations were standardized.
It would also be way better for developers if all computers had infinite memory.
It's just not in the cards though.
jQuery standardizes the mess that is JavaScript implementations so that developers can worry about their application instead of the browser. I don't think you should lament jQuery for being so popular, you should lament browser manufacturers (ahem, Microsoft) and the W3C for not creating and following good JavaScript specifications.
That's like blaming Dennis Ritchie for killing the Assembly community.
Or maybe I use a different library? Maybe jQuery is not to my liking at all? The convention of writing libraries as jQuery-specific is a cancer in the community right now. Making a library specific to a particular utility should be a secondary project goal.