|
|
|
|||||
|
Hello,
I'm a complete newbie to Ice and am having trouble making sense of Chapter 4 (The Slice Language) of Distributed Programming with Ice. When it comes to reading documentation, I've long since determined that "my brain doesn't work the way most of yours do;" as a result, I get hung up on literally dozens of "sticking points" in whatever I read -- ambiguities, seeming self-contradictions, etc. that most of you wouldn't even notice. That makes reading / learning slow, painful, and infuriating; and unfortunately, I am also in somewhat of a hurry. By the time I am moved to "seek help," I'm too angry to do it here lest I offend, upset, and/or acquire a negative reputation, and yet I tend to need answers right away. Yes sir, it's a miserable experience all the way around. Therefore -- can someone direct me to an appropriate place to discuss this material without offending a whole community? Perhaps one-on-one "offline" discussion with someone who a) knows this material very well, b) can explain it in minute and subtle detail, and c) has a huge amount of patience for someone who nitpicks everything to death? Thanks in advance, Chris the extremely candid |
|
||||||
|
Quote:
Cheers, Michi. |
|
||||||
|
Quote:
See this thread:Important note: Change in support policy |
|
|||||
|
Okay, here comes the first cannonball
Wow!
Thanks for your detailed comments. I'll address them as best as I can...Quote:
Quote:
Quote:
Quote:
Now, as far as a base class making assumptions about the nature of its derived classes is concerned, there is really only one way in which a base class can do this: it can provide operations that the derived classes override. The derived classes are expected to maintain any invariants that the base class relies on (if any). That is the only OO way in which a base class can make assumptions about its derived classes. But, for PersistentObject, this is not the case, because PersistentObject has no operations that could be overridden. I'll follow up in another post because I'm also starting to run into the 10,000 character limitation...
__________________
Christopher F. Chiesa University of Rochester Laboratory for Laser Energetics (http://lle.rochester.edu) Unnamed Project #1 (has no URL)
Last edited by michi : 09-16-2005 at 01:42 AM. |
|
|||||||||
|
Dang... I accidentally used "Edit" instead of "Reply" and wiped out your previous post. Please accept my apologies--I don't think there is any way to get back your previous post
![]() At least I have the remainder of your post still in a cut buffer here... Quote:
Quote:
Quote:
Quote:
Quote:
I've seen the same thing done many times over in other contexts. Whenever someone adds behavior by derivation in this way, what we have is an abuse of inheritance and lack of clear thinking. This is true for CORBA, Java, or any other kind of system that does this. (As an aside, for Java, the reason for Serializable is that, at the time it was thought of, it was understood that it really should be a keyword but, by that time, the language and the VM were frozen, and it was too difficult to do the job properly...) Quote:
Quote:
Quote:
Now, suppose I want to pass a object reference for a naming context to some operation: Code:
interface MyHelper {
void doSomethingWithNamingContext(in NamingContext c);
};
Quote:
, and quite famous people (such as Rob Pike) would disagree with me on this point.I'll post the remainder of my reply in yet another follow-up. |
|
||||||
|
Quote:
In case of PersistentObject, inheritance is used to state something about implementation, which is an abuse of inheritance in the context of a an interface definition language (and many OO experts would agree that it is also an abuse of implementation inheritance, if there are no operations on the base class). Quote:
Quote:
Quote:
Quote:
![]() Quote:
Cheers, Michi. |
|
|||||
|
Thanks
Thanks, Michi, for such a rapid and thorough response. I'm impressed.
I'm not sure I yet understand everything you said, but I'll chew on it awhile before I post any followup questions. Onward! Chris ![]()
__________________
Christopher F. Chiesa University of Rochester Laboratory for Laser Energetics (http://lle.rochester.edu) Unnamed Project #1 (has no URL)
|
![]() |
| Currently Active Users Viewing This Thread: 1 (0 members and 1 guests) | |
| Thread Tools | |
| Display Modes | Rate This Thread |
|
|
Similar Threads
|
||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| Documentation Clarification, Perhaps | acbell | Comments | 4 | 04-19-2007 12:37 PM |
| Bug in documentation | acbell | Bug Reports | 1 | 02-24-2006 05:29 PM |
| Ice documentation | catalin | Help Center | 5 | 04-04-2004 06:13 PM |
| New Ice documentation available | michi | Announcements | 0 | 07-10-2003 08:17 AM |
| Documentation v1.0.2 now available | michi | Announcements | 0 | 03-14-2003 02:57 AM |