
ECMAScript 2015 Approved - espadrine
http://www.ecma-international.org/publications/standards/Ecma-262.htm
======
fintler
If you've been focusing on another language for a few years, you might not
recognize JavaScript anymore. It's pretty awesome now.

Here's an example of what it looks like:
[http://pastebin.com/raw.php?i=yEB4mrty](http://pastebin.com/raw.php?i=yEB4mrty)

As someone who usually works with C, Scala, and Java -- I'm currently working
on a small app built on ec6/7 babel, npm, jspm, system.js, aurelia, gulp, etc.
It's been a great experience so far.

~~~
casus
> "a small app built on ec6/7 babel, npm, jspm, system.js, aurelia, gulp, etc"

Part of the problem with the Javascript ecosystem is that you have to use so
many different tools/libraries to create a "simple" app.

~~~
nobleach
Every language these days has its "stack" for development. Sure you could sit
down with vim and javac and write a "simple app". But once you use
Gradle/Maven to handle dependencies and build process. Once you use a nice
unit testing framework... Why on earth would you not just fire it up and tune
it for every project? Ruby, C# and every other language I've used has this
"development stack" mentality, and now when I try out new languages, I
research setting up the stack first!

~~~
kibibu
Compare to go, where you can go a very long way using "go get", "go build",
"go run" etc.

~~~
woah
They just bundled some stuff into the language's CLI. This doesn't mean it
somehow doesn't exist or that the language is any simpler.

~~~
kibibu
No, but it does mean that mostly everybody uses the same thing and doesn't
worry about it.

------
lewisl9029
For anyone interested in using ES2015/ES6 in production, I'd highly recommend
checking out jspm and SystemJS.

It handles all the transpilation work for you ( _at runtime_ for development,
or during a manual build/bundling for production) using either Babel, Traceur
or Typescript, and allows you to seamlessly use ES6 everywhere in your code
and even load third party code on Github and NPM as ES6 modules.

[https://github.com/jspm/jspm-cli](https://github.com/jspm/jspm-cli)

[https://github.com/systemjs/systemjs](https://github.com/systemjs/systemjs)

EDIT: Some more info copied from another post:

SystemJS (jspm's module loader) has the following main advantages compared to
competing module loaders:

\- Able to load any type of module as any other type of module (global,
CommonJS, AMD, ES6)

\- Can handle transpilation and module loading at runtime without requiring a
manual build step

However, jspm itself is primarily a package manager. Its main advantages over
existing package management solutions include:

\- Tight integration with the SystemJS module loader for ES6 usage

\- Maintains a flat dependency hierarchy with deduplication

\- Ability to override package.json configuration for any dependency

\- Allows loading of packages from just about any source (local git repos,
Github, NPM) as any module format

~~~
jmcatani
I am struggling to find the difference between jspm and npm + webpack or npm +
grunt/gulp + browserify. Is it just conventions around ES6?

------
jtempleton
FYI, ECMAScript 2015 is also known as ES6.

~~~
empyrical
Because of their switch to use a year instead of a version number, do they
plan on doing these ES enhancements more often?

~~~
_greim_
I think that's the plan. Whatever the committee can agree on and ratify by
December 2016 will be dubbed "ES 2016" and so on.

~~~
LittleDan
The plan is to keep releasing them mid-year.

------
crncosta
They are providing a official HTML version, alongside the PDF version.

[http://www.ecma-international.org/ecma-262/6.0/index.html](http://www.ecma-
international.org/ecma-262/6.0/index.html)

------
rememberlenny
Can someone explain what this means for the browser ecosystem? What are the
next steps to integration?

~~~
bobajeff
I think it means we can now pine over EcmaScript 7.

~~~
mrspeaker
Don't pine, just use Babel ;) [http://kangax.github.io/compat-
table/es7/](http://kangax.github.io/compat-table/es7/)

------
cel1ne
This is a good overview in my opinion: [https://babeljs.io/docs/learn-
es2015/](https://babeljs.io/docs/learn-es2015/)

------
brndn
What does it mean for a spec to be approved? Is it like a peer-review?

~~~
jmcgough
Yes - TC39 is responsible for updating the standard ([http://www.ecma-
international.org/memento/TC39.htm](http://www.ecma-
international.org/memento/TC39.htm)), meaning that they all voted to approve
the current draft ES2015. You can see several years of the drafts here
[http://wiki.ecmascript.org/doku.php?id=harmony:specification...](http://wiki.ecmascript.org/doku.php?id=harmony:specification_drafts)

~~~
WalterGR
And TC = Technical Committee.

------
robocat
Support for Octal numbers is insane (especially since uppercase O is supported
as well as lower case o) e.g. 0O7. Add a feature that will need linting...
wow.

Overall happy with many of the improvements (e.g. standard syntax for modules
and classes).

~~~
mahmud
And still no EBCDIC! :-/

/s

------
wallzz
Can someone make a resumé ?

~~~
espadrine
I made a very succinct summary here: [http://espadrine.github.io/New-In-A-
Spec/es2015/](http://espadrine.github.io/New-In-A-Spec/es2015/)

There is also this, slightly more in-depth: git.io/es6features

------
MagicWishMonkey
How long before we see widespread browser support?

~~~
allannienhuis
With transpilers like Babel you can fantastic browser support today.

~~~
grrowl
Oddly, it would be silly to transpile to ES5 forever. By the time ES6 support
is widespread, we'll be transpiling from ES8, and so on.

~~~
allannienhuis
yes, but I expect that between feature checking and target platform
configuration in the transpilers, virtually all of that will be transparent
for the dev.

------
Stephn_R
Today marks an important day for us all :)

------
brianzelip
oh brother does their (`<table>` based) web layout need an update!

~~~
totony
I do a lot of web design and you often have to use table for compatibility
reasons or straight up no other way is supported (vertical alignment or same
height for example, even if flexbox does it now IE 8 doesn't support it)

~~~
dandelany
These days you can use CSS 'display: table;' if you still need the table
layout engine and don't want to use a non-semantic table tag. It's supported
in ie 8+. If you're still supporting ie7... well, I feel bad for you :)

------
markthethomas
but...whatever happened to es6? ;)

------
muraiki
Sorry, I accidentally downvoted you with a misclick :(

~~~
possibilistic
I do this rather frequently by mistake. I, like you, try to point out my error
so the OP doesn't wonder why they are being downvoted.

Another problem is that I often upvote articles by scrolling on my phone. In
addition to providing false signal, this has the unfortunate side effect of
polluting my "saved stories".

I wish there was a mechanic to change votes after submission (even if the
ability to change your vote was only momentary).

Do pg, et al. accept PRs?

------
hoodoof
At last JavaScript is enjoyable and doesn't completely suck.

------
sirsuki
It's about fricken time! Talk about procrastination!

Now I have to wait for browsers to get off their little snowflake asses and
update. Oh wait then there is all those paranoids who use WinXP with IE8. Damn
it, I'll be dead by the time this stuff is available universally.

~~~
killface
At some point, you just need to stop caring about those people. I know some of
you can't professionally, but personally, there's no need to even pretend to
support IE <= 11. If they want to run an old os and old browser, they don't
get to use my service. No sweat off my balls.

~~~
david-given
Finding actual numbers seems to be harder than it should be, but this page:

[https://www.netmarketshare.com/browser-market-
share.aspx?qpr...](https://www.netmarketshare.com/browser-market-
share.aspx?qprid=2&qpcustomd=0)

...suggests that IE 8, 9 and 10 combined have about ~28% market share. Of
course, I don't know what they're measuring --- somewhere like github is going
to see a very different balance of browsers than, say, Amazon --- but that's a
hell of a lot, roughly equal to the IE 11 market share. I'd say that's way too
much to dismiss out of hand.

 _Edit:_ I've since found this:
[https://en.wikipedia.org/wiki/Usage_share_of_web_browsers#Su...](https://en.wikipedia.org/wiki/Usage_share_of_web_browsers#Summary_tables)

That suggestions that netmarketshare are consistently measuring IE high ---
other people show IE at about half that, and Chrome at about double what
netmarketshare do. Which, of course, makes it _even more important_ to find
out who your audience are before giving up support for old browsers.

~~~
bzbarsky
> That suggestions that netmarketshare are consistently measuring IE high

That's because those tables arae

StatCounter (and the W3Counter/Wikimedia things in the tables you cite) are
measuring website visits.

NetApplications/netmarketshare is measuring unique users.

So what that data shows is likely several things going on at once:

1) Chrome (and Firefox, for that matter, if you look at te the tables)) users
load more webpages than IE users.

2) Chrome does some webpage prerendering stuff that can get counted as
"visits" if you're not very careful; not sure how well StatCounter accounts
for this.

3) Likely some differences in the actual base data, though I expect this is
really minor compared to item #1.

Of course I couldn't agree more with your general claim that web-wide
statistics are a poor replacement for specific statistics for a particular
site. But even there the question of "visits" vs "unique users" might be an
important one.

~~~
bzbarsky
Self-replying, since I have no idea what happened to the comment text I
_meant_ to write and I can't edit it now. What I meant to say at the beginning
of my comment was:

That's because those tables are comparing apples and oranges. StatCounter (and
the W3Counter/Wikimedia things in the tables you cite) are measuring website
visits. NetApplications/netmarketshare is measuring unique users.

