The Unix Heritage Society mailing list
 help / color / mirror / Atom feed
From: clemc@ccc.com (Clem Cole)
Subject: [TUHS] 'Command subcommand ...' history
Date: Mon, 27 Mar 2017 21:08:27 -0400	[thread overview]
Message-ID: <CAC20D2MFNNWBrUP1jFVNPUVK1UoCxUto17DNsubG0VMtxQvhVg@mail.gmail.com> (raw)
In-Reply-To: <20170324154401.GG23802@mcvoy.com>

SCCS started out as single commands, and many of us learned to use that way
(I still do - for simple things I still find it easy to use - including as
the front end to all my troff).   Anyway, a couple of the SCCS macro
commands tended to be used together or in sequence and that is the key
step.   When Eric started to use SCCS for development of Ingres in the late
1970s, as Larry pointed out, Eric wrote the BSD sccs command wrapper.***

That said, I'm not sure Eric's sccs command was the first time I had seen
tool wrapper, although it may have been the first "tool" wrapper as a C
program in that sense.  I have some memories of a couple of others that
were shell scripts, but I can't remember any specifics, other than the C
compiler itself (cc was originally a shell script) and the original man
command.   I do remember looking at what Eric did when I first came across
it, as I recall I had to mess with it -- may it did not run on the 40 class
systems without some hacking - I really don't remember why.

I think the key is that shell scripts were becoming more and more things we
wrote with every day and more and more tools became scripts.   But on the
PDP-11, the shell was limited and took resources, so converting from a
shell script to C program was not unusual for speed.   The next step was
things like Eric's sccs command.

Clem


*** As an aside, it is an interesting question is how the SCCS commands and
CPIO sources originally made it to UCB.  Those tools were part of PWB 1.0
and 2.0 - which was not released to Universities - although Mashey had
published at least one paper about it and was an ACM National Lecturer at
the time.  Hence, many people knew about SCCS (I had heard him talk about
it 1979 at conference in Oregon).   Anyway, other than those tools, I do
not see much other evidence of PWB's specifics in the UCB archives.   I've
always guessed it was an unnamed "OYOC" student that left them there or it
may also have come from the Joy/Kowaski - uMich connection.  I don't think
it was Ken because Ken wrote tar so he is unlikely to have left cpio.   But
Ted was always fan of cpio (and may have had a hand in its creation).
 We'll probably never know ;-)  I certainly had become familiar with the
PWB tools a few years earlier at CMU, via the same type of path "OYOC"
 (either Phil or Ted) - which is also why so many of us knew about lots of
the work at AT&T - it was pretty well written about and published.

On Fri, Mar 24, 2017 at 11:44 AM, Larry McVoy <lm at mcvoy.com> wrote:

> On Fri, Mar 24, 2017 at 03:42:02PM +0000, Tim Bradshaw wrote:
> > Lots of tools now seem to use this strategy: there's some kind of
> wrapper which has its own set of commands (which in turn might have further
> subcommands).  So for instance
> >
> >     git remote add ...
> >
> > is a two layer thing.
> >
> > Without getting into an argument about whether that's a reasonable or
> ideologically-correct approach, I was wondering what the early examples of
> this kind of wrapper-command approach were.  I think the first time I
> noticed it was CVS, which made you say `cvs co ...` where RCS & SCCS had a
> bunch of individual commands (actually: did SCCS?).  But I think it's
> possible to argue that ifconfig was an earlier example of the same thing.
> I was thinking about dd as well, but I don't think that's the same: they're
> really options not commands I think.
>
> BSD's sccs wrapper worked this way, I believe thats where I saw it first.
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://minnie.tuhs.org/pipermail/tuhs/attachments/20170327/b1453d15/attachment.html>


  reply	other threads:[~2017-03-28  1:08 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-03-24 15:42 Tim Bradshaw
2017-03-24 15:44 ` Larry McVoy
2017-03-28  1:08   ` Clem Cole [this message]
2017-03-24 21:46 ` Arthur Krewat
2017-03-24 21:55 ` Paul Winalski
2017-03-28 19:55 Doug McIlroy

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=CAC20D2MFNNWBrUP1jFVNPUVK1UoCxUto17DNsubG0VMtxQvhVg@mail.gmail.com \
    --to=clemc@ccc.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).