David Bruant (2013-06-02T06:57:48.000Z)
github at esdiscuss.org (2013-07-12T02:27:36.802Z)
Le 01/06/2013 23:14, Petter Envall a ?crit : > Yes, but concatenation may not be the only "need" (thinking of build > systems to produce a single file for a widget script or something). Do you have examples of such systems? In a world with multiplexing and server push, what is the benefit of a single-file widget? > :) > But my impression is "strict" is to be implicit in es6 anyway, so that > problem for concatenation would not be present by then? Happy to be > corrected here. Only within new syntax IIRC (modules, classes). Outside these new syntax constructs, non-strict will remain non-strict. > True, agree. I was just thinking.. a lot of the awesomeness of new the > features would cause fragility, without one even having used any > "weird" constructs - just the feature and "plain old concatenation". What are you referring to? The example that triggered my answer then yours only used "let" as new feature. And even hacked around with old features (label+break), it wasn't fragile after all. What is fragile about new features? I believe we're having a dogma issue. Concatenation is not an unconditionally good idea. It's only become a good practice because of HTTP 1.x and the inherent latency of the network. Improve HTTP and the good practice is ready to be questioned. > Yeah concatenation may be costly in the way that it can cause > conflicts under various circumstances. There is also a granularity problem. If you concat all the files together, it takes time to parse/run. If you can send all the files at once (server push), but have them run only when needed, you're saving a bit of CPU time. > Though, it has been part of the trade for quite a while, and > "breaking" (which probably is too strong a word) what worked with it > would be a little disappointing. I don't get it. If by "it", you're referring to "concatenation", I highly recommend reading Ilya Grigorik talk (Slides 42-43 this time) http://www.igvita.com/slides/2013/fluent-perfcourse.pdf HTTP 2 enables web devs to get rid of all the dirty hacks we've been forced to do because of HTTP 1.x limitations (like concatenation, sprites, asset sharding in multiple domains...). Having the opportunity to undo all of that is the opposite of disappointing. > I'm sure they are. I just thought the concatenation problem that arose > with ES5/"use strict"; would be gone by ES6 I am under the impression that you don't fully understand how web standards work. The ES5/"use strict" problem will never go away. The very first rule of evolving something on the web platform is to break no website. ES6 only brings new feature and the *hope* is that people will use these new features which are safe by default and incidentally stop using unsafe features. Again, concatenation is a hack to work around an HTTP limitation; not an inherently good idea. I don't think "plain concatenation" is a worthwhile consideration for how the language works. > and that it would not be replaced by another quirk regarding this > practice. It is not... Modules will replace top-level IIFEs. Hmm... All your answers are shaped as "yes, but..."