My article isn’t only about front-end web development. JS is used on the server side too with Node. Not having an integer type for general purpose programming is appalling. I can’t think of another language that doesn’t have integers.
Speaking of which, JS isn’t only used for web development. It’s finding its way into other problem domains, such as desktop, mobile, graphics, video games, etc. So, of course, I’m holding JS to a higher standard.
Regarding “discipline,” I’m not referring to syntax but rather semantics. JS’s loose typing and wildly inconsistent semantics are dangerous. And it’s not because JS is a dynamic language, either. Smalltalk is also a dynamic language, but it’s strongly-typed. JS is weakly-typed. That makes all the difference in the world.
Yes, 20k LOC is an arbitrary number. I chose one that I felt represented a safe threshold for JS. Some have suggested I was too generous; maybe I should’ve specified 5k or 10k.