Hacker News new | past | comments | ask | show | jobs | submit login

I know ES6 brings a lot of new shiny to the table, but JS is a poor language. It's riddled with traps and interesting stuff, and you have to put up with excessive differences between browsers. It's just stuff like

  Object.prototype.hasProperty.call(my_object, "property");
or not doing

  {
    foo: 1,
    bar: 2,
    baz: 3,
  }
or the truth table, things like `{} + []` and `[] + {}`, the insane implicit line joining… the list goes on and on.

I'm not sure Dart is the answer, but I welcome some competition. I think I'd be really interested to see a browser VM that languages could compile to, which would open the door to many languages. (I suppose asm.js might argue that they're this, and there is LLVM.)

Finally, I leave you with [1].

[1]: http://wtfjs.com/2012/08/11/Slashes!




Reports of JS warts are greatly exaggerated. The two big remaining ones (post ES6) are type conversion by operators and silent failure when accessing object properties. Both are fixable with a nice type system with HM inference and structural types. I wish someone did JUST that, instead of trying to bring all the problems and warts of Java to JS while trying to fix it.

Roy looks very promising[1], and I'm hoping it will mature to the point where it can be considered a viable option for production projects

Typescript would've been ideal, but its kind of fake-open-source (no actual development can be seen on the repository, some of the code looks generated, no discussion about the internals or providing an API) and its moving towards having LESS type inference in the name of improving compiler speed, less type safety in the name of... "its too hard to do" I guess. And they still are not releasing anything which might help other vendors improve their tooling (e.g. Intellij IDEA, the second-best contender sucks at TypeScript). And the module system is a total disaster, especially if you're trying to do anything more complicated and CommonJS.

[1]: http://roy.brianmckenna.org/


> I know ES6 brings a lot of new shiny to the table, but JS is a poor language.

When started working professionally there was no web. So I do know JavaScript since the LiveScript days.

I never work alone, so I only care for languages ALL team members know, have proper support at the browser tooling[0] and are allowed to use by the customers.

For web development JavaScript is the only one that fullfills those requirements, so I don't care about anyhing else.

[0] good luck with source maps on mobile platforms




Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact

Search: