Hmmm.. I was thinking of keeping out of this food fight, but a couple of comments concern me a little as they seem to differ from the history as I recall it.

@Branden, your observation of the font differences is exactly what I remember between the C/A/T-4 and the APS-5. I never used the Merganthaler, so I can not comment.

Anyway -- here is what I remember from those days.

On Fri, Jan 5, 2024 at 11:07 PM Mychaela Falconia <falcon@freecalypso.org> wrote:
However, troff in 1978 was still completely, utterly incapable of driving
anything other than a C/A/T! 
For the original two versions of troff, that is a true statement, but I suspect that you might be in error; for those of us who lived in the era, I remember the details of the details differently, and the 3rd version was available in that timeframe. 

@Jon S - please feel free to chime in/update/correct my memory -- you lived this period as an Explorer Scout
Now bwk, the author of this doc, is the very same fine gentleman who wrote ditroff, the creature that was
finally capable of driving a Linotron 202 or Autologic APS-5 or whatever
This is true - although I believe that the processor was from Autologic, the typesetter was from Alphanumeric Corp.

 
- but the timeline does not match up. 
Hmmm - I think that they do.

 
BWK's troff tutorial is dated 1978-08-04,
That sounds about right and would have been when a lot of this topic was starting to be discussed.

 
but his work on ditroff (as I understand it)
happened some time around 1980 or 1981.
Brian worked on the second edition of ditroff in the early 1980s [which is in the AT&T Tool Chest], but an earlier version was released on its own (well bundled with a new C compiler - but as a separate "product" (sort of), you could get Al Arm's folks - i.e., the Tool Chest does not yet exist),  Note that this version spurred the name of the new C compiler for the 1978 version of the K&R (which I thought was set on the APS-5 for the first version - although it may have been on the Meganthaler).    While I still have a first edition, at one time, I had a copy of the proofs, which I got from tjk in late 1977 IIRC - it might have been the Fall of '78 [sadly, I think those pages were lost in the flood of a few years ago, as I have not seen then in my files].

  He may have started ditroff work in 1979, but definitely not in 1978.
Well, the ideas for ditroff started before Joe died ('76/'77 timeframe), although Brian probably did not really start direct work in it until '78 -- taking over for Joe; he was there initially.

Ok, so here goes how to date things in my mind... [note: a few internet searches should validate some/most/if not all of these dates]
  • Joe Ossana wrote the original troff in PDP-11 assembler in the early 1970s ['73, I think]
  • He rewrote it around '75 in C - both versions target the Singer GSI C/A/T (Computer Assisted Typesetter) - C/A/T-4 typesetter (FWIW: Wang bought the rights to GSI later, but that's not relevant to the story.  [Those that remember the C/A/T, it worked but had several interesting issues, and it was expensive to operate].
  • Alphanumeric Corp released the Alphanumeric Photocomposition System (APS) #5 in 1976 using an Autologic-73 mini to drive it.
  • AT&T (Computing Facilities/Documentation center folks) decided to buy one or more APS-5, although Research went for a Morganthaler to replace the GSI unit (there is a wonderful article about Ken and Co - hacking the Morganthaler -- I think we have it on TUHS -- I know I have a copy somewhere).
  • Discussions about making troff more independent of the output device began, and Brian was certainly part of that.
    • Remember, compiler people in those days had started to go to the idea of an ISA intermediate language and make the ISA-specific "back-end" a separate thing.  So, the idea of a typesetter independent "IL" and the target program followed and certainly was part of that discussion.
  • Ossana died of a heart attack (in the hospital where he was recovering from an earlier one, IIRC) on 28-Nov-77.
  • Note: Research is running the Sixth Edition at this point.
  • Through the Sixth Edition, most C programs did I/O themselves via read/write (like the C troff had), although Mike Lesk's Portable C Library had started to be available ?? with V5 IIRC ?? But it was distributed with V6 (see the V6 doc directory for iolib), and a few people (I knew in those days) seemed to be actively using it.  Plus, iolib has some interesting schemes, like using "-1" as the first parameter to printf(3) or scanf(3) to say things were "special." [I'll let the reader go find a copy - it's a fun read. I remember using iolib when I first learned C back in the day].
  • Brian has already been developing the new device-independent version of troff to target the C/A/T-4, Linotron 202 (Meganthaler), and APS-5 (I'm not sure if the latter two had been delivered when he started, but they were on the horizon and POR as it were, so the need to support them by then was real].
  • During his development of the new system, Brian wanted some changes to C itself to make writing this system easier, but most importantly, he pushed Dennis for some standardization for the I/O. 
  • So Dennis updates C, including his new libS.a - which is the new Standard I/O  library - a.k.a. <stdio.h>. 
  • Brian is now the Editor/Convener of the new CS Book Series for PH [which would eventually push out a lot of titles many of us have at least read if not in our collection -- I would become a reviewer for a number of them].
  • Also, Dennis and Brian started to write what would become K&R, which is the dialectic of the language the book describes. 
  • V7 is still about a year in the future.
  • Troff had leaked at our labs in the Universities, and some of us had it in source, but most everyone at least had the original binary.  In fact, the University of Toronto would write their version of that [which is related to Tom Ferrin's from UCSF - which is where I got it, but Rob has made me think Tom started with UT's version.
  • Many of us wanted it formally and were pushing Al Arms in AT&T's Patent and Licensing office to get a distribution of it (pre-Judge Green, so what we can get and what cannot is often a little dicey).    This would be released in late '78, requiring Dennis' new C compiler with the libS.a to compile.
  • K&R was about to be published, so Dennis knew that we needed a way to seed and "update" the community.
  • The result was the original release, which included a new C compiler (which cost extra money) -- but that is why many of us refer to this flavor of C as 'Typesetter C."  
  • The V7 Ritchie C compiler would be a slightly improved version of the one in the typesetter release.
Anyway - the point is (I believe that) the second release of ditroff (ditroff2, if you will) is what you are referring to as the later 1980s version.  This was primarily available via the Tool Chest -- i.e., is post Judge Green.