|
![](/i/fill.gif) |
clipka wrote:
> you accept as OO only what has a certain runtime structure
No, I call something OO if it has more "OO" to it than (say) stdio.h. :-) It
needs objects, and data associated with objects, and stuff like that.
> If it /feels/ like OO (i.e. it supports your attempts at implementing an
> OO design), it /is/ OO.
Tcl's an extensible language. People have written libraries that emulate
some aspects of OO. Tcl is no more OO than C is OO because someone invented
cfront. Just like the existence of Candygram doesn't make Python an
actor-based language.
Tcl's OO works by creating a procedure for each object. Invoking that
procedure causes it to use the first argument as a string to look up the
method to run, and the name of the procedure itself as an index into a
global hashtable to find the data associated with the object. I guess if you
squint hard, you could say it supports OO. It's not what I'd call an OO
language, tho. It's a procedural imperative language with an optional and
not widely used lump of library that rewrites procedural code to look sorta
OO if you don't peer too close.
> That would (for most part) match "production" language in my set of
> definitions.
Fair enough. That, then. :) I was trying to distinguish "one-off
experimental languages designed specifically to aboid what I was talkign
about" from "real" languages. (Altho, honestly, at this point I've
forgotten what I'm talking about.)
> To be mainstream, something really needs to be... well, you know, in the
> /main/ stream.
> You wouldn't call some clothes fashion to be mainstream just because
> people sell the clothes instead of sewing them at home for their own
> personal use, would you? Or call some musical style mainstream just
> because you can buy that type of music on audio CDs?
No, but I'd call police uniforms "mainstream" even tho only policemen use
them. :-)
--
Darren New, San Diego CA, USA (PST)
I ordered stamps from Zazzle that read "Place Stamp Here".
Post a reply to this message
|
![](/i/fill.gif) |