|GitHub Removes jQuery. Why?|
|Written by Ian Elliot|
|Wednesday, 01 August 2018|
In an almost super-human effort, GitHub has removed all trace of jQuery from its fontend code. This is interesting, but the real question is why? The most obvious answer is that programming is subject to the same whims of fashion as other technical disciplines - perhaps even more so because change is mostly easy.
Perhaps it would be fairer to say that change is notionally easy. We are all subject to the idea that the easiest way to improve a code base is to tear it down and start again. After all, we love creating our code from scratch and hate having to maintain a messy, inherited, code base. Of course, in truth our pristine code soon evolves into the messy inherited code base we have worked so hard to banish.
When Google decided to start from scratch with the Chrome browser it was a wondrous thing, but now it is fat, bloated, slow, memory hungry and with a confusing and often stubborn UI.
So it is now with the negative reaction to jQuery.
Over time, however, what jQuery was doing seemed to be increasingly irrelevant. As HTML 5 came into view, and browsers started to get their acts into some sort of conformity, so jQuery's smoothing over didn't seem so important. Also CSS added the sort of selectors that jQuery provided and after a while jQuery even adopted native CSS selectors in its sizzle selector engine and added warnings that using non-native selectors would be slower.
Does this mean jQuery is redundant?
A number of blog posts and even web sites, e.g.
Certainly there was a new impetus to evaluate the need to include jQuery in a new project, but to rip it out of existing projects? This is madness driven by fashion.
GitHub isn't alone in responding to such pressure. BootStrap has removed jQuery from its latest version and it's not alone. The number of frameworks that are abandoning the use of jQuery is likely set to grow, but this isn't quite the same thing as what GitHub has done. Frameworks are reused by lots of people and if they can reduce a dependency then this is probably a good thing. You can always add jQuery if you want to use it along side BootStrap or whatever.
However, what GitHub has done is different - we use its code but we don't (in most cases) reuse its code:
The bullet points are interesting. Let's look at them one by one.
Polyfils for standard DOM stuff - now at this point you should be laughing on the floor. So you replace well-crafted, well-tested polyfils in jQuery for hand-crafted custom polyfills.
While it is true that jQuery isn't a vital as it once was, it is still relevant and extremely useful.
So why the backlash?
First it has to be the usual fickle flip in fashion. What was once the latest and hottest quickly becomes the most despised. By rubbishing the technology of the existing cohort of developers, the next establishes itself as superior - even if it doesn't have anything better.
Remember the next time you hear someone saying how they don't need jQuery that they are simply revealing how little they know of jQuery.
There are many more non-technical reasons for the current rejection of a very reasonable technology, I'm sure you can think of your own. Notice that I'm not criticizing the skills of GitHub's engineers. I'm sure they have done a good job at removing jQuery and what they replaced it with probably has advantages - this is in the nature of reworking things. I am criticizing the political decision to do the job at all.
If it ain't broke don't fix it.
But we programmers have a deep drive to fix anything that is in the slightest bit "mature". Yes, we see mature code as broken and we tend to call it "legacy".
A blank code base is an exciting code base.
or email your comment to: firstname.lastname@example.org
|Last Updated ( Wednesday, 01 August 2018 )|