Fully agree.. I think my proposal is targeted primarily at that group 
although recognizing the strength and ability of group #1 to block any 
discussion

On Wednesday, August 2, 2023 at 1:30:00 PM UTC-6 TheDiveO wrote:

> Sorry to f'up on myself, but I would like to add regarding #1: at least my 
> personal impression is that for #1 it looks very difficult to improve this 
> in any meaningful way. It looks to me as if #2 is actually where the 
> improvements would bear large fruit as it makes Go more welcoming and 
> productive to those types of devs and/or types of Go modules, that is, 
> applications.
>
> On Wednesday, August 2, 2023 at 9:27:23 PM UTC+2 TheDiveO wrote:
>
>>
>> Ben Hoyt's blog post Scripting with Go: a 400-line Git client that... 
>> <https://benhoyt.com/writings/gogit/> mentions error handling from a 
>> perspective that made me clear for the first time why I'm always in two 
>> minds when it comes to Go's error handling:
>>
>>    1. the perspective of a prod-code package writer that will be used in 
>>    larger contexts: "[Go's error handling is] *simple and explicit [...] 
>>    It's not a big deal when writing production code, because then you want 
>>    more control over error handling anyway -- nicely-wrapped errors, or 
>>    human-readable messages [...]*"
>>    2. from a "script" developer perspective, where "*all the error 
>>    handling you need is to show a message, print a stack trace, and exit the 
>>    program*".
>>
>> There might be more angles to it, but Ben's sentiment rings a bell with 
>> my own "customer" experience.
>>
>> So we can at least expect to have two "camps of judges" when it comes to 
>> error handling improvement proposals. Some of the judges might be acutely 
>> aware of the at least two different angles, but some of the comments not 
>> least in this thread ("language designers" as kind of gods who must ignore 
>> their customers, seriously?) seem to indicate that this isn't always the 
>> case. Not least, I also fall into the less desirable category of the 
>> ignoramus.
>>
>> So, maybe we should in the future always ask when it comes to a proposal: 
>> which of the two perspectives does the proposal tackle? I'm under the 
>> assumption that it might have been #2 in most of the proposals. The often 
>> vivid negative responses should then be classified as belonging to #1 
>> and/or #2. If the proposal is about #2, then #1 proponents don't 
>> contribute, but simply make life hard for the #2 customers of the Go 
>> language. Same for the opposite combination.
>>
>> On Wednesday, August 2, 2023 at 6:11:01 PM UTC+2 DrGo wrote:
>>
>>> Fair enough … I understand that people have different styles 
>>>
>>> On Wednesday, August 2, 2023 at 12:54:20 AM UTC-6 Brian Candler wrote:
>>>
>>>> FWIW, I'm in the "I like how it is now better than any other proposal 
>>>> so far" camp; I think this happens as you get used to the Go way. Go is Go.
>>>>
>>>> The only thing I would consider is making *interface* types (only) 
>>>> implicitly usable in a boolean context, e.g.
>>>>
>>>> if err { ... }
>>>>
>>>> However, I suppose people would ask "why not pointers? why not 
>>>> channels?" etc.  I'm not suggesting it should become like Python where 
>>>> every non-zero value is treated as "true".  Interface values are special, 
>>>> and there's very little you can do with a nil interface (whereas for 
>>>> example, a nil pointer can still have methods called on it).  But this 
>>>> does 
>>>> add a special case, and Go already has its share of surprises you have to 
>>>> learn.
>>>>
>>>> On Tuesday, 1 August 2023 at 22:41:38 UTC+1 DrGo wrote:
>>>>
>>>>> Yes. Go is no longer the simple language it was. I suspect because of 
>>>>> internal pressures within Google as evidenced by multiple innovations 
>>>>> that 
>>>>> seem to come from nowhere eg dir embedding and associated fs package that 
>>>>> duplicated perfectly good ways of doing things. The module system while 
>>>>> useful is quite complex. Generics and all the associated packages 
>>>>> inflated 
>>>>> the mental burden of learning and reading Go code significantly. And 
>>>>> having 
>>>>> the go 1 compatibility guarantee means that old stuff remains valid code 
>>>>> and must be learned too. 
>>>>>
>>>>> On Tuesday, August 1, 2023 at 2:59:07 PM UTC-6 Victor Giordano wrote:
>>>>>
>>>>>> Yeah.. I mean, the "idiom" `err != nil return` err is something of 
>>>>>> the language. I complain about the boilerplate that idiom produces and 
>>>>>> that 
>>>>>> is fact fact (no one can deny it).
>>>>>>
>>>>>> You know, your approach implies making the language a little more 
>>>>>> complicated as new ways to deal with errors appear. I do understand that 
>>>>>> some folks provide some push back on the idea simply because there is 
>>>>>> nothing wrong with the language right now regarding error handling. 
>>>>>>
>>>>>> As I see things, the language was simple in their origins, but from 
>>>>>> time to time they complicated a little more some things, for example 
>>>>>> "what 
>>>>>> about generics?"  (are they really necessary?, I mean... I think using 
>>>>>> interfaces provides all the genericity you may need). So I guess there 
>>>>>> is 
>>>>>> room to make some changes and make the language easier. I would say that 
>>>>>> both ways of handling errors are valid, the most important is to be as 
>>>>>> simple as possible so you ensure that other people understand it. Like 
>>>>>> Generics, you don't have to use them. So I would praise it for adding 
>>>>>> another way, less repetitive.
>>>>>>
>>>>>> Also like to see how people react and what their opinions are. So far 
>>>>>> what I read is just personal taste.
>>>>>>
>>>>>>
>>>>>> El mar, 1 ago 2023 a las 16:04, 'Luke Crook' via golang-nuts (<
>>>>>> golan...@googlegroups.com>) escribió:
>>>>>>
>>>>>>> And of course I forgot the "if" at the beginning of all those 
>>>>>>> conditional. *sigh*
>>>>>>>
>>>>>>> -- 
>>>>>>> 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/dRLR4hxxI8A/unsubscribe
>>>>>>> .
>>>>>>> To unsubscribe from this group and all its topics, send an email to 
>>>>>>> golang-nuts...@googlegroups.com.
>>>>>>>
>>>>>> To view this discussion on the web visit 
>>>>>>> https://groups.google.com/d/msgid/golang-nuts/CADtPBF2%3DTNBorhCCamWGb29qkNkXxgFZ%2BmnhkOC0kG2sxzp%3DWw%40mail.gmail.com
>>>>>>>  
>>>>>>> <https://groups.google.com/d/msgid/golang-nuts/CADtPBF2%3DTNBorhCCamWGb29qkNkXxgFZ%2BmnhkOC0kG2sxzp%3DWw%40mail.gmail.com?utm_medium=email&utm_source=footer>
>>>>>>> .
>>>>>>>
>>>>>>
>>>>>>
>>>>>> -- 
>>>>>> V
>>>>>>
>>>>>

-- 
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/3608fafe-26f9-4204-99ec-4db4f9691aean%40googlegroups.com.

Reply via email to