On Fri, Dec 31, 2021, 1:23 PM Larry McVoy <lm(a)mcvoy.com> wrote:
On Fri, Dec 31, 2021 at 01:17:18PM -0500, Dan Cross
wrote:
On Fri, Dec 31, 2021, 10:54 AM Adam Thornton
<athornton(a)gmail.com>
wrote:
> Slightly older, but also slightly more fundamental to the system, you
need
> look no farther than Solaris's
`/bin/sh` for an illustrated example of
the
pros and
cons of maintaining backwards compatibility. [snip]
Sun is not the exemplar here: the move from SunOS 4's BSD userland to
Solaris 2's SVR4 broke tons of things. They didn't seem to mind that
their
customers had to pay the cost of adaptation.
I was there for that and I minded like crazy. It was a hugely bad move
in my opinion. Time has not changed that.
Yeah. I work on Illumos now for Oxide, and it's...fine? But it took a long
time to get there.
When the SunOS->Solaris changeover happened, the thing that really tripped
me up was `awk`. SunOS 4's awk was nawk, but Solaris 2's awk was 7th Ed awk
and lacked functions and so forth. nawk was available as `nawk`, but it
seemed like a gratuitous regression and we had to modify a lot of local
shell scripts and so on.
The Linux example is also a bit strange. The move from
e.g. `ifconfig` and
`netstat to `ip` and `ss` required lots of local
retooling
I never understood why Linux did that.
I've been dealing with a couple of Linux machines over the break, and
trying to do things the canonical way instead of running back to the
familiar tools, but some things just aren't supported. `ss` doesn't know
about some of the more exotic address families, like AX.25 and NET/ROM. I
can certainly understand why (talk about a hobbyist niche...) but the irony
is that I had to install `netstat` anyway.