I refuse to be part of the JavaScript madness

dear plonistas, are we really condemned to learn a new "problem solving" technology every week or two?

yes, yes… I know: resistance is futile, but… anyway…

a must read, specially for people (like me) that are still confused on the state of the JavaScript world (thanks to @feesh for sharing this on Twitter):

How it feels to learn Javascript in 2016

This piece is just an opinion, and like any JavaScript framework, it shouldn’t be taken too seriously. No JavaScript frameworks were created during the writing of this article.

Hey, I consider myself pretty decent with this stuff and think it's insane as well.

Try any project that is using npm or bower that hasn't been touched for 6 months--it likely no longer works.

It'll settle down. IMO, it already is--most of the new technologies are slight modifications of prior ones so knowing one gets your pretty far on any other.

1 Like

Thanks for sharing this article which brings the complete brokenness of the Javascript universe to the point. Instead of orthogonal components the Javascript universe is huge crap bag of half-baked bits and pieces.
You have to be expert in order to keep track with the complexity.

-aj

2 Likes

I've read this article too, and I agree, that the current situation is in a messy state. I have no problem using jQuery, when I want to manipulate the DOM or want to use it's tools like the each or extend.

On the other hand, JS development is nowadays much more reproducible and reliable than it was years ago. Automated tests, dependency management with release version control, build automation - all that wasn't really available a few years ago. Module loading and the ES6 features - this makes JS finally a serious programming language. All the frameworks on top of it - they are exploring really interesting concepts, which we daily use (e.g. gmail).

Everything settles down, like @vangheem said. Sometimes I wish I could wait for it. But then there is the need to use JavaScript right now. But the more I use it, the less frustrating is it.

it's fun to vent and it is horrible to be at the receiving end of it I agree. It makes me angry every time some bit of plone documention says the word "build" or "compile".

But try to put yourself on the outside and look at python. We have eggs, setuptools, distutils, pip, buildout etc, wheel and now some other one I never heard of. Just read http://www.curiousefficiency.org/posts/2016/09/python-packaging-ecosystem.html. and thats just packaging, not web. Given it works slower in the python world but still, we make mistakes and have lots of options so imagine coming to it from outside as a beginner? Open source ecosystems suck from the outside I guess.

But try to put yourself on the outside and look at python

Well said @djay. We should look at these articles from js for example and try to not make the same mistakes. Take this topic as an example (we're not bashing anyone here, just try to change the perspective):

Trying to explain this topic to a complete Plone beginner isn't easy as well... I'm not saying about this bootstrap.py topic in specific, but we should be trying to remove moving parts, not introducing new ones.

But with all due respect...

I’m just going to move back to the backend. I just can’t handle these many changes and versions and editions and compilers and transpilers. The JavaScript community is insane if it thinks anyone can keep up with this.
-I hear you. You should try the Python community then.
Why?
-Ever heard of Python 3?

Even being inside Python community (we could be having a really biased opinion), Python 3 is far from the insanity that js has become. :smile: Nice joke nonetheless.

ES6 stuff with Babel, Webpack, plus maybe gulp is all digestible, if you are otherwise rolling your own site-specific frameworks. If all you have to deal with is tooling, and you get decent modules/imports from Babel, then the learning curve is worth the cost (because benefits are good). I'm doing this with a D3-based project and I'm happy with what I can do, but the project scaffolding is still a bit much.

Beyond that, about all I want to have patience for is (a) test running tools, (b) mockup/patternslib (because I work in Plone all the time), (c) (maybe) web components (because they might be standardized someday).

Adding react/angular/whatever to the mix makes my head hurt, and IMHO I'm a pretty darn good JS developer (as far as core/new language features and idioms are concerned).

Sean

@hvelarde nice joke

Right. But instead of focusing fixing the python side - or at least trying to avoid making the same mistakes again - we're going to integrate the same flaws again for another language. That's foolish.