Re: open source large OO data processing systems
From: Alan Gauld (alan.gauld_at_btinternet.com)
Date: Thu, 27 Jan 2005 22:18:20 +0000 (UTC)
On 27 Jan 2005 13:13:17 -0800, "Secret Squirrel"
> Are there any open source examples of good OO design for data
> processing systems? I see many advocates pushing OO, but my comrades
> believe OO is limited to small systems and acedemia.
There are two issues here:
1) Is OO used inlarge systems and
2) Is OO used in data processing systems(especially large ones)
The answer to 1 is a definite yes, there are many very large
software systems (by large I arbitrarily mean multi million line)
using OO, either in C++, or ADA - probably Java too but I've not
personally seen a 1Mloc plus Java system yet...
As to (2) I have seen a few small to medium OOP data processing
apps but no large scale ones. I have seen a hybrid OO/FP system
which worked well, and I've seen object *based* DP systems wil
multi million line code bases. One reason why most large DP
systems are non pure OO (in my experience) is just the overhead
of creating and destroying lots of objects in very short time
spans. Now there may well be plenty examples of systems
processing terabytes of data using pure OOP I just haven't seen
them. But up to 10's of Gigabytes of data theres no real problem
and I've seen several of those.
> talk about OO for building a small painting program, but entirely
> different for a large high-performance data processing system. Are
> there any large, real world, data processing systems out there to look
See above, but if you want to talk about large systems then
there's a good chance that next time you use the phone its
a large scale C++ or ADA program thats controlling the call...
And most telephone switches run into the millions of lines -
sometimes 10s of millions for public switches.
Now to your first point - open source.... Not that I know of, all
these systems tend to be proprietary - there's too much dollar
investment in them! In fact I'm not aware of too many large pen
source programs in any language, even the Linux kernel isn't
huge. And emacs is so modular its hard to tell where emacs stops
and contributed macros begin...
Author of the Learn to Program website