“TC39 consider the usage of `eval` inappropriate for production”

 

And what about dynamic code, expressions evaluation, ...? Who has wake up one 
day and decided that nobody should use “eval” ?

 

From: Andrea Giammarchi [mailto:andrea.giammar...@gmail.com] 
Sent: Saturday, July 22, 2017 1:44 PM
To: kai zhu <kaizhu...@gmail.com <mailto:kaizhu...@gmail.com> >
Cc: es-discuss <es-discuss@mozilla.org <mailto:es-discuss@mozilla.org> >
Subject: Re: Removal of language features

 

answering to all questions here:

 

> What problems would this address?

 

It will give developers a clear indication of what's good and future proof and 
what's not so cool.

 

MooTools and Prototype extending natives in all ways didn't translate into 
"cool, people like these methods, let's put them on specs" ... we all know the 
story.

 

Having bad practices promoted as "cool stuff" is not a great way to move the 
web forward, which AFAIK is part of the manifesto too.

 

 

> In general, the committee sees any tool with significant adoption as an 
> opportunity to learn/draw ideas from, not a plague.

 

That's the ideal situation, reality is that there are so many Stage 0 proposals 
instantly adopted by many that have been discarded by TC39.

 

This spans to other standards like W3C or WHATWG, see Custom Elements builtin 
extends as clear example of what I mean.

 

Committee might have the *right* opinion even about proposed standards, not 
even developers experimenting, so as much I believe what you stated is true, 
I'm not sure that's actually what happens. There are more things to consider 
than hype, and thanks gosh it's like that.

 

 

> you wouldn't see any interest in policing libraries and frameworks from the 
> committee

 

agreed, because policing is a strong term. "TC39 friendly" is what I was 
thinking of, something like any other GitHub badge when it comes to code 
coverage, coding style, or target engines.

 

I'm a pioneer of any sort of hacks myself, but I know that if my new library is 
fully implemented thanks to eval and global prototype pollution, through 
transpiled code that uses reserved words, probably nobody beside me inside my 
crazy-lab should use my own code, no matter how much I promote it.

 

 

> This is in conflict with the extensible web manifesto

 

The situation I've just described would be indeed against the web manifesto, 
wouldn't it?

 

 

> tc39 should be a bit more assholish imo.

 

No it shouldn't, it should be open minded and able to listen too. However, when 
TC39 makes a decision the JS community follows quite religiously that decision.

 

If TC39 says everything is fine, you have today situation you describe.

 

If TC39 would give some little extra direction, you'd have people thinking 
about what they're using daily, example:

 

statement: TC39 considers Stage 1 unstable and it should never be used on 
production.

result: people using early transpilers cannot complain about anything about it 
and it's their choice.

 

statement: TC39 consider the usage of `eval` inappropriate for production

result: people using any library fully based on eval or Function would start 
looking for better options

 

 

And so on, I hope my previous email is now cleared a little bit, I'm a JS 
developer myself and I promote both poly and libraries/frameworks/utilities 
since ever.

 

If anyone from TC39 would tell me: "dude, this is bad because not future 
friendly" I'd either put that info on the README of the GitHub repo or tell 
people about it even if it's my lib.

 

Best Regards

 

 

 

 

_______________________________________________
es-discuss mailing list
es-discuss@mozilla.org
https://mail.mozilla.org/listinfo/es-discuss

Reply via email to