The siphoning and "talking to other language designers" is of course
related and I am sure that it happens. The community of compiler experts
seems not huge. I am aware of Ian's attempts to draft some proposals and
descriptions and that's what I am talking about. Experience reports will
boil down to "it's messy and generics would help" and that's the most most
developers can ever contribute.

Just because the alias declaration was special and fairly unique does not
mean there are no general prior knowledge available. I appreciate the
special use case for it but it alone is not sufficient. The monotonic time
issue as well which was handled brilliantly btw.

We can and do know physics without knowing anything about medicine other
than that medicine benefits from physics. I think it is fair to say that
most if not all on your list would benefit from generics.

Still this is not about generics but how what goes into Go 2.

On Tue, 22 Aug 2017, 11:17 Egon <egonel...@gmail.com> wrote:

> On Tuesday, 22 August 2017 10:56:52 UTC+3, Henrik Johansson wrote:
>>
>> I am sorry but you are missing the point. I think there already is a lot
>> of _experience_ that doesn't need reiterating.
>>
>
>> My obsolete C++ knowledge is not enough to do a proper comparison but
>> there are numerous experts available inside the core team as well as
>> outside.
>> Why do you insist on reiterating known knowledge? Sifon already existing
>> experience instead of trying to coax written reports out of end users.
>>
>
> Who will do the sifoning of that information?
> Known knowledge for whom?
> Which of that information is useful for Go programmers?
>
> For example, I've never written a graphics driver -- I assume there is a
> lot of known knowledge there,
> but I don't know what it is, and information about is difficult to get,
> because most people writing drivers are under NDA-s.
>
>
>> Don't get me wrong, experience reports are very valuable but I think we
>> are ignoring established knowledge.
>>
>
>> The examples you give about the actual implementation I can only
>> superficially contribute to and it is of course an excellent grounds for
>> testing.
>> What makes you think that we can get to "the best" by any amount of
>> discussion or anecdotal experiences? I prefer relying on the experts for
>> the details.
>> We _know_ that generics can be valuable, and the link above only
>> reaffirms this. It doesn't give you any indication as to which of the 30
>> (??) implementations to pick.
>>
>
> Of course not, but it eliminates some of them.
>
> Experience reports are not just about features... they are also things
> where we need more tutorials, better packages, better documentation, better
> tooling.
> They also serve as an indicator whether something has improved.
>
> An experience report from an expert in the field of course is even more
> valuable.
>
> It should be obvious that they discuss and talk with other language
> designers and experts in their field about particular features.
>
>
>> I really don't understand the need to over-do this whole experience
>> thing. I get that it gives concrete insights into the day to day issues
>> people have but if it also ignores decades of research then I strongly
>> disagree with the approach.
>>
>
> Because the "feature proposal" approach was tried and it didn't work
> properly.
> See alias declarations proposal (https://github.com/golang/go/issues/16339)
> for an example.
>
> The problem they are facing is cross-domain integration of features...
> so an expert or feature developed from years of experience in a particular
> field is not sufficient.
>
> Similarly a feature that has been developed from years of experience has
> also pieces that didn't work out so well.
> What are they? How can we find it out?
> For example which pieces of C++ templates could be replaced/removed due to
> concepts?
>
> Let's take a few domains that generics covers:
>
> 1. Machine Learning
> 2. Game Development
> 3. Business Intelligence
> 4. Statistical Analysis
> 5. Web Developers
> 6. Bioinformatics
> 7. Numerical Analysis
> 8. Audio Processing
> 9. GIS
> 10. Teaching
> 11. Image Processing
> 12. Business Processes
> 13. Databases
> .....
>
> Now, all their needs to be condensed into one or two features that is
> suitable for Go and plays nicely with all other features.
>
>
>> tis 22 aug. 2017 kl 09:12 skrev Egon <egon...@gmail.com>:
>>
>>> On Tuesday, 22 August 2017 09:12:45 UTC+3, Henrik Johansson wrote:
>>>>
>>>> I am sorry Dave but you can ignore the needs of the many few as much as
>>>> you want but the tiny things won't go away.
>>>>
>>>> There probably won't be any _written_ experience reports for most of
>>>> the little things. The things that people live through and sometimes just
>>>> have the time to email the list about a couple of times. It doesn't make
>>>> them go away. The occasional "blog post in anger" happens of course and I
>>>> have surely missed some things.
>>>>
>>>
>>> People need to understand that experience reports are essential. We need
>>> to reiterate it, until people start properly writing them.
>>>
>>>
>>>> The sheer number of voices concerning generics is a huge experience
>>>> report in my book as is error handling although very different in nature
>>>> (but maybe related?).
>>>>
>>>
>>> Let's say we take 30 different designs for generics or error handling or
>>> enums or ... whatever feature X... then
>>>
>>> 1. What would be the deciding factor for what would be better for Go?
>>> 2. Which of these features would be best to implement first?
>>> 3. What would give us the best understanding how a particular design
>>> would affect the community, packages and code?
>>> 4. How can we understand which use-cases does that design cover and what
>>> it leaves unsolved?
>>> 5. What complementary features would be helpful?
>>>
>>> The mantra "this is a neat feature from [other language] I think it
>>>> would be useful" seems to be often used as a hammer to quench any ideas
>>>> that only stem from previous _experience_ in other languages.
>>>>
>>> What is Go if not a reaction to previous experience from C and C++? We
>>>> could have drawn much more from previous experience. We did with
>>>> concurrency and compiler speed for example. Why not with logging, generics
>>>> or error handling? I would say that Go is first and foremost a reaction to
>>>> previous experience and second an iterative model to hammer out the details
>>>> and that is very good. We don't reinvent the wheel, we make faster and
>>>> safer wheels.
>>>>
>>>
>>> These cases can easily be written up as experience reports:
>>> 1. example how you write your Go code and
>>> 2. example how it can be written in C++;
>>> 3. tell why the C++ felt better and why Go fell short.
>>>
>>> The problem is not lack of features... the problem is in understanding
>>> the problem.
>>>
>>>
>>>> Anyway I hope that not only huge "experience reports" are added to the
>>>> scales when it really comes down to choosing the next big direction for
>>>> this very nice language.
>>>>
>>>
>>> Experience Reports don't have to be huge, from the wiki:
>>>
>>>
>>> *The best experience reports tell:*
>>> *(1) what you wanted to do,*
>>> *(2) what you actually did, and*
>>> *(3) why that wasn’t great, illustrating those by real concrete
>>> examples, ideally from production use.*
>>>
>>>
>>> If you can tell that in one paragraph and 3 links to
>>> real-world-code-examples -- great, it will be a shorter read.
>>>
>>> *For example take a look
>>> at https://varunksaini.com/blog/use-case-for-generics/
>>> <https://varunksaini.com/blog/use-case-for-generics/> -- short, sweet and
>>> to the point*
>>>
>>>
>>>>
>>>> tis 22 aug. 2017 kl 00:41 skrev Dave Cheney <da...@cheney.net>:
>>>>
>>> I'd like to echo Egon's point. We were both in the audience for Russ's
>>>>> announcement (although the video and the text are faithful reproductions)
>>>>> and Russ clearly asked for examples where "Go fails to scale" as starting
>>>>> points for a future version of Go.
>>>>>
>>>>> Starting from "this is a neat feature from [other language] I think it
>>>>> would be useful" is eating the elephant from the wrong end. Russ asked for
>>>>> written reports showing where the language does not live up to its promise
>>>>> of developer productivity and production scalability.
>>>>>
>>>>> --
>>>>> 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.
>>>>
>>>>
>>>>> 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...@googlegroups.com.
>>> 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.
>

-- 
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