[openbeos] Re: Preferences/File Help

  • From: "Nathan Whitehorn" <nathan.whitehorn@xxxxxxxxxxx>
  • To: openbeos@xxxxxxxxxxxxx
  • Date: Fri, 18 Jan 2002 13:48:20 -0600

> >Large quantities are shared libraries or seperate applications 
> > (Tracker 
> >is *not* a server). I just pulled up the handy-dandy BeBook here. 
> > Let's 
> >go through, shall we?
> 
> OK, but I have no clue how you came up with your opinions on what
> is remote and what is not.

I used my psychic abilities. :)

> >The Application Kit- 2/13 classes implemented remotely (BApplication 
> >and BRoster)
> 
> BClipboard may or may not (not really sure).

I *think* it's local, but it may not be.

> >The Device Kit- 0/2 classes implemented remotely
> 
> My device kit shows 5 classes. :-/ None in servers.

Really? I must have an old Be Book... Hrrm.

> >The Game Kit- 2/5 classes implemented remotely (BDirectWindow and 
> >BWindowScreen)
> 
> I *thought* (and I could be wrong) that the sound classes used the 
> media kit.
> If so, they are talking through a server.

This is the same argument as saying that my thread-safe list class that 
uses a sempahore is in the kernel because it uses semaphores. That's 
rediculous.

> >The Interface Kit- 4/45 classes implemented remotely (BView, 
> > BWindow, 
> >BPrintJob, and BScrollbar)
> 
> This is somewhat misleading. Most of those classes derive from BView
> either directly or through BControl. So most of them *DO* talk to 
> servers.

This is the same argument as saying that my thread-safe list class that 
uses a sempahore is in the kernel because it uses semaphores. That's 
rediculous.

> >The Kernel Kit- 3/4 function sets implemented remotely (areas, 
> > ports, 
> >and semaphores)
> 
> Actually, I think that everything in here talks to the kernel via 
> system calls.
> So not really server or shared library. :-)

I'm counting the kernel as a server. But, AFAIK, most of the image 
calls are local, not in the kernel (exe loading is in the kernel, but 
symbol resolution and things is local).

> >The Mail Kit- 0.5/1.5 classes implemented remotely (the C mail API 
> >counts here)
> 
> I would think that both would need to talk to the server.

Nope. BMailMessage just writes files. (I know way too much about it :P) 
The C API (and only a fraction of that) talks to the server. Only 
check_for_mail() and send_pending_mail() talk to the mail_daemon.

> >The Network Kit- 2/4 classes/function sets implemented remotely 
> >(sockets/BNetEndpoint)
> >The Storage Kit- 1/18 classes implemented remotely (BQuery)
> 
> I can't agree with you here. Example - BDirectory creates a new file.
> I would *HOPE* that functionality is not in the shared library, but 
> is in the
> FS. :-) Which means that it is in the kernel. If you call the kernel 
> a server for BQuery,
> you have to call it a server for most of these classes.

Which uses kernel calls. As I said before, this is like saying that int 
b = 4+5; is in the kernel becauses it uses memory. Only things that *
know* they are in the kernel can be considered in the kernel. 

> >The Support Kit- 0/10 classes implemented remotely
> 
> Some of these, too, have remote functionality. Specifically, anything 
> that is a Locker.

See above.

> >Grand Total- 14.5/106.5 classes/function sets implemented remotely
> >
> >Only slightly more than 10% of the Be API is implemented in a 
> > server. I 
> >would hardly call this most everything.
> 
> That is one measure.
> Another is this: 
> in servers, there is 3.6 meg of code.
> The kernel is another 700k.
> Plus all of the add-ons, etc.
> In lib, there is 9.7 meg of code. This includes std C++ lib, tracker 
> (> 2 meg), etc.
> 
> That puts the two pieces closer to an equal footing. It really all 
> depends on what
> and how you count. In any case, Be seemed to think that servers were 
> a good thing and
> used them quite a bit. Maybe not "almost all", Maybe not 10%. 
> Probably somewhere
> in betwee. ;-)

Agreed. My point remains: Be didn't do everything via servers. And they 
aren't gods. Even if they did, it doesn't mean we should. There is a 
time and a place for everything, and preferences is not one for 
servers.
-Nathan

--
Fortune Cookie Says:

If you keep anything long enough, you can throw it away.


Other related posts: