> We're still allowed to use what we want, no matter how new or old it is, right?
Yes, but that means you may be on your own to support it, which means extra up-front work as well as maintenance.
For example, keep in mind that Javascript has changed execution environments and was also originally built without the concept of simply importing other JS files. So over the years, we have had various incompatible ways of packaging and even importing modules[0]. Yes, the situation is improving, and ES6 and polyfills sort of fix this, but let me tell you, it is not fun to deal with old code that assumes a different execution environment and/or build process than the one you're using[1].
[1] I really don't want to turn this into a debate on the best way to package or import Javascript projects today - just to point out that yes, there is a cost to using old code, regardless of how good it was at the time it was written.
Not that I disagree with your basic point, but I also see no reason to assume that using something new/trendy like React or Angular 2 will be any better a year or two from now. It has always been the case that building around a framework trades off quick initial development and having reasonable defaults for a lot of common tasks against often making more specialised tasks harder and the risk that within the lifetime of your project the framework you rely on will no longer be supported and developed as actively as it was when you first adopted it.
Yes, but that means you may be on your own to support it, which means extra up-front work as well as maintenance.
For example, keep in mind that Javascript has changed execution environments and was also originally built without the concept of simply importing other JS files. So over the years, we have had various incompatible ways of packaging and even importing modules[0]. Yes, the situation is improving, and ES6 and polyfills sort of fix this, but let me tell you, it is not fun to deal with old code that assumes a different execution environment and/or build process than the one you're using[1].
[0] e.g. https://stackoverflow.com/questions/16521471/relation-betwee...
[1] I really don't want to turn this into a debate on the best way to package or import Javascript projects today - just to point out that yes, there is a cost to using old code, regardless of how good it was at the time it was written.