[net.lan] STREAMS

dave@enmasse.UUCP (Dave Brownell) (10/11/85)

In article <455@basser.oz> boyd@basser.OZ (Boyd Roberts) writes:
> ...  Sockets are all wrong.  You don't need that mess in your kernel.

As the person who originally posted the query, I can't help but be
amused by what's come out of it.  It seems like most people here are
more concerned with elegance in the kernel than in user interfaces.

So far as I'm concerned, the ONLY interesting thing about UCB sockets is
the user interface:  the socket() system call and its friends connect(),
bind(), accept(), and so on.  With these standard routines, people can
finally write reasonably protocol-independant applications.  (What sells
computers, by the way -- elegant kernels or good applications?)

Kernel implementation -- either by addmittedly flexible streams, or
BBN/UCB socket code -- is immaterial except insofar as it provides
performance and maintainability.

In all the foofaraw, I STILL haven't seen any discussion about how STREAMS
provide a good user interface.  (Do they?)  I think I'd put the socket
system calls on top of them, myself ...
-- 
David Brownell
EnMasse Computer Corp
...!{harvard,talcott,genrad}!enmasse!dave

jack@boring.UUCP (10/15/85)

In article <480@enmasse.UUCP> dave@enmasse.UUCP (Dave Brownell) writes:

>As the person who originally posted the query, I can't help but be
>amused by what's come out of it.  It seems like most people here are
>more concerned with elegance in the kernel than in user interfaces.
>
>So far as I'm concerned, the ONLY interesting thing about UCB sockets is
>the user interface:  the socket() system call and its friends connect(),
>bind(), accept(), and so on. 
wrong Wrong WRONG!!!.
You'll never succeed to give the user a pretty interface without the internal
organization being pretty, too.
Everything might work OK for the first release, but when features are added,
and the implementation gets hairier and hairier it will show through at
the user interface.

A clean design, that matches the implementation to the user interface in
an elegant and easy-to-understand way is *much* easier to maintain and
upgrade.

Besides all this, of course, I still think that the BSD networking user 
interface is the worst mistake in the history of unix:-)


-- 
	Jack Jansen, jack@mcvax.UUCP
	The shell is my oyster.