4 ms·
I'm one of those people that just trusts ASI. Once you stop inserting them you stop noticing so much. After introducing an ESLint configuration to my team I st
by agentultra 9y ago
I'm one of those people that just trusts ASI. Once you stop inserting them you stop noticing so much.
After introducing an ESLint configuration to my team I still can't get the semi-colon lovers to consistently insert semi-colons. I made semi-colons a warning only just to see since ASI will insert them anyway. The worst offenders are the die-hards.
I was originally a semi-colon person but that's only because I listened to a talk by Crockford once and never thought to draw my own opinion. As a Python programmer I thought semi-colons were silly already and this talk only entrenched the unfounded idea that Javascript was bad in my mind.
I use them at work because when in Rome... but in my own projects there's no need for them.
Currying is a nice effect of the fat-arrow syntax for lambdas. Currying in JS is still neutered compared to OCaml or Haskell where it's the default but it's still nice. Function composition is greatly enhanced by it. Python requires special help to do currying.
As for tooling... it's the same deal in many languages despite all of the marketing. It might feel painful to get a good development environment set up for a Javascript project but it can be equally painful to setup a Python environment if you haven't done it before (or a .Net, Java, etc, etc). I'm not a huge fan of excessive configuration. But that's what you get with programmers. We're a fickle bunch.
What Python does well though is to absorb good ideas into the implementation. Function decorators, iterators, and soon mypy; when you go with the grain, Python is a wonderful language.