Clang - what is the story?

Chad Perrin perrin at
Sun Jan 22 12:37:48 UTC 2012

On Sun, Jan 22, 2012 at 07:06:04PM +1000, Da Rock wrote:
> On 01/22/12 17:45, Chad Perrin wrote:
> >
> >A couple years ago, it looked like a race between PCC and TenDRA, but
> >Clang seemed to just come out of nowhere and steal all the attention.
> >All three of them had a lot to recommend them, but then the TenDRA
> >modernization project evaporated and everybody jumped on the Clang wagon.
> >At least, that's how it looked to me.
> Wow! I'm going to have to do some more research on compilers- I've
> never heard of these until now...
> I sound pretty stupid don't I? :P

Nah.  TenDRA was pretty obscure except in certain circles related to DRA,
I think -- and DRA (Defense Research Agency), something like a UK
equivalent to the US DARPA (Defense Advanced Research Projects Agency),
ceased to exist in the mid-1990s, making it and anything related to it
even more obscure since then.  I don't know whether DERA (which replaced
DRA) did anything with TenDRA.

I almost forgot that in addition to the TenDRA project, there was also
the Ten15 project; TenDRA had forked somewhere along the way.  As far as
I'm aware, Ten15 was farther out of date and less actively developed at
the time I was talking to TenDRA developers and offering a little bit of
help with that project.  I never really got involved with Ten15 at all,
so my knowledge of it is *really* scant.

PCC (Portable C Compiler), meanwhile, spent many years essentially unused
except in some of the dustier corners of Unix user communities before
being actively developed again as more and more people started wanting a
copyfree C compiler alternative to the very copyleft GCC.  PCC was a big
deal for a while, and I think most C compilers were based on it to some
extent in the early '80s, but its influenced waned enough that GCC
replaced it pretty much everywhere by about the same time DRA went away.

As things stand now, I don't think anyone is actively developing TenDRA
(and in fact I wonder if all the more recent work on it has been lost),
but the modern PCC project reached 1.0 release last year and is reputedly
building OpenBSD kernels without a hitch.  There has been some talk of it
being the GCC replacement for OpenBSD and maybe even NetBSD, though I
seem to recall Theo de Raadt doesn't consider replacing GCC a very urgent
requirement right now (which might be part of the reason AerieBSD
explicitly prioritizes rejecting copyfree software after it forked from
OpenBSD, though that's just speculation by me, based in part on the fact
it appears PCC is in the AerieBSD base system).

Another option that hasn't been mentioned -- and I don't think it was
ever really considered for FreeBSD as a GCC-replacement, but I don't
actually know that for sure -- is The Amsterdam Compiler Kit, sometimes
called TACK or ACK.  It, too, uses a BSD license, as does PCC and as did
TenDRA.  TACK is the "base system" (I'm not sure they use that word,
really) for MINIX3, I think.  Beyond that, and the fact it was originally
available only under commercial license, I don't really know anything
about it.

The reason I started writing this email was just to mention that this
stuff has all been pretty obscure compared to the much higher profile
Clang and GCC projects.  That common thread should, I hope, be clear in
my descriptions of the various projects I mentioned, so no -- I don't
think you sound pretty stupid for not knowing about them.  In fact, to
reach the level of "stupid", I think you'd have to be one of the
dismaying number of people in the Linux world who kludge together C code
and apparently aren't aware there are any C compilers available that
don't come from the GNU Project or Microsoft, or the craptons of Visual
Studio developers who have never realized C can be compiled without
Visual Studio.

(Clarification: I'm not saying all Linux-based C hackers are stupid, nor
even that all coders who use Visual Studio are stupid.  There are a lot
of smart people in both groups.  I just don't know of anyone who doesn't
realize there's more than one or two C compilers currently maintained
except for some members of the above-mentioned groups.)

Chad Perrin [ original content licensed OWL: ]

More information about the freebsd-questions mailing list