I quite understand their critic.

   - GC sometimes causes me problems that result in me writing part of my 
   code in C++ or ASM. But over the last 10 years the GC seems to be mostly 
   improving and that is rarely a problem for me.
   - I used to write engineering, accounting, and legal apps that ran on 4k 
   RAM on dual tape drives. Go is a real memory hog. But memory is cheap and 
   plentiful and my time has value and Go lets me be three times as productive 
   as C++.
   - I have written some real dog programs in Go, my son Daniel had to 
   profile, clean up, refactor, and get things to where it was faster, used 
   less memory and did not suffer delays. Just because Go is easy to use does 
   not mean that novices can always create high-quality code using Go.

I understand why they would make this decision for their use case but I do 
think that they are somewhat short-sighted and flawed in thinking only 
about certain specific details that can easily be overcome with profiling, 
optimization, and additional programmer training. Using Go may seem easy 
but after using it for ten years, I find that I am still learning how to 
use the language, but the investment of time is yielding very real 
dividends. If you want instant gratification and gotta have it now, then 
maybe Go is not your best choice, it is more of a long term investment.

On Tuesday, February 25, 2020 at 11:22:11 AM UTC-6, Jon Conradt wrote:
>
> The Fuchsia Programming Language Policy 
> <https://fuchsia.googlesource.com/fuchsia/+/refs/heads/master/docs/project/policy/programming_languages.md#Go>
>  gives 
> some insight into the experience the Fuchsia team has had with Go, and it 
> doesn't sound good.
>
> "The Fuchsia Platform Source Tree has had negative implementation 
> experience using Go. The system components the Fuchsia project has built in 
> Go have used more memory and kernel resources than their counterparts (or 
> replacements) the Fuchsia project has built using C++ or Rust."
>
>
> The Fuchsia Platform Source tree is defined as "The *Fuchsia Platform 
> Source Tree* is the source code hosted on fuchsia.googlesource.com."
>
> Their conclusion, and each language has some issues is pretty severe.
>
>    - Go is not approved, with the following exceptions:
>       - *netstack*. Migrating netstack to another language would require 
>       a significant investment. In the fullness of time, we should migrate 
>       netstack to an approved language.
>    - All other uses of Go in Fuchsia for production software on the 
>    target device must be migrated to an approved language.
>
>  That's a shame. I was hoping that Fuchsia would provide a way for Go to 
> have a nice GUI.
>
> Two of the issues listed as cons include the toolchain producing 'large 
> binaries' and the related issue of their being a 'substantial runtime.' It 
> seems to me that both of these issues can be addressed through some of the 
> techniques used to build tiny Docker images from Go, but I suspect they 
> would like to have a much simpler route, e.g. a go build flag.
>
> Jon
>

-- 
You received this message because you are subscribed to the Google Groups 
"golang-nuts" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to golang-nuts+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/golang-nuts/2aa45252-c340-48ca-a464-03e0208b73c4%40googlegroups.com.

Reply via email to