• Please review our updated Terms and Rules here

C compilers - were there any between the first one (Unix) and the CP/M ones?

alank2

Veteran Member
Joined
Aug 3, 2016
Messages
2,256
Location
USA
I wonder about this zone of history, was there C compilers between the first one on Unix and the many that I've seen for CP/M?
 
There was/is(?) a C for the Burroughs systems running under MCP, so not Unix.

But most mainframe/mini Cs were the result of needing to host Unix. That is, the language was not selected on its own merits. One might as well talk about FORTH for the Cray X-MP.

Compared to most mainframe HLLs of the time, C was pretty anemic. I admit that I wasn't taken with K&R C all that much. It wasn't until much later that C standardized on some important features.
 
The version of DECUS C I looked at has a CC.DOC from 15-OCT-81 which has an appendix A that lists CBUGS.DOC of 17-SEP-80. Presumably to have a buglist, there would have had to be earlier versions.
 
In the document at the link I posted, see page 8, section 10.0: "Decus C was first distributed to the "wider world" on an RSX-11MSIG tape in 1978. It was first distributed to Decus --as11-SP-18 --in November 1980."
 
Given the query involved C compilers, that should give a range between 1973 when C on Unix appeared in public and 1979 when BDS C for CP/M appeared or perhaps a few years later when C compilers for CP/M implemented a larger portion of C.
 
DECUS C is a conversion of Unix V6 assembly language C compiler to MACRO-11 done by Dave Conroy

Whitesmiths was the first company to produce a C compiler outside of Bell Labs. It was created before the Standard I/O library, so
it has its own version which is unlike either V6 or V7. There was a version for the 8080/Z80.
https://en.wikipedia.org/wiki/Whitesmiths
 
Thanks for the further information, Al. Whitesmiths C is credited as the first commercial C compiler, and you're absolutely correct that it was also the first that wasn't derived from the Unix C.

Later, in 1980, Small C was first released. An interpreter version was done as well. It's not strictly a CP/M C compiler, but certainly came after Whitesmiths and BDS-C.

But as far as the original question, the answer is simply that yes, there were C compilers available in the window between the first C on Unix and the several on CP/M.

Incidentally, K&R wasn't published until 1978.
 
The Wikipedia page on Whitesmiths is fascinating. Apparently it was also a cross compiler and they build a Pascal to C front end for it too. They were involved in ANSI C as well.
 
In the mid 80s, I was involved in a venture to produce a supercomputer Fortran-90 (standard still being haggled over in X3J3). Changing languages was mostly a matter of rewriting the front end; the back end took a tree structure as input. We also produced an optimizing C compiler using the same back end.
 
There were IBM 360 and Honeywell L66 implementations of the V6 compiler but as far as I can tell non still exist, although until recently their influence still persisted in the "C" standards, for example the limits on the length of external names...
 
The earliest mention of the C language I can find in Dr Dobbs is a news release 22nd June 1978 which appears in issue #27, August 1978 titled "TINY-C INTERPRETER FOR THE 8080 and PDP-11" (see page 309 of http://6502.org/documents/publications/dr_dobbs_journal/dr_dobbs_journal_vol_03.pdf).
Up till then, DDJ's first two years was completely enthralled with all matters of BASIC, Tiny BASIC, MINOL, BASEX with the odd reference to micro APL's.
As a side note DDJ's first mention of UNIX was in Volume 2, Issue 7 August 1977.
 
Tiny-C is very limited: 16-bit integers, no floating point, no for statement. It is barely enough of a C interpreter to run introductory C programs on a micro.
 
To be fair, Tiny C was intended as a teaching tool.

Both the PDP-8 architecture and the 8080 one are not well-suited to C, as they both lack instructions for procedure-local storage. At least the 8080 has a stack, but no direct stack-relative addressing modes.

Pascal was starting to generate some real interest in the 8-bit community in the late 70s.
 
Back
Top