FW: javascript vision thing

Isiah Meadows isiahmeadows at gmail.com
Fri Nov 3 07:49:55 UTC 2017

Honestly, this entire thread reads as partially misinformed,
borderline trollbait. These kinds of questions and thoughts should
really be asked directly (and a bit more respectfully) to TC39
representatives and/or put in blog posts wherever. es-discuss is
primarily about language design, and although the subject implies it's
about the language's design in the abstract, I'm not convinced the
content and responses really are.

1. Claims of a language "civil war" don't belong on this list, and are
objectively false. Yes, there's disagreement, but even TC39 members
aren't exactly in agreement here - consider the difference between
Lodash/Ecmarkdown (Domenic Denicola) and Ecmarkup (Brian Terlson).
Please take that into account.
2. Yes, there are multiple idiomatic uses of JavaScript, but it's
large enough you can carve out a subset and be done with it. You don't
like classes? Don't use them. You don't like arrow functions? Don't
use them. You don't like `array.map`? Don't use it. Just because they
exist doesn't obligate you to use them, and they don't hurt you in any
way if you don't. Also, complaints of a person's or group's choice of
idiom do *not* belong on this list whatsoever. Leave that crap to a
private message, a blog post (if it's a group), or whatever.
3. JavaScript "classes" are not technically class-based OOP, and TC39
members have acknowledged this in blog posts. It's 99% sugar over the
existing prototype-based model, just with easier native subclassing.
You could in theory replicate this in the rest of the language with a
combination of `Object.defineProperty`, `Object.setPrototypeOf`,
`new.target`, and existing ES5.

Isiah Meadows
me at isiahmeadows.com

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

On Thu, Nov 2, 2017 at 4:32 PM, doodad-js Admin <doodadjs at gmail.com> wrote:
> -----Original Message-----
> From: Claude Petit [mailto:petc at webmail.us]
> Sent: Thursday, November 02, 2017 4:24 PM
> To: 'kai zhu' <kaizhu256 at gmail.com>; 'es-discuss' <es-discuss at mozilla.org>
> Subject: RE: javascript vision thing
> For mostly real OOP under JS, please see my project (doodad-js). But I can't warranty its future without a custom language because nobody on TC39 want to works along-side with me on that project, and they are making their own supposed "classes" which are not.
> -----Original Message-----
> From: kai zhu [mailto:kaizhu256 at gmail.com]
> Sent: Wednesday, November 01, 2017 11:43 PM
> To: es-discuss <es-discuss at mozilla.org>
> Subject: javascript vision thing
> any thoughts? i'll break the ice with a quora question i recently answered
> quora question:
>> Why is JavaScript so hated?
> answer posted:
>>the primary reason is because traditional oop skills gained from c#/c++/java/python/etc translate poorly to javascript.
>>in javascript, class-instantiated objects are inferior to plain-objects, because plain-objects come with JSON.stringify/JSON.parse baked-in, while classes require needless extra serialization/deserialization routines which can easily double your codebase or more (as real-world javascript-code is heavily i/o based). i would say many people burn-out from frontend-programming because they can’t cope with debugging all the i/o edge-cases serializing/deserializing their custom classes.
>>javascript and frontend-programming is essentially about efficiently managing the program-state like a baton, constantly passing it back-and-forth between the browser’s ui and various backend-servers / persistent-storage. plain json-objects utilizing idiot-proof JSON.stringify/JSON.parse, are naturally better at this baton-passing business than writing classes with custom serializers.
> there's currently a civil war going on in frontend-development, between those who don't want to deal with writing extra class-based serializers/deserializers and those who do.  these 2 different design patterns have incompatible styleguides that often break web-projects when people try to mix-and-match both together.  i don't have a simple solution to this issue, but tc39 should be made aware of it as they try to formulate a javascript vision that doesn't alienate frontend-development.
> -kai
> ---
> This email has been checked for viruses by AVG.
> http://www.avg.com
> _______________________________________________
> es-discuss mailing list
> es-discuss at mozilla.org
> https://mail.mozilla.org/listinfo/es-discuss

More information about the es-discuss mailing list