• 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
1,836
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?
 

Chuck(G)

25k Member
Joined
Jan 11, 2007
Messages
39,376
Location
Pacific Northwest, USA
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.
 

krebizfan

Veteran Member
Joined
May 23, 2009
Messages
5,425
Location
Connecticut
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.
 

lowen

Veteran Member
Joined
Jan 16, 2014
Messages
1,515
Location
Western North Carolina, USA
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."
 

krebizfan

Veteran Member
Joined
May 23, 2009
Messages
5,425
Location
Connecticut
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.
 

Al Kossow

Documentation Wizard
Joined
Sep 1, 2006
Messages
2,810
Location
Silicon Valley
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
 

lowen

Veteran Member
Joined
Jan 16, 2014
Messages
1,515
Location
Western North Carolina, USA
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.
 

alank2

Veteran Member
Joined
Aug 3, 2016
Messages
1,836
Location
USA
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.
 

Chuck(G)

25k Member
Joined
Jan 11, 2007
Messages
39,376
Location
Pacific Northwest, USA
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.
 

g4ugm

Veteran Member
Joined
Feb 22, 2011
Messages
2,745
Location
NorthWest England (East Pondia)
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...
 

1944GPW

Veteran Member
Joined
Apr 26, 2011
Messages
632
Location
Brisbane, Australia
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.
 

krebizfan

Veteran Member
Joined
May 23, 2009
Messages
5,425
Location
Connecticut
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.
 

Chuck(G)

25k Member
Joined
Jan 11, 2007
Messages
39,376
Location
Pacific Northwest, USA
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.
 
Top