On 27.12.2010 23:17, Angus Croll wrote:
  So anyway your
later python vs. Js examples would not apply to languages like java


Yes, of course. That what I described as "second-class static classes", where "second-class" term means classes cannot participate as normal data (i.e. be passed as arguments to functions) and "static" -- means, yeah, statics ;). The opposite (well, alternative) thing -- "first-class dynamic classes", where again, "first-class" (and you know it) means an ability to participate as normal data -- that is, we may easily to pass a class as argument to a function, etc in such languages as Ruby, Python CoffeeScript, etc. And "dynamic" -- yep, dynamics (an ability to mutate -- to augment with new properties which will be available via delegation and to remove properties).

One suggestion - it might help to demonstrate the universality of
classes if we use the term 'type' (or 'custom type') since such a term
is used freely in almost every language

Yes, the term "type" is related with classification. It's funny, but even on the very-very lowest, level the memory (abstractly) is also classified (_typified_) with classification tags. That's how e.g. pointers to `int`, `float`, etc types distinguishes. There are data slots, and a special slot of a type/class which serves as a classification tag.

Also, in the class-based paradigm a type can directly be related with a class (and vice-versa). I.e. when we create a new class -- we define a new _type_ (in C++ and Java). And this can be considered as one of differences from a prototype-based system.

Thank you too, Angus for discussion ;)

Dmitry.

--
To view archived discussions from the original JSMentors Mailman list: 
http://www.mail-archive.com/[email protected]/

To search via a non-Google archive, visit here: 
http://www.mail-archive.com/[email protected]/

To unsubscribe from this group, send email to
[email protected]

Reply via email to