Hello Micha, I'm not seeing any experiences (project building/maintaining) you are reporting on.
In the projects I've worked on the switch to Context has been a huge win all across the board. I think it would be sweet to find an effect way to make io.Reader take a context (I often want just that, and when I really need it the solution tends to be more inefficient then it could be). Note, Context isn't just useful for servers. It is useful for any application. Desktop applications with GUIs, services/daemons, web services. In other words, if your application does an operation that could block (file IO, network IO, running executable) and you either have a halting program or a program you want to be responsive, Context is exceptionally useful. As for Context.Values, I think you are dismissive of the real use-cases without giving proper weight to them. It can be abused. Just like go-routines and channels. I'm not saying we can't do better then the current implementation, we probably can if the benefit is seen as worth the cost of the change. You're saying context is viral. It is. Just like errors are viral. Once you start returning them you need to propagate them back. Having a context argument is saying "this function, or something this function calls may block for undisclosed amounts of time and we need to know when to stop blocking and back out." There might be a better way to do ctx (and maybe errors) if the language was adjusted; I'm fairly sure go-routine local storage isn't the answer but maybe something else would be. Maybe you could create an Arena with a context and a pattern for returning execution on error and an Arena could use multiple go-routines and such. However I think where you would need to start is a named real experience building and maintaining a solution in Go that gets real use. Then look at it and see where it was painful and how it was so. Lastly as an aside, github emoji reactions are fine for what they are. But they are not an engineering argument one way or another. Last time I checked no one is running a popularity contest. Thanks, -Daniel On Monday, August 7, 2017 at 6:40:05 AM UTC-7, Michal Strba wrote: > > Hi everyone! > > I've written a blog post called 'Context should go away for Go 2': > > https://faiface.github.io/post/context-should-go-away-go2/ > > The post is about the cancelation problem in Go, how context package > solves it, why context package is bad anyway, and that Go 2 should do > something about it. Hope you enjoy reading ;) > > PS: I'm not sure if this post is acceptable for an experience report. If > you think it is / isn't, let me know. > > Michal Štrba > -- 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.