[TUHS] Were all of you.. Hippies?

Erik E. Fair fair-tuhs at netbsd.org
Fri Mar 24 15:37:17 AEST 2017

	I'm a fan of Plan 9's elegance and clean design, but beware of the limitations of the abstractions you choose. One place that files and connections don't work cleanly is in actual datagram networking. You can do TCP easily, but UDP and especially broadcast/multicast make a hash of the abstraction. That's how you end up with sendto(2), sendmsg(2), recvfrom(2), recvmsg(2).

One could also point to the seemingly endless number of ioctl(2) commands as a failure of the file abstraction to encompass all the necessary service elements - hence that escape mechanism.

This is the wonder and the problem of Turing machines: they can do almost anything - so what functions and services do you expose, and what do you hide? What is most useful to a large enough group of software developers and users that your model will be accepted, used, supported by contribution, and perhaps lauded?

Whenever we want total control, we can always revert to assembly and/or machine language. Or beach sand.

	Erik Fair

More information about the TUHS mailing list