Comment by chii

2 days ago

> there is a complete specification for the language freely available.

and who has the ability to make changes to this specification?

Not to mention that there's really no second implementation of go for the specification, which means that google is realistically free to make updates to it that they feel necessary, and there would be no 2nd party that could object to it.

I understand your concerns with regard to what languages should be used for teaching purposes and I agree with them. But I don't agree that it applies to Go.

> Not to mention that there's really no second implementation of go for the specification,

Is that true? The GCC frontend is a little out of data with regard to the current spec but it was written to the spec as it existed at the time. Also, TinyGo matches the language spec I think. It has limited compatibility with the standard library, but the specification doesn't talk about the standard library at all.

> and who has the ability to make changes to this specification?

There's nothing stopping anyone taking the current Go specification, extending it and using the Google implementation of Go as the base for something new. Although you wouldn't call it Go in that case.

I personally like that there is a central arbiter with the final say on the specification. Admittedly, I would prefer it if it wasn't Google, but I'm not convinced a Rust like foundation model would be any better in the case of Go.