How many ES5 environments are still in use today?

# /#!/JoePea (6 months ago)

I'm curious to know how many pure ES% environments (with or without non-standard features like proto, and without any ES6 features) are still being used in the wild.

Would this come down to a browser statistics lookup? I believe there are other projects that use ES, like Rhino, Espruino, etc. Do you know of some place to get such statistics besides for browsers?

# Andrea Giammarchi (6 months ago)

I guess when it comes to other projects Wikipedia Wikipedia should be enough: en.wikipedia.org/wiki/List_of_ECMAScript_engines

FWIW I think only Chakra, SpiderMonkey, JavaScriptCore, Nashorn, QtScript (although, not standard at all), Duktape, Moddable (R.I.P. Kinoma), Espruino, MuJS (new to me!), and JerryScript are the actively used/developed/maintained, and the list misses GJS, but I guess that's because it's based on SpiderMonkey.

Purely ES5 start with IE9 on browser land, but includes IE11 too which is still quite popular.

Not fully ES2015 is Chrome 49 which is the latest Chrome version supported in both Windows XP and Vista and there are still users that won't let that old/cracked OS go, regardless all security issues they have.

Opera 36 is at the same state of Chrome 49, and things are pretty different on mobile too.

All phones from 2015 are stuck behind older Android versions or, even worst, Samsung Internet, like it is for the Galaxy A3 case which is still a pretty good looking phone.

However, Samsung Browser 4.0 is not too bad compared to IE11, as you can see in this gist: gist.github.com/WebReflection/1411b420574c1cc4b4f08fcf9cd960c8#gistcomment-2399378

Have I answered your question ?

# Isiah Meadows (6 months ago)

I think you forgot to include Rhino. There's still quite a few who haven't migrated over to Nashorn, since Rhino has a widely differing API. It's no longer as actively maintained, but it still has a substantial user base. (It's ES5 compatible, but has no ES6 features.)

Also, IIRC, Nashorn has made attempts to implement ES6, so I wouldn't consider it pure ES5 anymore.

Isiah Meadows me at isiahmeadows.com

Looking for web consulting? Or a new website? Send me an email and we can get started. www.isiahmeadows.com

# J Decker (6 months ago)

On Mon, Apr 2, 2018 at 12:46 PM, Andrea Giammarchi < andrea.giammarchi at gmail.com> wrote:

I guess when it comes to other projects Wikipedia Wikipedia should be enough: en.wikipedia.org/wiki/List_of_ECMAScript_engines

They're missing at least one... www.gnu.org/software/librejs which looks like it is missing es6 features (as of aug last year anyway... still?)

# Michael J. Ryan (6 months ago)

I'd add in Adobe's ExtendScript variant as well, which is stuck at ES3, and in InDesign isn't even completely shimable (my suffering has been in InDesign lately).

Although, most who touch Adobe ExtendScript are well aware of its' limitations.

# Andrea Giammarchi (6 months ago)

fair enough, I've considered "pure ES%" every engine I've mentioned 'cause in a way ot another they are compatible with ES3, ES5, and "ES6" which is a well known acronym in the industry.

Rhino sounds like legacy these days, and so does anything else stuck at ES3 only.

FWIW I would never support anything stuck at ES3 for the simple reason we're talking 20 years ago specification (it wasn't that bad, it's just outdated now)

# Joe Eagar (6 months ago)

LibreJS? The FSF is seriously escalating the plugin/scripting issue?

Joe

# Michael J. Ryan (6 months ago)

LibreJS looks like a browser extension, not a JS engine...

Aside, wow, I'm in favor of open-source, but this one is pretty out there.

# Isiah Meadows (6 months ago)

Yeah, LibreJS is a browser extension, not a runtime. (There exist runtimes they support, e.g. SpiderMonkey.)

And I do agree the GNU people can be a bit out there. (I'm not convinced that's the worst I've seen from them - look at the Linux-libre stuff and some of the {L,}GPL political drama, especially with v3.)

Isiah Meadows me at isiahmeadows.com

Looking for web consulting? Or a new website? Send me an email and we can get started. www.isiahmeadows.com

# Joe Eagar (6 months ago)

I remember dealing with this with Blender's scripting system. Way back in the beginning of the open-source era we had a FAQ item on our website saying users could make commercial plugins for Blender, only to discover that apparently the FSF disagrees. In the eyes of the FSF, plugins/scripts "form one program." If we had learned of this earlier on, we might have actually changed Blender's license to something other than GPLv2, but unfortunately it was too late for that.

# Wes Garland (6 months ago)

We still use ES5 for development, since our server-side platform (GPSEE) doesn't run on later SpiderMonkey (embedding API made massive changes a couple of years ago and we haven't had resources to update.....massive changes)

I am working closely with another company right now that uses NodeJS. It's nominally ES6, but ES6 modules are not available in typical deployments, which is a pretty major missing feature.

# N. Oxer (3 months ago)

Nobody's mentioned this yet, but Rhino is still in use in Google Apps Script, which means anything related to G suite and scripting (e.g. google sheets macros, google forms scripts) is also stuck at es3-5.

# Isiah Meadows (3 months ago)

There's also JerryScript, which given their target platform, there's no way they're going to be able to reliably implement much of ES6. They target platforms like microcontrollers with less than 100KB of RAM and only a few hundred in flash memory. One of their automated test devices really pushes against it with its 192KB memory and 1MB flash memory. 2 (Their Raspberry Pi is like a supercomputer compared to the other two.)

Also, BTW, Rhino is at least attempting to implement some ES6+ features. 3, 4


Isiah Meadows me at isiahmeadows.com, www.isiahmeadows.com

# Jordan Harband (3 months ago)

It's quite possible to implement modern JS on very low-powered hardware: www.moddable.com

# Andrea Giammarchi (3 months ago)

At JSConfEU they gave all participants a neonious: www.indiegogo.com/projects/neonious-one-javascript-es6-ts-board-with-low-js-computers-animation#

it has ES6 and it runs on similar ESP32 HW the Espruino runs too.

I don't think there's any particular issue in bringing ES6 there, but maybe not the whole thing works.

duktape also seems there with most features: duktape.org

Accordingly, I don't understand why anyone would be stuck at ES5 these days.

# Isiah Meadows (3 months ago)

WRT Duktape, I'm not exactly seeing broad ES6 support (ES7+ isn't much better): kangax.github.io/compat-table/es6/#duktape2_2

There's a few others with very bad ES6+ support that are still in broad use:

  • Getting older businesses and organizations (like colleges) to transition away from IE is still a giant work in progress - Windows 7 and 8 (still supported) don't have Edge to shove it in their face, and many IT departments have their hands tied with bureaucracy.
  • Nashorn has only modest support for ES6, but it targets an audience that doesn't use JS for anything heavy. (To be quite honest, giving them ES6 might encourage them to write worse code.)

Isiah Meadows me at isiahmeadows.com, www.isiahmeadows.com

# doodad-js Admin (3 months ago)

Hardware makers should consider that < 256 MB (and I’m conservative) of RAM are nothing nowadays. And for ROM/Flash memory where code resides, <= 1 MB is really but really nothing and that’s a joke, and worst if you are using a >= 64 bits CPU.

Just my 2 cents.

From: Isiah Meadows <isiahmeadows at gmail.com>

Sent: Monday, June 25, 2018 5:37 AM To: Andrea Giammarchi <andrea.giammarchi at gmail.com>

Cc: es-discuss at mozilla.org Subject: Re: Re: How many ES5 environments are still in use today?

WRT Duktape, I'm not exactly seeing broad ES6 support (ES7+ isn't much better): kangax.github.io/compat-table/es6/#duktape2_2

There's a few others with very bad ES6+ support that are still in broad use:

  • Getting older businesses and organizations (like colleges) to transition away from IE is still a giant work in progress - Windows 7 and 8 (still supported) don't have Edge to shove it in their face, and many IT departments have their hands tied with bureaucracy.

  • Nashorn has only modest support for ES6, but it targets an audience that doesn't use JS for anything heavy. (To be quite honest, giving them ES6 might encourage them to write worse code.)


Isiah Meadows me at isiahmeadows.com <mailto:me at isiahmeadows.com>

www.isiahmeadows.com, www.isiahmeadows.com

On Mon, Jun 25, 2018 at 4:17 AM, Andrea Giammarchi <andrea.giammarchi at gmail.com <mailto:andrea.giammarchi at gmail.com> > wrote:

At JSConfEU they gave all participants a neonious:

www.indiegogo.com/projects/neonious-one-javascript-es6-ts-board-with-low-js-computers-animation#

it has ES6 and it runs on similar ESP32 HW the Espruino runs too.

I don't think there's any particular issue in bringing ES6 there, but maybe not the whole thing works.

duktape also seems there with most features: duktape.org

Accordingly, I don't understand why anyone would be stuck at ES5 these days.

On Mon, Jun 25, 2018 at 5:34 AM Isiah Meadows <isiahmeadows at gmail.com <mailto:isiahmeadows at gmail.com> > wrote:

There's also JerryScript, which given their target platform, there's no way they're going to be able to reliably implement much of ES6. They target platforms like microcontrollers with less than 100KB of RAM and only a few hundred in flash memory. One of their automated test devices really pushes against it with its 192KB memory and 1MB flash memory. 2 (Their Raspberry Pi is like a supercomputer compared to the other two.)

Also, BTW, Rhino is at least attempting to implement some ES6+ features. 3, 4


Isiah Meadows me at isiahmeadows.com <mailto:me at isiahmeadows.com>

www.isiahmeadows.com, www.isiahmeadows.com

On Sun, Jun 24, 2018 at 1:34 AM, N. Oxer <blueshuk2 at gmail.com <mailto:blueshuk2 at gmail.com> > wrote:

Nobody's mentioned this yet, but Rhino is still in use in Google Apps Script, which means anything related to G suite and scripting (e.g. google sheets macros, google forms scripts) is also stuck at es3-5.

# Peter Hoddie (3 months ago)

Hardware makers should consider that < 256 MB (and I’m conservative) of RAM are nothing nowadays.

Very funny.

And perhaps true, if you choose to ignore microcontrollers.

But I don't understand why you would choose to do that when many microcontrollers have the power to run modern JavaScript (ECMAScript 2018 specification) so well.

# doodad-js Admin (3 months ago)

Very funny.

So... have fun kid!

From: Peter Hoddie <peter at moddable.tech <mailto:peter at moddable.tech> >

Sent: Tuesday, June 26, 2018 5:15 PM To: es-discuss <es-discuss at mozilla.org <mailto:es-discuss at mozilla.org> >

Subject: Re: How many ES5 environments are still in use today?

Hardware makers should consider that < 256 MB (and I’m conservative) of RAM are nothing nowadays.

Very funny.

And perhaps true, if you choose to ignore microcontrollers.

But I don't understand why you would choose to do that when many microcontrollers have the power to run modern JavaScript (ECMAScript 2018 specification) so well.

-- Peter


This email has been checked for viruses by AVG. www.avg.com