Eric,

This is the sort of situation where a tool could help.

If the tool detects that you've written a generic type/function but only 
then instantiated it once, that could lead you to rewrite the type/function 
non-generically for the type(s) actually used in the instantiation.

Alan

On Tuesday, September 18, 2018 at 6:38:34 PM UTC+1, Eric Johnson wrote:
>
>
>
> On Tue, Sep 18, 2018 at 6:21 AM Robert Engels <ren...@ix.netcom.com 
> <javascript:>> wrote:
>
>> I am going to refer everyone involved in this discussion on generics to 
>> this once again. I know it is long, read the summary... but it’s important:
>>
>>
>> https://www.researchgate.net/publication/236644412_Adoption_and_Use_of_Java_Generics
>>
>
> I'm skimming that paper. Thanks for sharing. Paper definitely identifies 
> benefits for adding generics.
>
> This quote jumped out at me for its relevance to this discussion:
> "We observed parameterization of 1152 types, but actually found about 46 % 
> of these types (532) only had exactly one type argument ever used 
> throughout the project’s history, suggesting that needless or premature 
> generification of objects occurs fairly frequently.We observed 
> parameterization of 1152 types, but actually found about 46 % of these 
> types (532) only had exactly one type argument ever used throughout the 
> project’s history, suggesting that needless or premature generification of 
> objects occurs fairly frequently."
>
> Put in the term of this discussion thread, the study notes that about 45% 
> of the time (for the Java projects studied), portions of the code get 
> harder to read, with little or no clear benefit. There's no basis for 
> thinking that the same problems will or won't occur with any generics added 
> to Go, but it seems like a reasonable place to point to for concerns 
> driving this thread.
>
> Eric.
>  
>
>>
>> On Sep 18, 2018, at 7:52 AM, Wojciech S. Czarnecki <oh...@fairbe.org 
>> <javascript:>> wrote:
>>
>> On Tue, 18 Sep 2018 04:38:55 -0700 (PDT)
>> ffm...@web.de <javascript:> wrote:
>>
>> Every average Joe Java boilerplate coder gets along with generics.
>>
>> Barely, if at all, understanding whats under.
>>
>> "Smart Copy Paste ... A book for normal programmers"
>>
>> https://www.amazon.com/Smart-Paste-Stack-Overflow-other-ebook/dp/B01EHI5RQM
>>
>> But even there you can manage without thinking and just doing 
>>
>> trial and error if you wanted to.
>>
>>
>> OP, I and many others want to defend Gol off this very attitude.
>> Go is among few contemporary languages that allows me to fully
>> understand what my resulting binary will do, down to the syscall
>> level. Thats precious.
>>
>>
>> I think it will neither be tricky to make use of nor to read the code. 
>>
>>
>> I claim opposite. All and any Gopher will be expected to cope with hard to
>> read and yet harder to understand generic code. Even if she herself will
>> vowed not to use it. In a short while we all will be obeying first Java's
>> commandment "thou shalt not peek under".
>>
>>
>> -- 
>> Wojciech S. Czarnecki
>> << ^oo^ >> OHIR-RIPE
>>
>> -- 
>> 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...@googlegroups.com <javascript:>.
>> For more options, visit https://groups.google.com/d/optout.
>>
>> -- 
>> 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/3ia8XrUgqOg/unsubscribe.
>> To unsubscribe from this group and all its topics, send an email to 
>> golang-nuts...@googlegroups.com <javascript:>.
>> For more options, visit https://groups.google.com/d/optout.
>>
>

-- 
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.
For more options, visit https://groups.google.com/d/optout.

Reply via email to