On Tue, Dec 22, 2020 at 1:24 AM Markus Heukelom <markus.heuke...@gain.pro> wrote: > > Why not issue a poll on generics, was this ever done? (I could've missed it, > I am only following Go ~2 years). While the community has a vote in > accepting/rejecting the current generics proposal, the community was never > (really) asked if generics is desired in the first place and especially what > the scope of generics should be. Is that correct?
I don't know of a poll specifically about generics. But for the past several years we've done a Go community survey, and every year there is significant support for adding generics to the language. For example, although the results of the 2020 survey haven't been assembled yet, you can see the results of the 2019 survey at https://blog.golang.org/survey2019-results. In that survey when asked "Which critical language features do you need that are not available in Go?", 25% of the survey takers answered the question, and of those 79% mentioned generics. Previous years also showed support for adding generics. Of course this isn't definitive, since there was no clear way for people they say that do not want generics. But it's also not definitive in a different direction, which is that by and large people who don't currently use Go didn't take the survey, and probably some of them would also want generics. So while Go is not and never has been a poll-driven language, I think it's reasonable to say that there is real support for adding generics. > Another thought: there are many popular, type-safe programming language with > generics already. So if you really need generics, there's plenty to pick > from. There's not that many without, I can only name Go and C. So if > generics is added to Go there's far less choice to pick a modern type-safe > language that doesn't have generics. It's a feature that makes Go quite > special. Actually, C does have generics, through the preprocessor macro mechanism. It's difficult to write, but it does provide the same kind of functionality that would be available in Go if we added generics. For example, here is a compile-time-type-safe vector implementation in C: https://gcc.gnu.org/git/?p=gcc.git;a=blob;f=gcc/vec.h;h=cb871124ce2241402af05e4697a5e28904c462fb;hb=HEAD https://gcc.gnu.org/git/?p=gcc.git;a=blob;f=gcc/vec.c;h=85274c4e00c202e680761cef516bd17bb58b6261;hb=HEAD 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/CAOyqgcU_rVJLP%3DG%3DdzMnvoD9HrJGBQcQ_Joc6oni2ggQxfxuqw%40mail.gmail.com.