On Wed, Feb 17, 2010 at 10:21 AM, Enrico Weigelt <weigelt@metux.de> wrote:
* David Leimbach <leimy2k@gmail.com> wrote:

> A lot of "plug in" functionality you'll find on other platforms
> that requires a shared library approach can be implemented via
> a file system service technique.

Of course, and I would really like to see that approach in the GNU
world too (actually, I already did that in some projects). But it's
really not easy to convice collegues or clients to this approach
(often they dont even understand the concept of modularity - sad,
but true).

Even synthetic filesystems are good for moving bigger things to their
own services, there're many cases where that wouldnt make sense, for
example parsers. I doubt you'd really suggest putting an XML parser
to its own filesystem for real productional use ;-p (having such a
thing surely is a good idea for some cases, but for most cases an
library would most likely be much easier and efficient.


No I'm not saying replace all library code with filesystems.  I don't know why you'd want an RPC interface to an XML parser :-).  

Libraries may not always be more efficient than services.  Imagine if Intel released their 48 core machine today, how would your system utilize those cores?  Sequential programming optimizations don't (always) work in the parallel world, and in a lot of cases you actually want to work redundantly across multiple processes in order to avoid communication overheads in a well optimized parallel algorithm.  

With all of that in mind, it can be better to distribute the services that make up an application, or a work flow, as decomposed pieces running together in concert via a sane RPC mechanism.  So, in the future, the Plan 9 way may be, in fact, more efficient than shared libs all piled up together.

Time will tell, but all indications from those who've been studying computation for decades seems to point this way.

Dave
 
> I don't know why everyone doesn't want to build software this way.

Well, that's probably a psychological/social phenomenon. Maybe some
"bigger is better" ideology ? ;-o


cu
--
----------------------------------------------------------------------
 Enrico Weigelt, metux IT service -- http://www.metux.de/

 phone:  +49 36207 519931  email: weigelt@metux.de
 mobile: +49 174 7066481   icq:   210169427         skype: nekrad666
----------------------------------------------------------------------
 Embedded-Linux / Portierung / Opensource-QM / Verteilte Systeme
----------------------------------------------------------------------