Earlier quoted context omitted.
Hurray, here we go again! Uhh no, JavaScript is just fine, baring: * implicit conversions, which you can get rid of at compile time using TypeScript or Flow. * lack of explicit ints and ints with more than 31 bits (JITs can give you SMIs, or 31 bit integers for things they can prove are always integer values) And thats about it.
> implicit conversions, which you can get rid of at compile time using TypeScript or Flow. Javascript is fine if you don't use Javascript. > lack of explicit ints and ints with more than 31 bits Javascript is fine, except where it's garbage. I don't really have a problem with javascript. I just don't want to build anything of any real complexity with it.
In ruby, blocks are like lambdas except when they are not, and you can pass a block explicitly or yield to the first block implicitly. But there are also lambdas, which are different. Modules are again uselessly global, and cannot be parameterised over other modules (without resorting to meta programming). Oh yeah they are also another syntactical and semantical concept. Why not just `Module.new`? And there are classes, with private variables, which are prefixed with @.
The above examples are just scratching the surface
So yeah, I'm tired of people claiming that JS has the same amount of quirks as PHP. Boo hoo, its so horrible: no large ints, and implicit conversions. Compared to that, Ruby, PHP or (god forbid) Perl (1) cheating a bit here, because you could argue that Lisp or Lua are mainstream enough.