After lurking in #javascript for a while I noticed that a lot of the developers there look down on people using jQuery and Prototype. Their view is that you’re just getting one step away from the actual language, and you’re leaving key programming skills behind.

I acknowledge that that’s true, but I don’t see why it matters. All languages are essentially frameworks of a lower level language. PHP is basically a framework for a load of C libraries. C is just a framework for assembly code. Assembly is just a framework for binary programming. Yes, by using PHP you lose a lot of functionality of C, but that’s just because PHP is filling a market with no need for hardware manipulation and the like.

Same with jQuery. If you use $.get() you lose the ability to do the request synchronously (I’m aware that you could just use $.ajax(), but I’m making a point), which isn’t really a big loss to most people when compared to the benefits.

Javascript isn’t exactly the most uniform language around, which IE not supporting half the stuff Opera does, and Safari doing things differently to Firefox it’s a really hard language to code for. You spend more of your time finding work-arounds for each browser than actual logic. The frameworks available all do that for you, making sure that there’re no compatibility issues between browsers, and that $(‘#element’).slideUp() does exactly the same on every browser.

I’d go as far as to say don’t even bother learning about document.getElementById means. It’s so clumsy and awkward when compared to $().

Due to those functionality additions though it’s obviously a little bit slower. I’ve not noticed any speed decrease, but in an “every microsecond counts” environment there would be a noticable difference. But Javascript engines are getting faster and faster so does it really matter? The average person doesn’t even notice a difference.

It’s just programming evolution. It happens to every language. I wouldn’t be surprised if a few forward thinking browsers decided to just store a copy of the latest framework versions locally, so they’re instantly available to every website without having to download the same file hundreds of times from different servers.

Post a Comment

*
*