On Tue, Jul 06, 2021 at 09:30:31AM -0400, Clem Cole wrote:
The basic idea of the original Unix was that was small
and simple and in
Dennis' words, 'ran on modest hardware.' The designers of UNIX also
did
not try to solve any one particular problem but offered a set of tools for
a >>programmer<< take upon her/himself to do so.
The issue is that the target >>user<< of UNIX had devolved from that of a
'programmer' but rather the elusive 'end user' and her/his
view/requirements tend to be "solve my problem now -- I don't care how -
just do it I don't want to think about it - make it go away." So over
time, we hid a lot of the simplicity in features that were built on
features (often warts) that were built on other features (often other
warts).
I'd go even farther than that. Hardware is no longer as modest, or as
simple. And even if the target user is still the "programmer" it may
not be the case that worked well wtih the hardware and the problems of
50+ years ago is in fact that best answer today. Including, for
example, the claim that everything should be represented in terms of a
byte stream and/or a file.
I'll refer people to the former FreeBSD core team member and currrent
FreeBSD developer, Benno Rice's presentation from linux.conf.au 2020,
"What UNIX Cost Us":
https://www.youtube.com/watch?v=9-IWMbJXoLM
I was commenting on the OPs post of the paper picking
on UNIX, the UNIX
Shell, and where we are today *vs.* 50+ years ago. My other point is the
authors need to get over themselves and recognize that* they are not making
a really new argument*. Folks were not too happy with many of the BSD
'features' either, but now those same features (like head(1) or BSD
sockets(3))
are considered SOP for nay new UNIX and you have to have them - even if
there are other if not 'better' ways of doing the same thing.
And if the Unix patriaches were perhaps mistaken about how useful
"head" might be and whether or not it should have been considered
verboten, perhaps there is something to the claim that extreme
simplicity and forcing everything to implement in terms of the
smallest, simplest operations, might not make sense. After all, taken
to extreme, if simplicity is the only good, then instead of Intel
CPU's, or PDP-11's, maybe we should be programming everything in terms
of a Turing Computer --- after all, "small is beautiful" and even a
PDP-11 is unnecessary complexity. :-)
Or maybe not.
One of Benno's claims is even the Unix philosophy, when taken to
extremes, can be as much of an ideology as say, Fundamentalist
Christianity. My Episcopalean roots may be showing, but the words of
Scripture (or the writings of the Unix Patriarchs) is not the only
source of truth; and Tradition by itself is also not enough; we also
need to apply our own Reason and Experience.
- Ted