Re: [go-nuts] Fuchsia Programming Language Policy

2020-02-25 Thread Jon Conradt
It is nice to see the clarification. I can understand not using a GC 
language in the OS, but the previous wording did sound like it was 
unwelcome in their user land tools. 

Progress in getting their port of Go into the CI system would be 
encouraging. 

Jon

On Tuesday, February 25, 2020 at 8:45:34 PM UTC-8, Ian Lance Taylor wrote:
>
> On Tue, Feb 25, 2020 at 9:22 AM Jon Conradt  > wrote: 
> > 
> > The Fuchsia Programming Language Policy 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. 
>
> To be clear, the Fuchsia project has decided to not use Go in the 
> development of Fuchsia itself.  You can still run Go programs on 
> Fuchsia.  See https://fuchsia-review.googlesource.com/c/fuchsia/+/367414 
> which tries to clarify this.  That said I haven't seen much recently 
> about adding the Go port of Fuchsia to the main Go repo. 
>
> Ian 
>

-- 
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/f6c715c2-e708-453d-8d83-2399c3859d35%40googlegroups.com.


Re: [go-nuts] Fuchsia Programming Language Policy

2020-02-25 Thread Ian Lance Taylor
On Tue, Feb 25, 2020 at 9:22 AM Jon Conradt  wrote:
>
> The Fuchsia Programming Language Policy 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.

To be clear, the Fuchsia project has decided to not use Go in the
development of Fuchsia itself.  You can still run Go programs on
Fuchsia.  See https://fuchsia-review.googlesource.com/c/fuchsia/+/367414
which tries to clarify this.  That said I haven't seen much recently
about adding the Go port of Fuchsia to the main Go repo.

Ian

-- 
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/CAOyqgcWndf4h4y%3DU%3DqbSZeGmanVrFryLTO5UntpPJcO5FkbGKA%40mail.gmail.com.


Re: [go-nuts] Fuchsia Programming Language Policy

2020-02-25 Thread Jesper Louis Andersen
On Tue, Feb 25, 2020 at 6:22 PM Jon Conradt  wrote:

> The Fuchsia Programming Language Policy
> 
>  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."
>
>
>
This shouldn't be unexpected. It is the trade-off you make with a garbage
collector.

However, it should also be quantified. 33%-40% extra memory usage is
likely. 800% isn't, and would suppose there are structural problems with
the program.

If it is merely a qualitative assessment, then it falls into the category
of subjective opinion. This may be relevant, but it isn't healthy goal
setting. It would have been better if you had "Go programs we wrote
routinely use 200% of the memory of comparable C++ programs. This is too
much, and we can only accept an increase of 20%." Because then the whole
thing is actionable.

The Go garbage collector's pause times is a good example of such an
approach. Start with a conservative goal. Achieve that. Then improve it
over time.

Any program has a bar resource-wise. If you can jump over it, you should
accept the win. Moving the bar continually is usually a bad sign, in my
opinion, since the rules are now up for interpretation outside of your
direct control. So once you demonstrate you can jump high enough, it will
just be moved up a tad so you can't. "Der ProzeƟ" comes to mind :)

-- 
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/CAGrdgiUFc%2BppEB4KDkGtq_sKWg41Qpv7Hgcs4SVYYB7UYhvsAw%40mail.gmail.com.


Re: [go-nuts] Fuchsia Programming Language Policy

2020-02-25 Thread andrey mirtchovski
my take:
- c++ programmers are going to c++ program. film at 11 (rob pike had a
talk about that)
- dart has UI
- rust is fashionable, but scary (if you've done rust you'll know why)

yes, go was touted as a systems programming language, but it meant
"distributed systems". had that been made clear from the beginning all
this strife would've disappeared. u-root.org shows that go can be used
at firmware level quite handily.

On Tue, Feb 25, 2020 at 2:05 PM Manlio Perillo  wrote:
>
> And the one that is good at both memory management and concurrency has 
> properties of the language that are not yet well-understood.
>
>
> Manlio
>
> On Tuesday, February 25, 2020 at 7:21:00 PM UTC+1, Michael Jones wrote:
>>
>> Actually, you should read the whole note -- it's fun. Half of the languages 
>> are bad because of memory leaks, the other half are bad because of having 
>> GC; half are bad because of difficult asynchronism, the other half are bad 
>> because of having a runtime. etc.
>>
>> It reads like an imperiously-worded tautology about safety/power/convenience 
>> coming at a cost.
>>
>> On Tue, Feb 25, 2020 at 9:51 AM Mohamed Yousif  wrote:
>>>
>>> It seems they are betting high on Dart/flutter and their front end is 
>>> already written with flutter. The assessment seems to be pretty much the 
>>> same as for Dart.
>>>
>>> Dart won with the ui side, while go was competing with C.
>>>
>>> On Tue, 25 Feb 2020 at 7:22 PM, Jon Conradt  wrote:

 The Fuchsia Programming Language Policy 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 golan...@googlegroups.com.
 To view this discussion on the web visit 
 https://groups.google.com/d/msgid/golang-nuts/7778a387-f1f5-4ed0-8453-5b811bac4a6d%40googlegroups.com.
>>>
>>> --
>>> 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 golan...@googlegroups.com.
>>> To view this discussion on the web visit 
>>> https://groups.google.com/d/msgid/golang-nuts/CAHrL7wHqJnDnEVe4%3D--%3DcSW9oA-eYxcbKagESdZHgSkrdLutpA%40mail.gmail.com.
>>
>>
>>
>> --
>> Michael T. Jones
>> michae...@gmail.com
>
> --
> 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/a5227da6-c1ee-4754-95c4-c6bb1dd2d40f%40googlegroups.com.

-- 
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/CAK4xykW0cA8SwcDBthoAuPtuYajsEozkSRrS1uH3dC8yNWBQng%40mail.gmail.com.


Re: [go-nuts] Fuchsia Programming Language Policy

2020-02-25 Thread Manlio Perillo
And the one that is good at both memory management and concurrency 
has properties of the language that are not yet well-understood.


Manlio

On Tuesday, February 25, 2020 at 7:21:00 PM UTC+1, Michael Jones wrote:
>
> Actually, you should read the whole note -- it's fun. Half of the 
> languages are bad because of memory leaks, the other half are bad because 
> of having GC; half are bad because of difficult asynchronism, the other 
> half are bad because of having a runtime. etc. 
>
> It reads like an imperiously-worded tautology about 
> safety/power/convenience coming at a cost.
>
> On Tue, Feb 25, 2020 at 9:51 AM Mohamed Yousif  > wrote:
>
>> It seems they are betting high on Dart/flutter and their front end is 
>> already written with flutter. The assessment seems to be pretty much the 
>> same as for Dart.
>>
>> Dart won with the ui side, while go was competing with C. 
>>
>> On Tue, 25 Feb 2020 at 7:22 PM, Jon Conradt > > wrote:
>>
>>> The Fuchsia Programming Language Policy 
>>> 
>>>  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 golan...@googlegroups.com .
>>> To view this discussion on the web visit 
>>> https://groups.google.com/d/msgid/golang-nuts/7778a387-f1f5-4ed0-8453-5b811bac4a6d%40googlegroups.com
>>>  
>>> 
>>> .
>>>
>> -- 
>> 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 golan...@googlegroups.com .
>> To view this discussion on the web visit 
>> https://groups.google.com/d/msgid/golang-nuts/CAHrL7wHqJnDnEVe4%3D--%3DcSW9oA-eYxcbKagESdZHgSkrdLutpA%40mail.gmail.com
>>  
>> 
>> .
>>
>
>
> -- 
>
> *Michael T. jonesmichae...@gmail.com *
>

-- 
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/a5227da6-c1ee-4754-95c4-c6bb1dd2d40f%40googlegroups.com.


Re: [go-nuts] Fuchsia Programming Language Policy

2020-02-25 Thread Michael Jones
Actually, you should read the whole note -- it's fun. Half of the languages
are bad because of memory leaks, the other half are bad because of having
GC; half are bad because of difficult asynchronism, the other half are bad
because of having a runtime. etc.

It reads like an imperiously-worded tautology about
safety/power/convenience coming at a cost.

On Tue, Feb 25, 2020 at 9:51 AM Mohamed Yousif  wrote:

> It seems they are betting high on Dart/flutter and their front end is
> already written with flutter. The assessment seems to be pretty much the
> same as for Dart.
>
> Dart won with the ui side, while go was competing with C.
>
> On Tue, 25 Feb 2020 at 7:22 PM, Jon Conradt  wrote:
>
>> The Fuchsia Programming Language Policy
>> 
>>  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/7778a387-f1f5-4ed0-8453-5b811bac4a6d%40googlegroups.com
>> 
>> .
>>
> --
> 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/CAHrL7wHqJnDnEVe4%3D--%3DcSW9oA-eYxcbKagESdZHgSkrdLutpA%40mail.gmail.com
> 
> .
>


-- 

*Michael T. jonesmichael.jo...@gmail.com *

-- 
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/CALoEmQx0mMnuKQHOrp9ptxM1iN5y9%2B3rXYDZ4TaOYK%3DfXmq4Sg%40mail.gmail.com.


Re: [go-nuts] Fuchsia Programming Language Policy

2020-02-25 Thread Mohamed Yousif
It seems they are betting high on Dart/flutter and their front end is
already written with flutter. The assessment seems to be pretty much the
same as for Dart.

Dart won with the ui side, while go was competing with C.

On Tue, 25 Feb 2020 at 7:22 PM, Jon Conradt  wrote:

> The Fuchsia Programming Language Policy
> 
>  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/7778a387-f1f5-4ed0-8453-5b811bac4a6d%40googlegroups.com
> 
> .
>

-- 
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/CAHrL7wHqJnDnEVe4%3D--%3DcSW9oA-eYxcbKagESdZHgSkrdLutpA%40mail.gmail.com.


[go-nuts] Fuchsia Programming Language Policy

2020-02-25 Thread Jon Conradt
The Fuchsia Programming Language Policy 

 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/7778a387-f1f5-4ed0-8453-5b811bac4a6d%40googlegroups.com.