Allen's original post on this thread offered two choices:<br>  1) extended object literals, (good building blocks).<br>  2) both, (because class gives 80% and thus they complement).<br>Erik and Tab are arguing for <br>
  3) Min-max classes (we need 80%, not building blocks).<br>The current winner no one wants:<br>  4) do nothing.<br><br>Allen's large examples illustrates one point for me:  the class syntax differences <br>are not very big, compared to the other changes.<br>
<br>One important question for me: can the results of class syntax be used as <br>building blocks without the object-literal extensions? I mean: can the objects<br>built from class syntax be used meta-programming even if they are (deliberately) <br>
not prefect tools for that purpose? Can the solution for 80% help with the last<br>20% or at least no hinder?<br><br>I know this may be a difficult question to answer...<br><br>jjb<br><br><br><div class="gmail_quote">On Mon, Apr 2, 2012 at 2:39 PM, Erik Arvidsson <span dir="ltr"><<a href="mailto:erik.arvidsson@gmail.com">erik.arvidsson@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">The main issue you will see if you do user studies on people trying to<br>
do OOP in JS is that the way to set up the prototype chain in ES3/5 is<br>
too hard. There is a reason why almost all JS libraries add ways to<br>
make this easier.<br>
<br>
With the "let C = B <| function() { ... }.prototype.{ ...<br>
}.constructor" pattern we are making the default pattern even harder<br>
to understand. Expecting people to get this is just too much to ask<br>
for.<br>
<div class="im"><br>
On Sat, Mar 31, 2012 at 10:40, Allen Wirfs-Brock <<a href="mailto:allen@wirfs-brock.com">allen@wirfs-brock.com</a>> wrote:<br>
> What do you think?  Assuming that we will have some forms of enhanced object<br>
> literals in ES6, are max-min classes also worth the additional complexity<br>
> they add to the language?<br>
<br>
</div>I think the code samples shows how much a dedicated class syntax can<br>
reduce the complexity, improves the readability and the intent of the<br>
code.<br>
<br>
Classes is a clear case of "Say what you mean!" whereas the<br>
let-triangle-function-prototype-monocle-mustache-constructor pattern<br>
is more like "I know how the internals work" which is hardly something<br>
we should be pushing for.<br>
<span class="HOEnZb"><font color="#888888"><br>
--<br>
erik<br>
</font></span><div class="HOEnZb"><div class="h5">_______________________________________________<br>
es-discuss mailing list<br>
<a href="mailto:es-discuss@mozilla.org">es-discuss@mozilla.org</a><br>
<a href="https://mail.mozilla.org/listinfo/es-discuss" target="_blank">https://mail.mozilla.org/listinfo/es-discuss</a><br>
</div></div></blockquote></div><br>