Thanks Uli and Amnon.
I'm now better understand the reason behinds, and you've list some solid point. and it's reasonable for it to work that way.
I'm here just list some possibilities:
> 1. * Go requires a garbage collector and its own scheduler (A Go without GC and goroutines is not Go.)
> 2. * Go has its own ABI and CGO calls are slow
> 3. * Rust makes guarantees about memory safety that Go doesn't do.
for 1: Is it possible that some flag or switch to enable different GC, which behavior similar to Rust.
for 2: Is it possible to make it faster.
for 3: Is it possible that Go can provide memory safety.
> Go was never meant to be all things to all people, and in an ideal world people will use the tool most suited to the job.
I guess someone may want it work more area(similar to rust to system programming?)
> Go benefits from having a very clear vision, and being designed to solve a specific problem (server/cloud programming).
Is it possible to have wider vision( that cover system programming? if I understand correctly, above issue is relate to that area), since Go is a system programming language from beginning, later changed to general programming language.
> Diluting this vision in order to cover more niche areas might not improve the language.
Is it possible for a way to not diluting this vision, and have it cover more niche(out of tree developing, etc) ?.
I realized that I want Go to cover more niche, I don't know if there's lack of resource so that Go can only pick certain area(server/cloud programming), would foundation help about this?
I would love to see Go have a nice way( genius way) to keep current elegance and simplicity and have more niche covered.
- winn