From owner-freebsd-questions@FreeBSD.ORG Sun Jan 22 12:37:48 2012 Return-Path: Delivered-To: freebsd-questions@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 3E6A7106566B for ; Sun, 22 Jan 2012 12:37:48 +0000 (UTC) (envelope-from perrin@apotheon.com) Received: from oproxy9.bluehost.com (oproxy9.bluehost.com [IPv6:2605:dc00:100:2::a2]) by mx1.freebsd.org (Postfix) with SMTP id F2AD98FC0A for ; Sun, 22 Jan 2012 12:37:47 +0000 (UTC) Received: (qmail 4512 invoked by uid 0); 22 Jan 2012 12:37:47 -0000 Received: from unknown (HELO box543.bluehost.com) (74.220.219.143) by oproxy9.bluehost.com with SMTP; 22 Jan 2012 12:37:47 -0000 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=apotheon.com; s=default; h=In-Reply-To:Content-Type:MIME-Version:References:Message-ID:Subject:To:From:Date; bh=K2UL3WX2LcOO8CqMSIjP/fDYU9wV9spCs5RGK0o+n7A=; b=Q5uoFIFQcxomPpGi63sPGiVqM06WkiBqMs9V0ZcegV0zB3M6vwr48+S2gPGAr+NcJpAWlVA8dcYHpp/brdQ+gfe9C9KeKixudgdhFdA7G1xJecvBqt/G/HCvhulx0c6S; Received: from c-24-8-180-234.hsd1.co.comcast.net ([24.8.180.234] helo=localhost) by box543.bluehost.com with esmtpsa (TLSv1:AES128-SHA:128) (Exim 4.76) (envelope-from ) id 1Rowg6-0005ki-W5 for freebsd-questions@freebsd.org; Sun, 22 Jan 2012 05:37:47 -0700 Date: Sun, 22 Jan 2012 05:37:48 -0700 From: Chad Perrin To: freebsd-questions@freebsd.org Message-ID: <20120122123748.GA26579@hemlock.hydra> Mail-Followup-To: freebsd-questions@freebsd.org References: <4F1AAB66.5070100@herveybayaustralia.com.au> <20120121133506.7bcfaec9@gumby.homeunix.com> <20120121154313.53d3fec6@gumby.homeunix.com> <20120122070205.GA13081@hemlock.hydra> <4F1BB640.2050707@herveybayaustralia.com.au> <20120122074558.GA22918@hemlock.hydra> <4F1BD17C.3030209@herveybayaustralia.com.au> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <4F1BD17C.3030209@herveybayaustralia.com.au> User-Agent: Mutt/1.5.21 (2010-09-15) X-Identified-User: {2737:box543.bluehost.com:apotheon:apotheon.com} {sentby:smtp auth 24.8.180.234 authed with perrin@apotheon.com} Subject: Re: Clang - what is the story? X-BeenThere: freebsd-questions@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: User questions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 22 Jan 2012 12:37:48 -0000 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: http://owl.apotheon.org ]