3 ms·
I get so tired of the churn claim. Let's look over some stuff ES6 -- 2015 jQuery -- 2006 React -- 2013 React Native -- 2015 Redux -- 2015 VueJS -- 2013 6
by hajile 6y ago
I get so tired of the churn claim. Let's look over some stuff
ES6 -- 2015
jQuery -- 2006
React -- 2013
React Native -- 2015
Redux -- 2015
VueJS -- 2013
6to5 (now Babel) -- 2015
Webpack -- 2012
ESLint -- 2013
jslint -- 2002
ExpressJS -- 2010
Lodash -- 2012
UnderscoreJS (basically the same API as Lodash) -- 2009
D3 -- 2011
Blockly -- 2012
Node Red -- 2013?? (I'm not sure when IBM first released the project)
Bootstrap -- 2011
PDF.js -- 2011
WinJS -- 2012
SocketIO -- 2012
ThreeJS -- 2010
dotenv -- 2015
momentJS -- 2011
node-sass -- 2012
Winston -- 2014
yargs -- 2011
Modernizr -- 2009
Jasmine -- 2010
Mocha -- 2011
Jest -- 2015
All of these are at least 5 year old and most are 8-9 years old. Look over the most downloaded npm packages and you'll find this to be generally true for all the top packages.
- perlgeek 6y agoangular.js -- 2010 - 2016 angular -- 2016 That's an example where, when you jumped on the bandwagon at the height of the hype, you were thrown into a backwards incompatible rewrite pretty quickly. And while npm has been around for quite some time, my outsider impression is that was, for some time, basically discouraged from use, because yarn was so much better. Compare that to Ruby on Rails -- 2004, Catalyst (Perl) -- 2005, Django (Python) 2003. Time moves slower in enterprises, with upgrade cycles more on the scale of 3 to 10 years.
- hajile 6y agoAngular 2 shared a name for marketing reasons, but was/is 100% unrelated as every major idea in Angular turned out to be bad. Yarn solved some npm issues they refused to tackle, but npm got motivated and has now solved most of them. Meanwhile, yarn 2's release has been a disaster and has seemingly resulted in most people (myself included) moving back to npm. I've done Rails and Django work. Rails in particular took years to migrate to the next version. I'd add that Rails has seen 6 versions in 16 years which gives around 1 major breaking upgrade every 3 years (in truth, there's been about 1 major change per year as point releases are pretty big). Likewise, wikipedia gives almost 20 major django updates (I haven't used it in several years, but point updates used to have a very big risk of breaking the project I was working on).
- perlgeek 6y ago> Angular 2 shared a name for marketing reasons, but was/is 100% unrelated as every major idea in Angular turned out to be bad. Be that as it may, Angular 2 meant nobody was willing to commit to any fixed time span to support Angular.js, so it basically forced everybody to migrate off of Angular.js, introducing the toil and churn we were discussing.
- mmerickel 6y agoQuite a few of these packages have undergone significant backward-incompatible changes over the years and are intertwined with specific version ranges of other packages. The churn complaints are caused by the cadence of this happening and how difficult it is to stay on a combination of stuff that actually works together. Babel may have been released in 2015 but nothing written back then would work in babel today. Same with webpack. I can't write something and then come back in a year and expect even an ounce of stability in my project. It's good that things keep improving but it's also exhausting having so much time spent performing upgrades and re-learning best practices in tools you were previously comfortable with.