Browse thread
Avoiding shared data
[
Home
]
[ Index:
by date
|
by threads
]
[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: | 2005-10-05 (15:28) |
From: | skaller <skaller@u...> |
Subject: | Re: FP/IP and performance (in general) and Patterns... (Re: [Caml-list] Avoiding shared data) |
On Wed, 2005-10-05 at 14:10 +0200, Oliver Bandel wrote: > For example, I'm not really a fan of OO-programming, but when > programming GUI-software I think it would be the best choice, > and FP-programming lacks flexibility here I contend that concurrent programming is best here. However, I don't know: I have a tool (Felix) to explore this, but haven't got around to actually trying the one-thread/one-widget paradigm. The OO solution is reactive and requires you to maintain the whole widget state without use of the stack, thereby discarding everything that is known about block structured and functional programming, and going back to the bad old days of the early 70s with a flat state space, except that the state space is partitioned into objects. The thread based solution control inverts this paradigm, giving you a stack and control flow for every widget, this is *active* or algorithmic programming. So I content it must be better, because it not only partitions the state space as OO does, it *also* partitions the control space, and allows you to use all the advantages of a functional or block structured style. Actually, in practice, I expect a mix of the solutions will be best. The reason is: we know a LOT about state machines. So subparts of problems which correspond to them can easily be programmed and reasoned about, simply because we have lots of mature theory. -- John Skaller <skaller at users dot sf dot net> Felix, successor to C++: http://felix.sf.net