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/9a35c052-364a-4d20-8161-aa41a60fe140n%40googlegroups.com.

Reply via email to