Hacker News new | ask | show | jobs
by sup 4053 days ago
That's coming in es6
2 comments

I know people are crying out for this, but I can only shudder inside at the unholy mudball messes that will result. Inheritance is one of those things we shouldn't let anyone use until they're 40 or so.
Or, with great power comes great responsibility, and we shouldn't let uneducated and untrained quick-buck "developers" work on our software.
Inheritance is barely ever necessary, or even important, for any software problem, real or imagined.
Well to be fair to myself, I was mainly making a joke. But the simple truth is that inheritance doesn't bring new power to the table, just syntax sugar, and with great sugar comes diabetes and painful death.
Classes is a big enough portion of sugar to change expression level of code. After writing ES6 few months I don't like to write ES5 again, when I have to, and there is a lot of people who think so. Arrow functions is the another (if not first) big thing which makes this feeling stronger, and it's just a syntax sugar also. OO in ES5 looks less readable and less.. "native" than in ES6. Hope in some ES version 'this' insanity will be fixed and all will be just fine with classes.

just for note: I have never used "extends" in ES6.

im rly in love with typescript right now, looking forward to es6!
I just had my first exposure to Typescript recently, and the only part I liked was the fact that it allowed me to mix in plain old, untyped js syntax. TS, used as TS, feels verbose, like java, with lots of extra keyboard-typing to create a simple program.
>with lots of extra keyboard-typing to create a simple program.

When people say this as a knock against a language I can't help but wonder how they got so far in their careers using only two fingers.

Now, if you want to say that verbosity obscures intent and expressivity, then that's a fine argument to make (you'll have an steep hill to climb to show that types are an instance of this however). But if your development is bottlenecked by your typing speed, there's something seriously wrong.

It's both. I'm a poor typist, and more importantly, the terser the better. The less screen noise you have to filter, the clearer the picture becomes. I also put high value on DRY.
With optionally typed languages like Dart and TypeScript, you only have to add types to things like fields and functions/methods to get all the tooling benefits. Type inference takes care of the rest.

Secondly, you should be able to auto-complete pretty much everything.

"you should be able to auto-complete pretty much everything"

Requires tooling.

Eh.. grep is also a tool? Every function you write is a tool. The whole industry is built on tools and tools that make tools..
Sure. But programming languages whose claim to utility lies in an IDE -- they aren't necessarily bad, but it's not a programming language you're selling me, it's a whole environment: MS Visual Studio or whatever. A complex language requires lots of tooling like that, and a simple language doesn't. I have never missed autocompletion in Javascript, but I cannot function without IDE support in Scala. We're off the topic of OO in Javascript, but I wanted to make the point that I don't automatically consider that "IDEs can autocomplete" is a positive feature -- if you need autocomplete, that's a problem.
I do appreciate the type inference.
I don't know about you but my experience with Java required me to type either the same or less than JS if we are comparing apple vs apple, not simple front end vs complicated back end.
Are you counting Java IDE keystrokes or actual number of characters on the screen? If it's the latter, I'd be interested in seeing an example since it's very much against the wisdom of the crowds here.

My experience is that the complicated part web app is the part that does the state coordination, which can be either end.

Java IDE of course. Not the number of characters on the screen.