javascript vision thing

kai zhu kaizhu256 at gmail.com
Wed Dec 20 03:14:41 UTC 2017


On Dec 19, 2017 01:36, "Naveen Chawla" <naveen.chwl at gmail.com> wrote:
>
> Using static methods with plain objects can be cool if you don't want
method overriding and/or inheritance. Otherwise using classes and methods
makes that simpler to accomplish.

@naveen, have you tried adding asynchronous features (e.g. typeahead search
or typeahead input-validation) to a frontend-ui that primarily relied on
classes?  you generally cannot implement these features like you would for
BLOCKING code (as taught in college cs) by simply updating a class-method
or two.  in practice, you oftentimes have to rewrite the entire class to
accomodate a "simple" ui feature-request that changed the async data-flow.
classes normally end up being a non-reusable pile of async-hacks as a
frontend-ui evolves, which makes them no better than writing throwaway
static-functions from the start.  at least there's no pretension for
re-usability when writing throwaway static-functions, with the more
realistic expectation they will be constantly re-written as
async-feature-request get added.

> On Mon, 18 Dec 2017 at 20:53 Isiah Meadows <isiahmeadows at gmail.com> wrote:
>>
>> For one specific example, plain objects can be treated like C structs.
>> For most scenarios you'd want "methods", you could get away just as
>> easily with functions taking the instance as an argument (in
>> particular, you could still use `this`, although I don't in practice).
>>
>> I've used this pattern quite a bit when I have a bit of state that
>> needs accessed in several places, but actions are more easily
>> encapsulated. This isn't as elegant for things like DSLs, but it's
>> useful for more stateful programming.
>> -----
>>
>> 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
>>
>>
>> On Mon, Dec 18, 2017 at 6:25 AM, Naveen Chawla <naveen.chwl at gmail.com>
wrote:
>> > Javascript won't lose plain objects. Classes simplify cases of type
>> > hierarchies that require overriden methods, and offer a memory
performance
>> > gain in the case of when there are many instances vs using plain
objects to
>> > do the same (which incurs a memory overhead for each instance's
functions
>> > even when they are the same as each other). The only encapsulated way
of
>> > doing this before ES6 was to use prototype, which is easier to get
wrong
>> > especially if there is more than two levels of depth of method
inheritance.
>> >
>> > You get to chose what works for you. You can even argue for using plain
>> > objects in certain cases where somebody has decided to use classes.
That has
>> > nothing to do with what the language offers for those whose
applications are
>> > simpler and more performant using classes instead.
>> >
>> > On Mon, 18 Dec 2017 at 03:31 Frederick Stark <coagmano at gmail.com>
wrote:
>> >>
>> >> I appreciate hearing Kai's point of view and think that we've had this
>> >> exact discussion enough times. At this point it just adds to inbox
weight
>> >> without changing any minds
>> >>
>> >> On Dec 18 2017, at 8:23 am, Terence M. Bandoian <terence at tmbsw.com>
wrote:
>> >>>
>> >>> I appreciate hearing Kai's point of view and don't think he should be
>> >>> silenced.
>> >>>
>> >>> -Terence Bandoian
>> >>>
>> >>>
>> >>> On 12/17/2017 2:03 PM, T.J. Crowder wrote:
>> >>>
>> >>> On Sun, Dec 17, 2017 at 7:21 PM, Jordan Harband <ljharb at gmail.com>
wrote:
>> >>> >
>> >>> > Adding features in *no way* sacrifices simplicity or ease-of-use
>> >>> > for smaller web projects; as has been said many times on this
>> >>> > list, if you don't like any new feature, simply choose not to use
>> >>> > it.
>> >>>
>> >>> And in many or even most cases, markedly *improves* simplicity and
>> >>> ease-of-use. As has also been repeatedly pointed out.
>> >>>
>> >>> Kai: Genuine questions are fine. Questions which are really just you
>> >>> pushing your agenda of "don't change anything ever again" and your
personal
>> >>> -- and solitary -- claim that "all this new stuff makes life
difficult for
>> >>> people" are, at best, pointless. Your position has been made crystal
clear.
>> >>> There's no need to bang on about it.
>> >>>
>> >>> -- T.J. Crowder
>> >>>
>> >>>
>> >>> _______________________________________________
>> >>> es-discuss mailing list
>> >>> es-discuss at mozilla.org
>> >>> https://mail.mozilla.org/listinfo/es-discuss
>> >>
>> >> _______________________________________________
>> >> es-discuss mailing list
>> >> es-discuss at mozilla.org
>> >> https://mail.mozilla.org/listinfo/es-discuss
>> >
>> >
>> > _______________________________________________
>> > es-discuss mailing list
>> > es-discuss at mozilla.org
>> > https://mail.mozilla.org/listinfo/es-discuss
>> >
>
>
> _______________________________________________
> es-discuss mailing list
> es-discuss at mozilla.org
> https://mail.mozilla.org/listinfo/es-discuss
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.mozilla.org/pipermail/es-discuss/attachments/20171220/13287c22/attachment.html>


More information about the es-discuss mailing list