[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
A path for CSP-based Solutions towards HUGE Industrial Success.
Hi Lawrence, Richard, Tom, and all others...
> > CSP and occam begin to look very beautiful indeed when you are
> > trying to get a complex system of independent parts to work. The
> > OO world just chokes and dies on this... We need to find a
> > horrible practical problem that is a pushover with CSP.
> I agreed with most of your posting, but I'd like to make an observation on the
> above remark. The OO world, by and large, uses distributed computing to solve
> many complexity problems. The Internet, being King as we all know, solves the
> problem. Sort of. :-P
> For channels, read TCP. Just don't worry about performance, eh? :-)
- Large OO programs are based on the Model-View / Observer design pattern
(See Design Patters by Grady Booch)
- By using this pattern intensively, your get a callback scheduled program.
I.e., there is a mainloop that waits for external events.
Observers register on certain events, at which point they are called.
If the state of the Observer changes, other Observers are called, until
no more changes take place.
- The problems in such Callback Scheduled program are (nearly) IDENTICAL
to the problems in multi-threaded applications.
- However, they start showing up when the application is roughly over
600.000 lines of code, and multiple releases of the product are made:
changing existing code becomes intrinsicly difficult.
My guess is that there is a practical upper-limit of about 1M lines of
code, at which point people realize that they had better start from
- Booch describes some of the dangers of the pattern.
- Booch does not describe a proper solution to the problem.
- The proper solution is CSP-based.
- I think the Observer Design pattern should be MOVED to the
Anti Patterns book.
- Realize that your ideas are ALSO APPLICABLE in the
SINGLE-THREADED market, which is huge!
- This, in my opinion is THE WAY TO TARGET A HUGE INDUSTRIAL MARKET.
- I see this as MY mission in MY industrial life.
- I need support from true Acadamics to accomplish this.
- Acadamic's views can be sharpened with (my and other's) Industrialists input.