From mboxrd@z Thu Jan 1 00:00:00 1970 MIME-Version: 1.0 In-Reply-To: References: <201503112030.t2BKU71p008530@skeeve.com> Date: Thu, 12 Mar 2015 15:23:32 +0000 Message-ID: From: Charles Forsyth To: Fans of the OS Plan 9 from Bell Labs <9fans@9fans.net> Content-Type: multipart/alternative; boundary=f46d043c7ccc7b9880051118f7d5 Subject: Re: [9fans] ken cc for linux Topicbox-Message-UUID: 494d4a56-ead9-11e9-9d60-3106f5b1d025 --f46d043c7ccc7b9880051118f7d5 Content-Type: text/plain; charset=UTF-8 On 12 March 2015 at 10:06, Charles Forsyth wrote: > I've used it and lib9 in several other projects where other compilers > couldn't be used for licensing reasons, or because they were awful. > I'll add that the compilers are great for kernel and other New World systems work. Once stable on a given platform, they've been quite robust (I never suspect them at the start as a bug cause). Code quality is rarely a bottleneck for systems work in my experience (and there's a good reason that removing -O3 is a way to fix bugs with other compilers). If I were writing scientific computation, I wouldn't use C anyway, but if I did, I'd worry much more about the effectiveness of optimisation. For systems work? It's really, really low on the list. The cross-module type checking has also spotted a few things that every other compiler missed. Cross-compilation is easy and precise, with next to no configuration required, unlike nearly all the others; I rely on that a lot. It's worth the price of entry for that alone, for me, having suffered with gcc on an old OS project of mine; I'd never use it again for anything new. (Obviously I still use gcc for the 8 hour[!] Linux kernel compiles and builds.) lcc used to include all the code generators, so I suppose that would be just as good, except that it spits out assembly and you have to rely on external components, which still leaves you cross when attempting to cross-compile. --f46d043c7ccc7b9880051118f7d5 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable

= On 12 March 2015 at 10:06, Charles Forsyth <charles.forsyth@gmail.= com> wrote:
I&= #39;ve used it and lib9 in several other projects where other compilers
=
couldn't be used for licensing reasons= , or because they were awful.

I'll add that the compilers are great for kernel and ot= her New World systems work.
Once stable on = a given platform, they've been quite robust (I never suspect them at th= e start as a bug cause).
Code quality is rarely a bottleneck for systems work in my experie= nce
(and there's a good reason that rem= oving -O3 is a way to fix bugs with other compilers).
If I were writing scientific computation, I wouldn't use C a= nyway, but if I did, I'd worry
much mor= e about the effectiveness of optimisation. For systems work? It's reall= y, really low on the list.
The cross-module type checking has also spotted a few things tha= t every other compiler missed.

Cross-compilation is easy and precise, with next to no con= figuration required,
unlike nearly all the = others; I rely on that a lot. It's worth the price of entry for that al= one, for me,
having suffered with gcc on an= old OS project of mine; I'd never use it again for anything new.
=
(Obviously I still use gcc for the 8 hour[!] Lin= ux kernel compiles and builds.)

lcc used to include all the code generators, so I suppose that would = be just as good, except
that it spits out a= ssembly and you have to rely on external components, which still leaves you= cross when attempting
to cross-compile.




--f46d043c7ccc7b9880051118f7d5--