> Reading through [1], there are documents offered by AT&T for the "Level II COBOL" system, which some further research indicates is a product from Convergent (same folks as the UNIX PC.) There's also the LPI-COBOL which appears to be a Language Processor Inc. product.
Ryan-McFarland comes to mind: in my recollection they were the leading Cobol on small machines in the early 80’s. Ryan-McFarland’s predecessor company Digitek was contracted to do the PL/I compiler for Multics, but failed. It seems they later did Bell Labs PL/I (says https://en.wikipedia.org/wiki/Digitek) I think they did a Unix version of their Cobol in the mid/late 80’s as well.
A few years ago I tried to find out more about RM-Cobol as it existed in the late 70’s and early 80’s, but with little success. As a product it survived till the present day under the ownership of Micro-Focus and most web mentions are for more recent versions.
It would seem to me that compilers on machines with small memories and word sizes in the 60’s, 70’s and even 80’s tended to compile to a virtual machine / intermediate code -- sometimes with the option to compile to native from there. Think BCPL and o-code, Pascal and p-code, the Amsterdam Compiler Kit and m-code, the Microsoft “revenue bomb” p-code C compiler, etc. According to the above Wikipedia article RM-Cobol used the same approach. I did once see the source for another 80’s Cobol compiler and it compiled to a virtual machine with 60-bit words.
By the way, I loved the recent posts on B and NB. THUS at its best!
Reading through [1], there are documents offered by AT&T for the "Level II COBOL" system, which some further research indicates is a product from Convergent (same folks as the UNIX PC.) There's also the LPI-COBOL which appears to be a Language Processor Inc. product.
Are these the earliest AT&T endorsed COBOL solutions for UNIX or were there other efforts either promoted by Bell or even perhaps developed locally that were in any use before this version? Or otherwise is there any other family of ubiquitous UNIX COBOL tools that was in use in the 70s and early 80s, before the timeframe of this document?
Additionally is anyone aware of any surviving code or binaries of either of these or other, earlier efforts at COBOL on UNIX? I have no goal for this information in mind yet, but just gathering details at this point. Thanks all!
- Matt G.
[1] - http://bitsavers.org/pdf/att/000-111_ATT_Documentation_Guide_Nov87.pdf
So there's been quite a bit of talk about B recently (mostly from my
side) and right now I feel that I've reach an interesting enough
milestone to warrant a separate thread for this here.
First of all, I want to stress that this is still WIP,
but everything can be found here now:
https://github.com/aap/b/tree/master/unix1_bdir
In this repo you will find the following:
- bc and ba that can build themselves
(I've included .s files so everything can be bootstrapped
easily).
- libb and bilib in source form from object/library and binary files of
the s2 tape
- brt1 and brt2 restored from binary files of the s2 tape
- olibb, obilib and obrt1, older versions of the above
- a version of ba that does not generate threaded code but an
interpreted code more like the pdp-7 code.
ken told me such a thing existed at one point and indeed it is
the only way to fit the compiler into 8kb/4kw
- an implementation of this interpreted code. With this bc and ba
fit into 8kb
Note I have only tested this under apout so far. The version I used [1]
needed two tweaks, but see my README.
With this I was able to build the recently reversed B programs [2] and
produce exact matches to the originals (modulo assembler differences).
In that process I found a few mistakes I made, now the programs are
exact.
I want to thank everyone who was of help in this endeavour in one way or
another:
Ken Thompson, Phil Budne, Robert Swierczek, Steve Johnson, Warren Toomey
What's left to do now is to actually run this under UNIX v1 proper,
preferably even on a real machine. I've been too lazy for that so far.
Also there are inaccuracies and unknowns in the compiler and assembler.
Right now the intermediate code is a binary code that's easy to generate
and to parse, but if I understood ken correctly the intermediate code
was more like something the PDP-7 assembler could deal with.
I'm also rather unsure how to handle the conditional ?: operator. The
printf.o file shows that it produces labels that are in line with all
the other labels. Now the C compiler uses labels starting at L10000
for the ones generated in the second pass. So it *feels* like the
conditional should be generated by bc directly and not by ba but this
leads to other problems, which I won't go into detail now.
Finally the code should probably be a bit closer to the C compiler than
it currently is.
Cheers,
Angelo
[1] https://github.com/philbudne/pdp11-B/tree/pb/tools/apout
[2] http://squoze.net/B/programs/
> From: Diomidis Spinellis <dds(a)aueb.gr>
> I seem to recall reading that the power of Unix stems from the wise
> choice of a few design principles rather than the endless accumulation
> of special cases. However, I cannot find where this is stated.
I think you're thinking of something in the CACM paper:
https://www.bell-labs.com/usr/dmr/www/cacm.html
"The success of Unix lies not so much in new inventions but rather in the
full exploitation of a carefully selected set of fertile ideas"
Noel
I seem to recall reading that the power of Unix stems from the wise
choice of a few design principles rather than the endless accumulation
of special cases. However, I cannot find where this is stated. I tried
a Google web and a Google Scholar search using the terms "unix endless
accumulation special cases", and I also asked ChatGPT for a publication
associated with this phrase. I also searched for "special" in
D.M.Ritchie's "The Evolution of the Unix Time-sharing System" and "The
UNIX Time-sharing System A Retrospective". (Amazingly, both have
several parts that still highly relevant.)
Can anyone help? Am I misremembering something?
Howdy folks, I just wanted to pass on word that there is currently a stack of 1983 System V documents on eBay, here's a link to the User's Manual: https://www.ebay.com/itm/225659365754
The same seller has these documents available in their shop (as well as a bunch of other old computing documents and magazines):
- User's Manual
- Administrator's Manual
- Error Message Manual
- Operator's Guide
- Graphics Guide
- Transition Aids
- Release Description
So not the whole lot, but a nice spread nonetheless. I've already got all of these and they're already all scanned in some fashion or another, or I'd have scooped em up already.
Anywho, figured that might pique folks' curiosity. The pricing is very agreeable might I add, sometimes I see single volumes from this set going for over $100.
- Matt G.
I have a copy of Lions's "A Commentary on the UNIX Operating System" It is
an n-th generation photocopy that I've had for some number of decades. It
also has the source code, as I guess all of those copies did back in the
day. I could just recycle the paper -- it's yellowed with age -- but I'd
rather pay it forward and ship it to someone who promises to make copies
for others who want it. This is also on bitsavers, so you're only doing
this to preserve the sense of history in passing photocopies around.
I'll take bids on how many copies you'll provide. I'll post the winning bid
(without their address), so that the community can pressureXXXXXX ensure
they meet their commitment. I'll send it out by the end of the week.
I will give preference to US/Canada domestic addresses since that is easier
for me. How much preference is left to my discretion. :)
I hope this doesn't make me sound like a jerk; it's intended to be
lighthearted community service.
> What is the name of the mathematic symbols
Here are some readings, not exactly names
incl (used with partial orderings) is included in, or is less than
|> is not greater than
|< is not less than
<wig
>wig
wig is approximately, or asymptotically approaches
~wig is approximately
Doug
I had an experience similar to Tom London's:
To: alice!rob
Subject: you've spoiled me
I can't believe it. I'm sitting here at home in front of my
2621, and I can't work.
Damn it. I've got to get a blit at home.
When I left Bell Labs, I had an X11 workstation at work, but
only a simple terminal at home. Having used a Jerqblit5620 for
years at both work and home, I found it incredibly limiting.
After a year or so I came across a reseller who had a lot of
off-lease 5620s for sale cheap (like USD 150 or so each). I
asked around the university I now worked at, found a handful
of other people who wanted in, and then a local small company
who did System V system-administration consulting who wanted
some for themselves, and were willing to handle all the paperwork.
All that allowed us to negotiate the price down even more.
In the end I bought six, of which I think four are still working,
though I haven't turned any of them on for years.
None of the Unixes I used at the time came with 5620 support,
but the protocol for the basic window system built into the ROM
was well-documented and I managed to roll my own host support.
I also managed to cobble up my own binary-loading tools sufficient
to get sam working (I forget how I compiled the binary for the
terminal); that was rather more work, but it was worth it to
be able to have sam and multiple windows from home, even though
it was the ROM OS and therefore mpx rather than mux.
I remember porting my version of the host code to Ultrix,
SunOS 4, and IRIX.
My workplace at the time had a little bit of VAX/VMS around.
I didn't use that much but wanted to try porting my host code
to VMS as well. VMS had had a C compiler for some years and
some sort of pseudo-terminal for a shorter time, so it ought
to have been possible. I didn't get around to it before we
finally left VMS behind in the dustbin of history. I wish I'd
found time to do it, just to show that there really was nothing
Unix-specific about the idea or the implementation. It's just
a multiplexing protocol; it needs no kernel support except that
needed to run a command-line session not attached to a physical
terminal, and networking has long since made that available on
any competent OS.
Norman Wilson
Toronto ON