From: Chris W. <ch...@cw...> - 2004-12-01 22:19:44
|
> On Dec 1, 2004, at 2:58 PM, Vsevolod (Simon) Ilyushchenko wrote: >>> my $book = Book->fetch(42); >>> $book->publisher == object (whether manual/lazy fetch) >>> $book->publisher_id == ID >>> $book->author == list of objects (whether manual/lazy fetch) >>> Is that right? Because it sounds from the discussion as if: >>> $book->publisher == sometimes ID, sometimes object, >>> depending on the configuration >>> which IMO is very confusing. >> >> Yes, yes, yes! My point exactly! > > Aw, c'mon Simon ... I thought I'd convinced you on this one too. Now I > have to convince Chris too? :-) > > Chris, have you gotten through our whole previous discussion? I think > I've explained why I think this is NOT confusing (at least to me :-) I > can try to restate my reasons if you think it would help. I believe I read through everything. I just think you're overestimating how much time and effort people are willing to spend to sort these out. We who have been using SPOPS for a while see the relationship between the configuration and the code as blindingly obvious. But for new people -- or even people who only use SPOPS occasionally -- it's not. And the idea that the behavior of an existing method could change based on configuration is very disconcerting. People like to think of their objects as somewhat stable -- even Perl people! -- and when we change the meaning under the hood like that it's untrustworthy. OTOH, the idea that something *new* happens -- like adding new methods -- as a result of configuration changes isn't so bad because you have the choice if you want to use the new feature or not. Chris -- Chris Winters (ch...@cw...) Building enterprise-capable snack solutions since 1988. |