Path: ...!news.mixmin.net!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail From: Thomas Koenig Newsgroups: comp.arch Subject: Re: shells The Design of Design Date: Wed, 8 May 2024 07:36:32 -0000 (UTC) Organization: A noiseless patient Spider Lines: 36 Message-ID: References: <20240507113845.000049ee@yahoo.com> Injection-Date: Wed, 08 May 2024 09:36:32 +0200 (CEST) Injection-Info: dont-email.me; posting-host="0b4a52159ec439f4b647a7b314d6f575"; logging-data="4036491"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1/1Od1LL0pJkZ66z6lLlGoJiOBarcbMzto=" User-Agent: slrn/1.0.3 (Linux) Cancel-Lock: sha1:b7KL1BRD+FhrdFRDPjAFZaSJF4A= Bytes: 2600 John Levine schrieb: > According to Thomas Koenig : >>> I was not around, but my impression is that by time of creation of UNIX >>> it was a common understanding. For example, DEC supplied RSX-11 with >>> DCL at about the same time [as UNIX got Thompson shell) and I never >>> heard that anybody considered it novel. >> >>The Thompson shell was still restricted to GOTO (as was the RSX-11 >>shell). > > You're probably thinking of the Mashey shell. Disclaimer: I never worked on those old systems, my first UNIX experience was with HP-UX in the late 1980s (where I accidentally landed in vi and could not get out, but that's another story). >One of the first usenix > tapes has patches I wrote in about 1976 to add simple variables with > single character names to that shell. It was an improvement, but the > Bourne shell was way better. https://grosskurth.ca/bib/1976/mashey-command.pdf (written by Mashey) credits the original shell to Thompson, so I believe we are talking about the same shell, just with different names. > Re when this stuff was invented, I did some work on CP/67 when I was > in high school in about 1970 and I recall that even then people > routinely ran files of CMS commands. Don't remember whether there were > variables and control flow or that came later with REXX. Hmmm... I looked at https://bitsavers.org/pdf/ibm/370/VM/370/Release_1/GX20-1926-1_VM_370_Quick_Guide_For_Users__Rel_1_Apr73.pdf and found a reference to $LOOP and a reference to "tokens" (which I suppose are variables), so that definitely predated the UNIX shells.