Hacker News new | ask | show | jobs
by Solar19 2472 days ago
I like it. What would also be cool is another Go compiler and linker, developed by a different team not at Google. It would be good for the ecosystem and performance if there was more than one compiler and runtime.

I think there would be a market for a proprietary compiler and maybe an IDE to go with it — if the performance was better than the open source one. I think this is achievable because as good as Go's performance is now, there's still a lot of headroom. Google isn't exploiting modern CPUs very well, and the linker is not doing extensive LTO.

The biggest constraint is the blazing fast compile times. A compiler and toolchain that was able to take some time for optimization might deliver markedly better runtime performance.

4 comments

GCCGo,llgo and tinygo are different Go compilers built and maintained by different peoples
Curious enough; we're working on just that, a commercial compiler and ide for Go. A go compiler that can compile for .NET, native Windows, native Linux and native OSX. Haven't done much performance analysis yet, the IDE and and compiler are a first priority now, and are almost done.
> I think there would be a market for a proprietary compiler and maybe an IDE to go with it

There may be a market but not large enough to pay few top notch compiler/low level system software hacker. I only know of a commercial Go IDE and constant refrain there is how will a poor third world developer afford it. Though I feel real issue is developers are raised on diet of free software feels entitled to it. Paying for good software seems alien to them.

gccgo perhaps?
I don't think that would be appropriate since Golang isn't (to my knowledge) under the GNU license.

Maybe gocc?

I think you may misunderstand the nature of the post: https://golang.org/doc/install/gccgo

It's a thing that exists, not a proposal.

I did, in fact! Thanks. :)

I thought it was just spitballing an alternative name.

Software licenses don't really matter if you implement the Go language spec with your own code.

It's only when you want to share code with other implementations that software licensing enters the picture. Gccgo manages to share most of the standard library with the golang.org implementation, so they appear to have the licensing figured out.

I brought up the licensing originally since I thought they were spitballing a name and the "g" in "gcc" originally stands for "GNU."

So I was saying (mostly tongue-in-cheek) that it probably wouldn't be appropriate.

Sorry for the confusion, and I appreciate the clarification here too. :)