From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=-0.8 required=5.0 tests=DKIM_ADSP_CUSTOM_MED, DKIM_INVALID,DKIM_SIGNED,FREEMAIL_FROM,HTML_MESSAGE,MAILING_LIST_MULTI autolearn=ham autolearn_force=no version=3.4.4 Received: (qmail 10742 invoked from network); 19 Nov 2021 21:51:24 -0000 Received: from minnie.tuhs.org (45.79.103.53) by inbox.vuxu.org with ESMTPUTF8; 19 Nov 2021 21:51:24 -0000 Received: by minnie.tuhs.org (Postfix, from userid 112) id 281F293D71; Sat, 20 Nov 2021 07:51:22 +1000 (AEST) Received: from minnie.tuhs.org (localhost [127.0.0.1]) by minnie.tuhs.org (Postfix) with ESMTP id 606D393D62; Sat, 20 Nov 2021 07:49:00 +1000 (AEST) Authentication-Results: minnie.tuhs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="UZMwVP3Q"; dkim-atps=neutral Received: by minnie.tuhs.org (Postfix, from userid 112) id 474A793D61; Sat, 20 Nov 2021 07:48:55 +1000 (AEST) Received: from mail-ua1-f46.google.com (mail-ua1-f46.google.com [209.85.222.46]) by minnie.tuhs.org (Postfix) with ESMTPS id 953ED93D5E for ; Sat, 20 Nov 2021 07:48:54 +1000 (AEST) Received: by mail-ua1-f46.google.com with SMTP id i6so24009349uae.6 for ; Fri, 19 Nov 2021 13:48:54 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=BssF+monzsIwRXo1rj9d7WNPLoHlOeoDwjMXWJprXvk=; b=UZMwVP3Qc5UIX2SfWUjPfId3bjQxvxk+2BILjfezMpQygcJ4Dz7lmHlczFTGs7VQz7 SiPNlV/6TOoiTeqKVK7UsVuGP2h0iJyketdm1WO946ODCWLthd8iwPIZtxjrhWmT8J2w 3bnPcxRTwVyaZ4mTD03VHq7BWUqlTCkB2ONCz9/gPCAsx6IoOZykyo2DCNSd5XF1O4WK aiQw+kUetZiv6MwAx9iOa0TxjH44EZU2KyRGnsYAqOO0yl33g+Q6+nJNeM2jl5dkaGzk oMGZ3QnnA/UQVZs7IWO7iaEWD+U7h1UEm2vQcFeKv6BKAkhhGBdVttCJyQCpbmiBTjbo VFpw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=BssF+monzsIwRXo1rj9d7WNPLoHlOeoDwjMXWJprXvk=; b=YZj7FMxsdKKg795yEZSfj/Nayi3/RdcbuJdPrIRAPSqMNAXR1rYOJvHdIS79Jlk61W 4u/w6IAjuQhzaN9ndpYmKH+WjrmJT+UrZzW4k7jKdNor9TDCQxn+UMT9iuQ6EH1V2X7z L2T8ZNe/3PQQTcL7c/tN6I5sL61omRlS5h7QNntC/02uDoXiYUdYgtTbKNGOf8JTPgBu Dyni4BapNlTN0WUyTYIWKUP6/9shrn6ZPF8wtm7vH2f8xvGOCmgxbGgbyTkk3hv/MIYB ExX2elbh2Y+Wdca6Gwe13qU2pvXSeeLS9fImUnbTqGh+9v7z75TePjtO/pgLWW62w0AD H5jg== X-Gm-Message-State: AOAM5315V5fRoMoy7F+aGJMgZSzYyXgGq1E6sWE8uDjwFRJSbjXYQeNI Djg2YCXMCIXmLC4E8QkjlyO4FdfR18jwu8NCGiY= X-Google-Smtp-Source: ABdhPJw0K0V4Hvg8iqe/qzsb/4wHWCCrVp5751EC9jLslHuybCMG66zxLqGoJGnProjIQMRN04U53hMyAMarUEkEjo0= X-Received: by 2002:a67:de88:: with SMTP id r8mr95806603vsk.15.1637358533581; Fri, 19 Nov 2021 13:48:53 -0800 (PST) MIME-Version: 1.0 References: <202111161754.1AGHsGsN929905@darkstar.fourwinds.com> <50F3E958-F0A4-4895-B1BC-41A2644A074A@oclsc.org> <20211118003512.GN15051@mcvoy.com> <20211119201447.GF15051@mcvoy.com> In-Reply-To: <20211119201447.GF15051@mcvoy.com> From: Alan Glasser Date: Fri, 19 Nov 2021 16:48:40 -0500 Message-ID: To: Larry McVoy Content-Type: multipart/alternative; boundary="000000000000c39da105d12b3d0b" Subject: Re: [TUHS] Book Recommendation [ reallly inscrutable languages ] X-BeenThere: tuhs@minnie.tuhs.org X-Mailman-Version: 2.1.26 Precedence: list List-Id: The Unix Heritage Society mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: TUHS main list Errors-To: tuhs-bounces@minnie.tuhs.org Sender: "TUHS" --000000000000c39da105d12b3d0b Content-Type: text/plain; charset="UTF-8" Larry, I have been out of working (retired from AT&T Labs Research in 2013), let alone working on SCCS and related tools for quite a while. I'm happy to hear that some folks appreciated what I called "INEX" (for include/exclude); one of my contributions to SCCS. I've had to argue against RCS and, of course, deal with CVS, much to my chagrin. Are you familiar with the concept of SCCS ID lists (slists), which act as a table of contents of a "unit" (usually a library or load module)? Not much released (from the Labs) documentation on slists; one paper was way back in COMSAC 80 by three former co-workers: Gene Cristofor, Tim Wendt and Bud Wonsiewicz. Alan P.S. Sounds like I should learn more about BitKeeper. On Fri, Nov 19, 2021 at 3:14 PM Larry McVoy wrote: > All the time. A merge in BitKeeper (which is SCCS based, I rewrote SCCS > from scratch and evolved it quite a bit) is just a > > get -e -ir1,r2,r3,r4 > > where the include list is all the revs on the branch being merged. > > That's the beauty of SCCS that seems to be lost to the rest of the > world: if someone added N bytes on the branch, the merge passes that > to the trunk by *reference*, every other SCM that is in current use > copies the branch data to the trunk. > > Suppose Rob had done a bunch of important work on the branch, you had > done some work on the trunk, and for whatever reason, I merged Rob's > work. Let's say everything automerged. In SCCS or BitKeeper, the only > new data in the file is a merge node that says "Include all of Rob's > work". In all other systems in use today, there would be a merge node > with another copy of Rob's work with me as the author because I did > the merge. Blech. > > Strangely enough, ClearCase has a weave format like SCCS and they could > have done merges by reference and they choose to copy it. I dunno who > the idiot was that made that decision. > > On Fri, Nov 19, 2021 at 03:04:37PM -0500, Alan Glasser wrote: > > Larry, > > > > Did you ever try the -i or -x options on get(1) to include or exclude > > deltas? > > > > Alan > > > > > > On Wed, Nov 17, 2021 at 7:39 PM Larry McVoy wrote: > > > > > I'll defend perl, at least perl4, vigorously. I wrote a lot of code in > > > it on 20mhz SPARCs. Yeah, like any kitchen sink language you have to > > > develop a style, but it is possible. All of Solaris 2.0 development > > > happened under a source management system I wrote, NSElite, that was > > > almost 100% perl4. There was one C program, that Marc might like, > > > that took 2 SCCS files that had the initial part of the graph in > > > common but the recent nodes were different in each file, and zippered > > > them together into a new SCCS file that had the newer nodes on a > > > branch. It was F.A.S.T compared to the edit/delta cycles you'd > > > do if you did it by hand. > > > > > > My perl4 was maintainable, I fixed bugs in it quickly. > > > > > > When it happened, perl4 was a God send, as much as I love awk, perl > > > was far more useful for stuff that awk just didn't want to handle. > > > > > > On Thu, Nov 18, 2021 at 09:21:49AM +1100, Rob Pike wrote: > > > > Perl certainly had its detractors, but for a few years there it was > the > > > > lingua franca of system administration. > > > > > > > > -rob > > > > > > > > > > > > On Thu, Nov 18, 2021 at 8:21 AM Dan Cross wrote: > > > > > > > > > On Wed, Nov 17, 2021 at 3:54 PM Warner Losh > wrote: > > > > > > > > > >> On Wed, Nov 17, 2021, 1:48 PM Dan Stromberg > > > wrote: > > > > >> > > > > >>> On Wed, Nov 17, 2021 at 11:35 AM Norman Wilson > > > > wrote: > > > > >>> > > > > >>>> Wasn't Perl created to fill this void? > > > > >>>> > > > > >>>> Void? I thought Perl was created to fill a much-needed gap. > > > > >>>> > > > > >>> There was and is a need for something to sit between Shell and C. > > > But > > > > >>> it needn't be filled by Perl. > > > > >>> > > > > >>> The chief problem with Perl, as I see it, is it's like 10 > languages > > > > >>> smashed together. To write it, you only need to know one of the > > > 10. But > > > > >>> to read it, you never know what subset you're going to see until > > > you're > > > > >>> deep in the code. > > > > >>> > > > > >>> Perl is the victim of an experiment in exuberant, Opensource > design, > > > > >>> where the bar to adding a new feature was troublingly low. > > > > >>> > > > > >>> It was undeniably influential. > > > > >>> > > > > >> > > > > >> It's what paved the way for python to fill that gap... > > > > >> > > > > > > > > > > I feel that Perl, and to a lesser extent Tcl, opened the floodgates > > > for a > > > > > number of relatively lightweight "scripting" languages that sat > > > between C > > > > > and the shell in terms of their functionality and expressive power. > > > From > > > > > that group, the one I liked best was Ruby, but it got hijacked by > > > Rails and > > > > > Python swooped in and stole its thunder. > > > > > > > > > > - Dan C. > > > > > > > > > > > > > > > > -- > > > --- > > > Larry McVoy lm at mcvoy.com > > > http://www.mcvoy.com/lm > > > > > -- > --- > Larry McVoy lm at mcvoy.com > http://www.mcvoy.com/lm > --000000000000c39da105d12b3d0b Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Larry,

I have been out of working=C2=A0= (retired from AT&T Labs Research in 2013), let alone working on SCCS an= d related tools for quite a while.
I'm happy to hear that som= e folks appreciated what I called "INEX" (for include/exclude); o= ne of my contributions to SCCS.
I've had to argue against RCS= and, of course, deal with CVS, much to my chagrin.
Are you famil= iar with the concept of SCCS ID lists (slists), which act as a table of con= tents of a "unit" (usually a library or load module)?
N= ot much released (from the Labs) documentation on slists; one paper was way= back in COMSAC 80 by three former co-workers: Gene Cristofor, Tim Wendt an= d Bud Wonsiewicz.

Alan

P.= S. Sounds like I should=C2=A0learn more about BitKeeper.


On Fri, Nov 19, 2021 at 3:14 PM Larry McVoy <lm@mcvoy.com> wrote:
All the time.= =C2=A0 A merge in BitKeeper (which is SCCS based, I rewrote SCCS
from scratch and evolved it quite a bit) is just a

get -e -ir1,r2,r3,r4

where the include list is all the revs on the branch being merged.

That's the beauty of SCCS that seems to be lost to the rest of the
world:=C2=A0 if someone added N bytes on the branch, the merge passes that<= br> to the trunk by *reference*, every other SCM that is in current use
copies the branch data to the trunk.

Suppose Rob had done a bunch of important work on the branch, you had
done some work on the trunk, and for whatever reason, I merged Rob's work.=C2=A0 Let's say everything automerged.=C2=A0 In SCCS or BitKeeper= , the only
new data in the file is a merge node that says "Include all of Rob'= ;s
work".=C2=A0 In all other systems in use today, there would be a merge= node
with another copy of Rob's work with me as the author because I did
the merge.=C2=A0 Blech.

Strangely enough, ClearCase has a weave format like SCCS and they could
have done merges by reference and they choose to copy it.=C2=A0 I dunno who=
the idiot was that made that decision.

On Fri, Nov 19, 2021 at 03:04:37PM -0500, Alan Glasser wrote:
> Larry,
>
> Did you ever try the -i or -x options on get(1) to include or exclude<= br> > deltas?
>
> Alan
>
>
> On Wed, Nov 17, 2021 at 7:39 PM Larry McVoy <lm@mcvoy.com> wrote:
>
> > I'll defend perl, at least perl4, vigorously.=C2=A0 I wrote a= lot of code in
> > it on 20mhz SPARCs.=C2=A0 Yeah, like any kitchen sink language yo= u have to
> > develop a style, but it is possible.=C2=A0 All of Solaris 2.0 dev= elopment
> > happened under a source management system I wrote, NSElite, that = was
> > almost 100% perl4.=C2=A0 There was one C program, that Marc might= like,
> > that took 2 SCCS files that had the initial part of the graph in<= br> > > common but the recent nodes were different in each file, and zipp= ered
> > them together into a new SCCS file that had the newer nodes on a<= br> > > branch.=C2=A0 It was F.A.S.T compared to the edit/delta cycles yo= u'd
> > do if you did it by hand.
> >
> > My perl4 was maintainable, I fixed bugs in it quickly.
> >
> > When it happened, perl4 was a God send, as much as I love awk, pe= rl
> > was far more useful for stuff that awk just didn't want to ha= ndle.
> >
> > On Thu, Nov 18, 2021 at 09:21:49AM +1100, Rob Pike wrote:
> > > Perl certainly had its detractors, but for a few years there= it was the
> > > lingua franca of system administration.
> > >
> > > -rob
> > >
> > >
> > > On Thu, Nov 18, 2021 at 8:21 AM Dan Cross <crossd@gmail.com> wrote:
> > >
> > > > On Wed, Nov 17, 2021 at 3:54 PM Warner Losh <imp@bsdimp.com> wrote:<= br> > > > >
> > > >> On Wed, Nov 17, 2021, 1:48 PM Dan Stromberg <drsalists@gmail.com>
> > wrote:
> > > >>
> > > >>> On Wed, Nov 17, 2021 at 11:35 AM Norman Wilson = <
norman@oclsc.org<= /a>>
> > wrote:
> > > >>>
> > > >>>> Wasn't Perl created to fill this void?<= br> > > > >>>>
> > > >>>> Void? I thought Perl was created to fill a = much-needed gap.
> > > >>>>
> > > >>> There was and is a need for something to sit be= tween Shell and C.
> > But
> > > >>> it needn't be filled by Perl.
> > > >>>
> > > >>> The chief problem with Perl, as I see it, is it= 's like 10 languages
> > > >>> smashed together.=C2=A0 To write it, you only n= eed to know one of the
> > 10.=C2=A0 But
> > > >>> to read it, you never know what subset you'= re going to see until
> > you're
> > > >>> deep in the code.
> > > >>>
> > > >>> Perl is the victim of an experiment in exuberan= t, Opensource design,
> > > >>> where the bar to adding a new feature was troub= lingly low.
> > > >>>
> > > >>> It was undeniably influential.
> > > >>>
> > > >>
> > > >> It's what paved the way for python to fill that= gap...
> > > >>
> > > >
> > > > I feel that Perl, and to a lesser extent Tcl, opened th= e floodgates
> > for a
> > > > number of relatively lightweight "scripting" = languages that sat
> > between C
> > > > and the shell in terms of their functionality and expre= ssive power.
> > From
> > > > that group, the one I liked best was Ruby, but it got h= ijacked by
> > Rails and
> > > > Python swooped in and stole its thunder.
> > > >
> > > >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0- Dan C.
> > > >
> > > >
> >
> > --
> > ---
> > Larry McVoy=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 lm at
mcvoy.com
> > http://www.mcvoy.com/lm
> >

--
---
Larry McVoy=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 l= m at mcvo= y.com=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0http://www.mcvoy.com= /lm
--000000000000c39da105d12b3d0b--