> 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`.
There is a huge difference between generics and some regular questions like `Etag` implementation, isn't it? In time, investments, "community demand", commitments to upper management, etc And Russ didn't write academic paper regarding it (before accepting proposal in less than a month after it was published). =) сб, 13 мар. 2021 г. в 19:39, Axel Wagner <axel.wagner...@googlemail.com>: > 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/CADKwOTd19ZOz6whcW8aDNJhAW6mw7r2Q5Se3CHSo4EP-qB-pag%40mail.gmail.com.