[dojo-contributors] dojo.lang.inherits

Jesse Kuhnert jkuhnert at gmail.com
Wed Apr 5 21:16:16 EDT 2006


Heh...I wasn't trying to say I thought initilizers/constructors were a bad
idea (I mean I know probably 1/20th of what any given dojo dev knows about
js ) , just thought that people might want to be careful about names and
what they imply to folks not used to js paradigms. (I fell victim to this
myself and had to un-learn quite a few things I had at first assumed )
That's all...

On 4/5/06, Scott J. Miles <sjmiles at turbophp.com> wrote:
>
> It's easy to get into religious warfare about inheritence models. I'm
> pretty
> confident that practicality and laziness trump philosophical issues,
> generally. That is to say, the requested feature is simply useful and is
> not
> intended as a way to cram JS into some non-native oop model.
>
> I tried to ameliorate this reaction in my original post via these
> statements:
>
> > There is general agreement that we want to 'let JS be JS'.
>
> I still say that there is nothing un-JS about having an instance
> initializer. Calling a constructor is required to produce a prototype, so
> there is an inherent limitation to what you can achieve in pure
> constructors
> (without conditional cruft).
>
> > There was some talk about the term 'inherits' implying a non-JS idiom,
> but
>
> > this is not a problem IMO. Any suggestions for new nomenclature are
> > appreciated.
>
> I have successfully avoided Java, so any similarities there are just
> tragic
> accidents.
>
> Regards,
> Scott J. Miles
> TurboAjax Group
> http://www.turboajax.com
>
> ________________________________
>
> From: dojo-contributors-bounces at dojotoolkit.org
> [mailto:dojo-contributors-bounces at dojotoolkit.org] On Behalf Of Jesse
> Kuhnert
> Sent: Wednesday, April 05, 2006 5:31 PM
> To: dojo dev.
> Subject: Re: [dojo-contributors] dojo.lang.inherits
>
>
> I guess I'm being mr. grumpy today, but I had a small thought on this..
>
> I think it's a mistake for dojo devs or users to think of anything going
> on
> in dojo as analgous to another programming language, unless the
> similarities
> are really close. (ie java/ c++ )
>
> The problem with this I think is that when you open that door you find
> users
> (like myself) that see words like "inheritance/constructors/etc" and start
> to expect other things to behave like java as well. Like superclass
> functions always being called on child classes. This can also lead to what
> I
> think are "impure" thoughts when you're a developer. If you allow yourself
> to slip back into thinking the way you did in another programming language
> you're not really seeing the "matrix" of the language you're actually
> coding
> in. If the dojo devs aren't see this supposed "matrix" then it seems like
> innovation and cool new features that intuitively leverage the JS language
> are less likely to come about as a result.
>
>
>
> On 4/5/06, Bill Keese <bill at dojotoolkit.org> wrote:
>
>         >> 2. there is no separation between constructor initialization
> and
> instance
>         >> initialization.
>
>         The suggestion is something similar to this, right?
>
>         dojo.inherits(subclass, superclass, fnInit);
>         dojo.extends(subclass, { param1: ..., func1: ... } );
>
>         (where fnInit is the constructor in the java sense of the word)
>
>         This is really abusing the meaning of "inherit".  Wouldn't it be
> better
>         to combine these two functions into one function like this?
>
>         dojo.defineClass(subclass, superclass, fnInit,
>           { param1: ..., func1: ... });
>
>         As a matter of fact, Alex has already done this for widgets (see
>         http://archive.dojotoolkit.org/nightly/src/widget/Dialog.js )
>
>         PS: alternately you could use this syntax:
>
>         dojo.defineClass(subclass, superclass,
>                 { constructor: ..., param1: ..., func1: ... });
>
>
> <snip>
>
> --
> No virus found in this outgoing message.
> Checked by AVG Free Edition.
> Version: 7.1.385 / Virus Database: 268.3.5/301 - Release Date: 4/4/2006
>
>
> _______________________________________________
> dojo-contributors mailing list
> dojo-contributors at dojotoolkit.org
> http://dojotoolkit.org/mailman/listinfo/dojo-contributors
>



--
Jesse Kuhnert
Tacos/Tapestry, team member/developer

Open source based consulting work centered around
dojo/tapestry/tacos/hivemind.  http://opennotion.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.dojotoolkit.org/pipermail/dojo-contributors/attachments/20060405/7b7e3104/attachment.htm 


More information about the dojo-contributors mailing list