On Tuesday, 22 August 2017 12:49:14 UTC+3, Henrik Johansson wrote:

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

Then that's not an experience report... the important bit is the problem 
and the problem domains. The "solution" for experience report is not 
necessary and usually uninteresting.

I would say, you can safely  assume that for every problem people face, the 
core team knows at least 10 different solutions.

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

Let's say you are a biomedical company and you had to invest in some 
particular area in physics (e.g. material research, fluid dynamics, 
nano-tech, mechanics, ...) -- which one would you choose? Where can be most 
gained? How do you know that investment paid off?

This is the purpose of experience reports -- to understand where core team 
needs to invest their time.

It's obvious that most features proposed have value to someone -- otherwise 
they wouldn't have been proposed in the first place. And, I'm sorry, if a 
proposer is unable to link to a single real-world example or problem then I 
doubt it's value in practice. I think it's a bare minimum requirement that 
any serious proposer can meet.

I think I've thoroughly explained my position and understanding... and will 
distance from the discussion for the time being.

+ Egon

Still this is not about generics but how what goes into Go 2.
>
> On Tue, 22 Aug 2017, 11:17 Egon <egon...@gmail.com <javascript:>> 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...@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