
RFC: Replace Java with Go in default languages - patrickg
http://gcc.gnu.org/ml/gcc/2013-11/msg00153.html
======
guelo
This "default languages" issue seems to be mostly about testing the gcc
backend. Looks like the consensus forming in that thread is that Ada would be
better than Go for this purpose.

------
aray
Ian Lance Taylor (GCC Go maintainer) replies with a bunch of reasons why that
wouldn't make sense[1]. Even as a golang fan, I have to agree with him that
maybe it's not yet time for Go to be a default language.

[http://gcc.gnu.org/ml/gcc/2013-11/msg00155.html](http://gcc.gnu.org/ml/gcc/2013-11/msg00155.html)

------
jlgreco
If GCJ is to be removed as a default, and GCC-Go added as one, (I don't really
have the expertise to say if doing those things is merited) then they should
be done as two discrete changes: _" GCJ was removed as a default.
Incidentally, GCC-Go was added."_

Trying to frame it as one discrete change is just going to get people
needlessly emotional _(if it hits the 'technews sphere' where editorializing
and sensationalism reign supreme. Everyone seems level-headed in the mailing-
list discussion for now.)_

~~~
kwantam
But there is a technical justification for making both changes at once.

Specifically, there is worry that removing GCJ and associated test suite will
exercise fewer code paths in the collection, and the claim is that adding go
will cover one obvious subset of these (-fnon-call-exceptions).

If you read down the thread further, Ada has been suggested as a better
replacement than Go to keep test coverage, since it builds on more machines
and actually does a better job of exercising otherwise unused code paths.

~~~
RamiK
Honestly? The mailing list makes it sound like GCC is so convoluted it
requires an entire front-end implementation as a test suit.

I'm not saying it's true or anything. Just calling it like I see it...

~~~
bebop
How would you run a test suite without a programming language?

------
atgreen
I worked on gcj many years ago, and while I suppose it is sad to see it fade
from view, I think most of us really felt like we had achieved our goal when
Sun created OpenJDK and adopted the license we created (GPL + Classpath
Exception).

~~~
pjmlp
I always thought the goal was to have a AOT compiler for Java.

There are lots of those for Java, but OpenJDK isn't one of them.

~~~
atgreen
An AOT compiler was definitely the primary goal in the early years (my
employer was contracted to deliver one for embedded developers). However, for
a few of us at least, the main driver eventually became just to have a Free
Software implementation of a high-performance Java-compatible toolchain and
runtime for Linux. An AOT compiler based on GCC seemed like the best way to
get there at the time. And for a while we were right. The GCJ compiled Eclipse
was faster than any JIT-compiled Eclipse a few years back.

~~~
pjmlp
Thanks for the feedback.

I still remember downloading Blackdown Java.

------
justincormack
Sounds like gcj should just be killed off.

They clearly recognise the test suite takes too long to run, but it takes time
to fix.

~~~
sitkack
Why use gcj now that [http://www.robovm.org](http://www.robovm.org) exists?

~~~
pjmlp
Because RoboVM is mostly concerned to compiling Java to native code for iOS
devices.

Other backends are not as mature.

