On Fri, Feb 08, 2002 at 10:55:09PM +0100, [EMAIL PROTECTED] wrote: > On Fri, Feb 08, 2002 at 03:33:23PM -0500, Rocco Caputo wrote: > > > > == Inheritance and aggregation. == > > > > We'll have no end of trouble doing practical things in an object > > system that doesn't cleanly support ways to combine objects. > > > > I've begun compiling a list of pattern inheritance and combining > > patterns as I come across them. Hopefully some clean patterns will > > emerge from those notes. It's slow work, and it could use input from > > more people. > > I would suggest taking a look at the UML notitian. I is not perfect and not > the only model, but it is quite popular, a lot of people work on and with > it and it is still being improved.
[...] That's a good suggestion. I don't want to tie POE to a particular -ML though. Ideally, people should use their favorite -ML, even if that's just raw Perl code. > > == Threads. == > > > > Threads are listed last because they are the most important, least > > visible, and hardest to do correctly. > > > > Threads will let sessions block without adversely affecting other > > sessions. That will open a lot of CPAN to POE users, which is a very > > nice thing. Combined with messaging, it will let POE act as a form of > > RPC for other modules. That's good, too. > > > > Artur Bergman is working on a "dream design" (I hope) for threaded > > POE. We'll hash out how close POE's current design can approach his > > fondest wishes without breaking. > > Are there any notes online about this ? I recently rewrote the threads page, but it still doesn't say anything about a design. I hope Artur will come up with something nice. I'm considering twisting his arm to produce a quick sketch of his idea before he goes into too much detail. That'll at least give people something to read on the web. http://poe.perl.org/?POE_RFCs/Threads > What I would like to have is not just threads but real distributed POE > applications, in a transparent way. Please comment on wether you'd like > that too. And on what you think this means, as I have the feeling that > we're talking about different things when using the word distributed or > concurrency. For me that means running the same program on several boxes > distributed across the world. Something like that :) I think "distributed" could mean the same program running on many machines, each taking an identical part of a larger task. I think of seti@home and the RC5 cracking projects. I also think it can mean running different programs on many machines, each program doing a different task. Data is passed from one machine to the next as it flows through a complex process. I think of web servers where the content database is on one machine and the web server is on another. When I hear of concurrency, I think of multi-tasking or -threading. Doing several different things at once, not necessarily on separate machines. I don't know enough about distributed computing to advocate a particular method. Different approaches may be better for different applications, so claiming one as the One True Way would be unfair. I'd rather defer this to someone who knows more about the topic. Ideally, they would implement (or at least design) a set of core features common to most distribution systems. Specific distribution methods would be left as exercises for people who need them. :) > > Mission statement. > > > > Mission statements suck, but it occurred to me that we might need > > something to focus on. I know I do. Do I EVER. How does this sound? > > > > Create a coherent, extensible framework for object interaction. > > That's like saying we need good code. But it's fine for a mission statement. I disagree. It pointedly does not address the objects that will be interacting within the framework. That follows the incremental approach, too. We'll focus on the objects themselves later. > I'd like to add something. I am usually the one who says "this is bad, this > won't work, you/that will fail when it gets bigger, ...". stuff like that. > it is _not_ my intention to decrease your motivation, or decrease the worth > of people's work. it is just that i know what can go wrong, and what does not > work. and often i don't know how to do correctly or at least not immediately > after i complained. the point is, a lot of people don't like the way i > approach problems. but this isn't meant as an offense. Telling people their ideas are bad tends to make them defensive. Telling someone something won't work is almost a challenge to make it work. Even if you know beyond a doubt that you're right, saying these things will generate the wrong reactions. Maybe there's a better way to put things? > is there a need to properly proof what i'm talking about? because sometimes > i got the feeling that i cant transform all my thoughts into clear english > text that everyone understands. if there should be a test candidate POE::NFA > would be perfect :) so if my mails sound crappy and off-topic to you, please > tell me. That might help a lot. Speaking for myself, I think there's a definite need for people to explain their reasoning. It takes me weeks, if not months to figure out when someone has a good point when they do explain themselves. Think of how long it would take if they don't. Sometimes when I come across someone as dense as me, I take some time to write out sample code to show what I mean. Sometimes code gets a message across where words don't. If the code illustrates some hypothetical thing, it doesn't even need to run. -- Rocco Caputo / [EMAIL PROTECTED] / poe.perl.org / poe.sf.net
