On Sat, Mar 13, 2021 at 4:59 PM Space A. <reexist...@gmail.com> wrote:

> You are a smart guy, one of the smartest I have ever talked to. But it
> looks like you somehow missed a very obvious thing. The people you
> mentioned (and most of the so-called Go team) AFAIK are Google employees.
> They work for a company and they are paid for the work they do.
>

I did not miss this.


> If, as you say, they spend so much time, literally years, keep replying
> "if we find an approach that gives value blablabla", how do you imagine
> anyone responsible for the process at the end say smth like: "Alright guys,
> after spending so many man-years we have few solutions, but we finally
> realized that we were moving in wrong direction, so now we gonna be
> dropping everything for the sake of better future of Go".
>

The person responsible for the process (if there is any one person) is
Russ. I would have expect him to say that, if it was his opinion. He has a
good track record of acknowledging the arguments on all sides of the
process and committing to a decision - even it if goes contrary to a
previous statement of his.

Here is a recent example I was involved in
<https://github.com/golang/go/issues/43223#issuecomment-772733473>. He
originally said, in no uncertain terms, that `ETag`s will be supported when
an `embed.FS` is served over `net/http`. When it became clear that we don't
have a good design to make it happen, he admitted that it's unfortunate to
break that promise, but it's better than ending with a bad design.

Even then, what you are saying doesn't make a lot of sense to me. If they
spend many years saying "we may add generics, if we find a design that
works", they seem to be perfectly set up to say "we didn't find one" to
their hypothetical employer (to be clear: Their employer doesn't care).
Like, if anything, what they said made it *more* plausible to just drop
generics altogether if they don't like the design.

And, personally, I was in the room when the original contracts design was
first shown externally (at the GopherCon 2018 contributor summit) and I
talked to Ian and Robert (and others) about it. As far as I remember, they
were pretty open about their intent to let this be the last attempt, which
would either lead to a) generics landing in Go or b) generics actually
being rejected (in the sense of "changing the FAQ entry to say 'there will
never be generics in Go, because we've given up on finding a design that
works'").
That is, I'm not just working from the actual literal words of everyone
involved and every public statement any of them has ever made (which I
heard) but also from actually talking to them, in person, asking them
clarifying questions and interpreting their facial and body language.

Of course, you don't have to believe me about any of this. But I can
categorically say that, as far as I can tell, your allegations that the
decision to add generics was pre-made is baseless.


> Like c'mon? Read what's written, not just words and punctuation
>

As a rule, I try to avoid speculating about intent. It is hard enough to
interpret what people are actually directly saying, without speculating
about their internal monologue.
For example, when the Go team said "we may add generics, if we find a
design that works", you seemingly heard "we will add generics in the
future" and many others seemingly heard "we will never add generics". If we
need to allow for different people hearing logically opposite messages from
the same words, running a public project seems intractable.

So, I really don't think we should take stock in anything but the actual
words people said.



> And I repeat, there wasn't a (public) question or discussion or anything
> regarding should we drop this topic entirely.
>

That is not correct. The possibility of rejecting the proposal (and thus
likely rejecting generics altogether) was always part of the conversation.


>
>
>
> сб, 13 мар. 2021 г. в 18:32, Axel Wagner <axel.wagner...@googlemail.com>:
>
>> On Sat, Mar 13, 2021 at 4:19 PM Space A. <reexist...@gmail.com> wrote:
>>
>>> > The discussion of whether or not generics will be added to Go has been
>>> going on for more than a decade.
>>> That's a lie. There has never been a question of "add it or not". It was
>>> always "we will add them" sooner or later.
>>>
>>
>> It is somewhat amusing, though ultimately frustrating, that for ten years
>> people where misquoting the Go team to say they categorically reject
>> generics and now that a decision has been made to add them, they are being
>> misquoted as saying they will *definitely* add them, sooner or later.
>>
>> Both are not true. The stance has always been (demonstrably
>> <https://github.com/golang/go/blob/dd64f86e0874804d0ec5b7138dafc28b51f61c12/doc/go_lang_faq.html#L170>
>>  since
>> before the open sourcing of Go) that generics *may* come at some point, *if
>> they can figure out a way that gives value commensurate with their
>> complexity.* This messaging has been consistent.
>>
>> Even for this specific push (which started with the contracts design)
>> whenever Ian, Russ, Robert or anyone else on the Go team has been asked if
>> generics *will* be added, the response has been a consistent "if we find
>> an approach that gives value commensurate with their complexity. We are
>> hopeful that this one does, but we will see". The first time anyone has
>> actually said generics *will* be added was when the proposal was marked
>> as accepted
>> <https://github.com/golang/go/issues/43651#issuecomment-776944155>. And
>> I wouldn't condone the use of "always" for "since about a month ago" any
>> more than I would condone "they ignored arguments" to mean "they disagreed
>> with arguments".
>>
>> If you insist on calling me a liar again, I would appreciate it if you
>> could provide a source showing that anything of what I wrote here is
>> untrue. Though, to be frank, I don't really think there is much point to
>> this discussion either way - you have already demonstrated in the past that
>> you are at best difficult to have a productive conversation with.
>>
>>
>>>
>>>
>>>
>>> сб, 13 мар. 2021 г. в 17:31, 'Axel Wagner' via golang-nuts <
>>> golang-nuts@googlegroups.com>:
>>>
>>>> I want to re-iterate: The discussion of whether or not generics will be
>>>> added to Go has been going on for more than a decade. All arguments from
>>>> all sides have gotten fair consideration. A decision was reached.
>>>>
>>>> You might not agree with that decision. But saying that "there are no
>>>> arguments" or that "arguments have been ignored" is simply and demonstrably
>>>> false. I understand that it can be difficult to accept that other qualified
>>>> people can come to different conclusions from you, based on the same
>>>> available data. But it's simply going to happen. So please be mindful of
>>>> how you communicate. And ideally, don't try to re-open this discussion with
>>>> the same arguments that have already been heard. It took enough time and
>>>> energy from everyone to reach a decision once.
>>>>
>>>> On Sat, Mar 13, 2021 at 3:19 PM Space A. <reexist...@gmail.com> wrote:
>>>>
>>>>> HI Martin,
>>>>>
>>>>> as Jan already explained, you're not only writing code, you also
>>>>> reading it. And you have to understand what's written. At the same time
>>>>> you're not just coding in Go, you're using the whole ecosystem including
>>>>> libraries and tools. So the mantra "just don't use if you don't like'' 
>>>>> does
>>>>> not work, every Go programmer will be forced to use generics, to read and
>>>>> at the end, to write that code.
>>>>>
>>>>> Second question you may ask - yes it will be overused, in fact in the
>>>>> very first year everything will be flooded with bad code. Because it's a
>>>>> new toy and biggest change to the language in years, because it's a 
>>>>> "smart"
>>>>> way of doing things (we are mature programmers, aren't we?), because "type
>>>>> safety" and "performance" and so on so forth.
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> сб, 13 мар. 2021 г. в 15:45, Martin Schnabel <m...@mb0.org>:
>>>>>
>>>>>> (sorry space a, i didn't reply to list)
>>>>>>
>>>>>> hi alex and space a.
>>>>>>
>>>>>> as far as i know there is no reason that anybody has to write code
>>>>>> with
>>>>>> generics when they are available. therefor i really don't understand
>>>>>> the
>>>>>> negative mails to this list.
>>>>>>
>>>>>> do you also want others not to use them? how would that help you?
>>>>>> could
>>>>>> you please explain to me your personal gain if generics are not added
>>>>>> to
>>>>>> go and not available to me and other users? many users have valid use
>>>>>> cases for generics and custom code generation to deal with them now.
>>>>>>
>>>>>> i personally never had a reason to use imaginary numbers in go, they
>>>>>> are
>>>>>> however part of the language as literals and accompanied by special
>>>>>> built-ins. should i care, do you?
>>>>>>
>>>>>> please explain
>>>>>>
>>>>>> On 13.03.21 12:34, Space A. wrote:
>>>>>> > There is no rationale. They decided, and they implemented. No one
>>>>>> from
>>>>>> > Go team ever took the argument against it seriously because
>>>>>> "community"
>>>>>> > demands, blabla. And because Russ Cox with friends written an
>>>>>> academic
>>>>>> > paper so this is now a question of pure science. Write your own and
>>>>>> they
>>>>>> > could listen. (No)
>>>>>> >
>>>>>> > суббота, 13 марта 2021 г. в 10:07:44 UTC+3, alex-coder:
>>>>>> >
>>>>>> >     Hello,
>>>>>> >
>>>>>> >     Thank you for the answers.
>>>>>> >     Now I have something to read. :-)
>>>>>> >
>>>>>> >     So, sorry for my English.
>>>>>> >     Personally, I would add a dynamic dispatching into GO
>>>>>> >     and left language without generic in order to keep simplicity
>>>>>> for GO
>>>>>> >     and to make life of the applied programmers easier :-)
>>>>>> >
>>>>>> >     What I'm looking for is the rationale behind the technical
>>>>>> decision
>>>>>> >     to understand why the sort of decision has been taken.
>>>>>> >
>>>>>> >     Thank you again for the answers.
>>>>>> >
>>>>>> >     On Saturday, March 13, 2021 at 7:15:06 AM UTC+3 Ian Lance
>>>>>> Taylor wrote:
>>>>>> >
>>>>>> >         On Fri, Mar 12, 2021 at 7:31 AM alex-coder <
>>>>>> a.gus...@gmail.com>
>>>>>> >         wrote:
>>>>>> >          >
>>>>>> >          > Hello again,
>>>>>> >          > I apologize for being so intrusive.
>>>>>> >          > Where it is possible to read about the evaluations of
>>>>>> labor
>>>>>> >         and complexity for
>>>>>> >          > GO itself for different implementations to introduce
>>>>>> generic
>>>>>> >         in GO ?
>>>>>> >
>>>>>> >         LIke others, I'm not quite sure what you are asking, but
>>>>>> perhaps
>>>>>> >         you
>>>>>> >         want to look at
>>>>>> >
>>>>>> >
>>>>>> https://go.googlesource.com/proposal/+/refs/heads/master/design/generics-implementation-stenciling.md
>>>>>> >         <
>>>>>> https://go.googlesource.com/proposal/+/refs/heads/master/design/generics-implementation-stenciling.md
>>>>>> >
>>>>>> >
>>>>>> >
>>>>>> https://go.googlesource.com/proposal/+/refs/heads/master/design/generics-implementation-dictionaries.md
>>>>>> >         <
>>>>>> https://go.googlesource.com/proposal/+/refs/heads/master/design/generics-implementation-dictionaries.md
>>>>>> >
>>>>>> >
>>>>>> >
>>>>>> https://go.googlesource.com/proposal/+/refs/heads/master/design/generics-implementation-gcshape.md
>>>>>> >         <
>>>>>> https://go.googlesource.com/proposal/+/refs/heads/master/design/generics-implementation-gcshape.md
>>>>>> >
>>>>>> >
>>>>>> >
>>>>>> >         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
>>>>>> > <mailto:golang-nuts+unsubscr...@googlegroups.com>.
>>>>>> > To view this discussion on the web visit
>>>>>> >
>>>>>> https://groups.google.com/d/msgid/golang-nuts/8abb7704-ae60-4085-a7d7-0a8f7534e35dn%40googlegroups.com
>>>>>> > <
>>>>>> https://groups.google.com/d/msgid/golang-nuts/8abb7704-ae60-4085-a7d7-0a8f7534e35dn%40googlegroups.com?utm_medium=email&utm_source=footer
>>>>>> >.
>>>>>>
>>>>>> --
>>>>>> You received this message because you are subscribed to a topic in
>>>>>> the Google Groups "golang-nuts" group.
>>>>>> To unsubscribe from this topic, visit
>>>>>> https://groups.google.com/d/topic/golang-nuts/lC9Z9VZXPdM/unsubscribe
>>>>>> .
>>>>>> To unsubscribe from this group and all its topics, 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/c67e637e-6eea-de85-1d43-e2d775424044%40mb0.org
>>>>>> .
>>>>>>
>>>>> --
>>>>> 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/CADKwOTedhgWhxdRgiocwfWumghD5eBWe8AvL0HUmxN1pB-LUDA%40mail.gmail.com
>>>>> <https://groups.google.com/d/msgid/golang-nuts/CADKwOTedhgWhxdRgiocwfWumghD5eBWe8AvL0HUmxN1pB-LUDA%40mail.gmail.com?utm_medium=email&utm_source=footer>
>>>>> .
>>>>>
>>>> --
>>>> You received this message because you are subscribed to a topic in the
>>>> Google Groups "golang-nuts" group.
>>>> To unsubscribe from this topic, visit
>>>> https://groups.google.com/d/topic/golang-nuts/lC9Z9VZXPdM/unsubscribe.
>>>> To unsubscribe from this group and all its topics, 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/CAEkBMfGbr-1g2NgpZryQeFWMgDzEnwYTfTGMaorWBV34jgcELw%40mail.gmail.com
>>>> <https://groups.google.com/d/msgid/golang-nuts/CAEkBMfGbr-1g2NgpZryQeFWMgDzEnwYTfTGMaorWBV34jgcELw%40mail.gmail.com?utm_medium=email&utm_source=footer>
>>>> .
>>>>
>>>

-- 
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/CAEkBMfE5jd-YfCTxLaBowba-8oPJrSa0rmJtj%3DS6sG2jY1dN7g%40mail.gmail.com.

Reply via email to