If this is your first visit, be sure to
check out the FAQ by clicking the
link above. You may have to register
before you can post: click the register link above to proceed. To start viewing messages,
select the forum that you want to visit from the selection below.
It wasn't too long ago that the main Go compiler was still based on Ken Thompson's C Compiler for Plan 9.
Having many compiler implementations is a good thing. Look at the number of C or C++ compilers in the wild (over 100).
One of the biggest gripes of the C# language is that almost all working implementations are owned by Microsoft.
It wasn't too long ago that the main Go compiler was still based on Ken Thompson's C Compiler for Plan 9.
Having many compiler implementations is a good thing. Look at the number of C or C++ compilers in the wild (over 100).
One of the biggest gripes of the C# language is that almost all working implementations are owned by Microsoft.
Yeah, well, having many compiler implementations that produce slightly incompatible binaries isn't that great. I'm sure that's not a problem for Go, but it could be if compilers start to proliferate.
For C/C++ there are official standards (like C99, C11 or C++14, C++11). If you compiler implements them correctly, it's guaranteed that any program written in that standard (pay attention to undefined behaviours) will run the same as intended.
if Go compiler start to proliferate, you know there are going to be clear standards and test suites involved.
(Too many people have been burned by some idiocies with (sun vs microsoft) Java to let it happen again).
One of the things I like about Go is that the official Go compiler and the Go standard library is all written in Go.
The first iteration of the self-hosted Go compiler was almost entire machine-translated from C. Since then, most of it has been massaged to fit Go idioms. The standard library has always been held up as code worth reading to learn idiomatic code.
gccgo made the most sense (to me) for platforms not supported by the official compiler. gollvm, in my mind, makes sense as a replacement to gccgo, less so as an addition.
Comment