10 comments

[ 3.7 ms ] story [ 31.1 ms ] thread
I love this so much. I'd give it a million upvotes if I could.
You should write a script to create a million users and for them to automatically upvote this post.
You love extra typing for no reason? I see the point but jQuery is still much more concise.
Typing is pretty minimal when you use a good IDE with autocomplete. I never type the word "document" -- just "d" and then enter. (Note that vanilla JS has great autocomplete support out-of-the-box in many IDEs.)

The vast majority of development time is spent dealing with people, reading code, learning, or maintaining code. Typing is a very small part of it, and I remember seeing a study recently that confirmed it.

If you hate typing that much, just write simple wrappers around vanilla JS, e.g. $.el = function (id) { return document.getElementById(id) };

What's more, when you're writing a complex web app using JS libraries, all of those milliseconds you lose in performance are going to add up (especially on mobile!)

Those "simple wrappers" are already provided to me by using jquery, etc. Why would I waste my time writing my own? (I realize a lot more is also provided.)

The getElementById is really the most simplistic example and actually does not bother me. Though just look at all the cruft required to make a AJAX call with "vanilla" JS. It's gross. Use a well known, standard library and abstract it all away.

It took me about five minutes to realize how dumb I was and that this was literally Vanilla JS.
Yep, it had me scratching my head.
How is this a fair comparison:

Vanilla JS var s = document.getElementById('thing').style; s.opacity = 1; (function fade(){(s.opacity-=.1)<0?s.display="none":setTimeout(fade,40)})();

jQuery <script src="//ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script> <script> $('#thing').fadeOut(); </script>