IWETHEY v. 0.3.0 | TODO
1,095 registered users | 0 active users | 0 LpH | Statistics
Login | Create New User
IWETHEY Banner

Welcome to IWETHEY!

New Bryce wants to make the methodDictionary a table.
Its not a fundamentally different structure than any other home-grown object system, but he's pretty much into creating something like self but putting all the behavior as eval scripts in a table.



"Packed like lemmings into shiny metal boxes.
Contestants in a suicidal race."
    - Synchronicity II - The Police
Collapse Edited by tuberculosis Aug. 21, 2007, 06:08:23 AM EDT
Bryce wants to make the methodDictionary a table.
Its not a fundamentally different structure than any other home-grown object system, but he's pretty much into creating something like self but putting all the behavior as eval scripts in a table.



"Packed like lemmings into shiny metal boxes.
Contestants in a suicidal race."
    - Synchronicity II - The Police
New relational model of OOP
A basic OO structure:
\n   Table: Objects\n   --------------\n   Object_name\n   Parent  \n\n   Table: Method_attributes\n   -----------------------\n   Object_name  (foreign key to Objects table)\n   Message_name (attribute or method name)\n   Value_type   (method, attribute, or pointer indicator)\n   The_value    (attribute value or algorithm)\n


It could be made fancier, such as multiple inheritance, etc.
________________
oop.ismad.com
New Been there, done that, have the MI t-shirt.
[link|http://web.archive.org/web/20010718000433/w3.one.net/~jweirich/oostuff/foxpro.html|*yawn*]
Regards,

-scott anderson

"Welcome to Rivendell, Mr. Anderson..."
New monomorphism
If you use tables to do OOP, you get long ugly code like that. The trick is to use tables to do table stuff, not OOP. In the real world, splitting entities into subtypes does not work very well: there are too many orthogonal and often equally valid ways to "divide" something. Thus, rather than make one factor the arbitrary king (division criteria) and demote the others, simply don't divide. You query to get as-need "divisions", not hard-wire them into your physical code structure. OO'ers are often too quick to force things into taxonomies, which upon philosophical inspection or hindsite are usually arbitrary or specific to a narrow use of the entity. This is what happens when you over emphasize use-cases or CRC cards, for one.
________________
oop.ismad.com
New Re: monomorphism
First of all: way to miss the point. You mentioned that multiple inheritance could be added; I gave an example. Sheesh.

In the real world, splitting entities into subtypes does not work very well: there are too many orthogonal and often equally valid ways to "divide" something.
Then don't do that. We've been over this before. Subtyping is not the end-all be-all of OO design. And don't give me that "most people are taught inheritance only" crap. Their (and your) ignorance is a commentary on their education only, not on OO. Further exploration of this topic will be ignored, as We Have Been Over It Before.
Regards,

-scott anderson

"Welcome to Rivendell, Mr. Anderson..."
New If you remove inheritance
...then OO is little more than bloated procedural, or a 60's style navigational database built from scratch.
________________
oop.ismad.com
New I didn't say remove it.
Regards,

-scott anderson

"Welcome to Rivendell, Mr. Anderson..."
New Perhaps "ignore" is more appropriate
________________
oop.ismad.com
New I didn't say that either.
Regards,

-scott anderson

"Welcome to Rivendell, Mr. Anderson..."
New Re: monomorphism
This is actually interesting!

By "table", you really mean "array" - and so what you want is efficient indexing. So look at APL.
-drl
New APL is not the only way to get efficient indexing
Machine efficiency is not the whole issue. Maybe check out:
[link|http://www.c2.com/cgi/wiki?CodeAvoidance|http://www.c2.com/cgi/wiki?CodeAvoidance]
________________
oop.ismad.com
New Do you finally admit
..that OOP is a method - a particular cooridinate system? Then we can talk about your array-centric language, as another coordinate system.

If you're so radical anyway, why don't you make something that fits naturally on a stack machine?
-drl
New why?
If you're so radical anyway

I am not "radical". I get emails from people who have similar ideas all the time, and many shops I have worked at are heavy users of RDMBS. (True, they perhaps are more likely to hire/rent table-heads than average.)

that OOP is a method - a particular cooridinate system....why don't you make something that fits naturally on a stack machine?

Anything could probably be *implemented* as a stack and/or a coordinate system and/or gerbals on gears. Stanford students built a computer out of only tinkertoys. However, I am more concerned about an app developer's interface (as languages and/or tools), not compiler writing/implementing.
________________
oop.ismad.com
New Yes you are
You're radical, because you are doing "root level" work (look up the word "radix"). You want to invoke new methods. So I ask again - do you admit that OOP is a technique, and not a theory?
-drl
New radix is the "bucket sort"
because you are doing "root level" work (look up the word "radix").

I am not implementing a sort algorithm. How the database does its lookups is hidden from the DB user.

So I ask again - do you admit that OOP is a technique, and not a theory?

The distinction is blurry.

________________
oop.ismad.com
     Another Table-head is allowed to write - (tablizer) - (37)
         This is news how? - (static) - (34)
             Many OO-heads would rather make 200 classes -NT - (tablizer) - (33)
                 Any OO-heads want to corroborate this? - (static) - (32)
                     We've already had this conversation with him. - (admin) - (1)
                         Yes, that's what I thought someone would say. :-) -NT - (static)
                     Re: Any OO-heads want to corroborate this? - (JimWeirich) - (29)
                         Bryce wants to make the methodDictionary a table. - (tuberculosis) - (14)
                             relational model of OOP - (tablizer) - (13)
                                 Been there, done that, have the MI t-shirt. - (admin) - (12)
                                     monomorphism - (tablizer) - (11)
                                         Re: monomorphism - (admin) - (4)
                                             If you remove inheritance - (tablizer) - (3)
                                                 I didn't say remove it. -NT - (admin) - (2)
                                                     Perhaps "ignore" is more appropriate -NT - (tablizer) - (1)
                                                         I didn't say that either. -NT - (admin)
                                         Re: monomorphism - (deSitter) - (5)
                                             APL is not the only way to get efficient indexing - (tablizer) - (4)
                                                 Do you finally admit - (deSitter) - (3)
                                                     why? - (tablizer) - (2)
                                                         Yes you are - (deSitter) - (1)
                                                             radix is the "bucket sort" - (tablizer)
                         Delta Dawn - (tablizer) - (12)
                             You can't override a third of an eval string either. -NT - (tuberculosis) - (11)
                                 Sure you can! - (admin) - (9)
                                     Offensive - (deSitter) - (6)
                                         Not to me. - (admin) - (3)
                                             Re: Not to me. - (deSitter) - (2)
                                                 Again: - (admin)
                                                 Don't know about cool - (tuberculosis)
                                         Logical reason for "the" prefix - (tablizer) - (1)
                                             lack of response means you agree now? -NT - (tablizer)
                                     You're creeping me out MAN! -NT - (tuberculosis)
                                     /me blows tea through my nose! - (jb4)
                                 If you don't split things into "subtypes" you don't need to -NT - (tablizer)
                         I think it might get more complicated than that. - (static)
         Re: Another Table-head is allowed to write - (johnu) - (1)
             A: slower response time? - (jb4)

Sure, it's theoretically possible, but who the hell would actually do such a thing?
372 ms