Golang News http://golangnews.com Jobs, Code, Videos and News for Go hackers - everything about the go programming language Fri, 07 Dec 2018 15:01:00 +0000 Video: Rob Pike - Go 2 Draft Specifications #go2 18 points posted by gusan- https://www.youtube.com/watch?v=RIvL2ONhFBI 3661 Wed, 14 Nov 2018 04:23:00 +0000 Go2 here we come #go2 11 points posted by kenny https://blog.golang.org/go2-here-we-come 3698 Thu, 29 Nov 2018 19:37:00 +0000 Go 2 contracts are too clever #go2 9 points posted by kenny https://utcc.utoronto.ca/~cks/space/blog/programming/Go2ContractsTooClever 3685 Sun, 25 Nov 2018 16:10:00 +0000 A Goroutine Scoped Context Proposal #concurrency #go2 <p> The context design in Go is beautiful and powerful. But like all things, it also can be improved. In this post I will present the major problems I currently see in the context system, a backward compatible solution to those problems, and a proof of concept library that implements a demo of the solution. Hopefully, you’ll be convinced that this change is necessary and can improve the user experience in the Go language. </p> 4 points posted by drogo https://posener.github.io/goroutine-scoped-context 3605 Sat, 13 Oct 2018 18:30:00 +0000 Video: Russ Cox - The Future of Go #gophercon #go2 Let's start talking about what we - the Go community - might want to change about Go. 23 points posted by gopher https://www.youtube.com/watch?v=0Zbh_vmAKvk 2437 Tue, 25 Jul 2017 07:58:00 +0000 Video: The Future Of Go - talk by @rob_pike and Q&A #go2 Talk at the Sydney Go Meetup Group in 2017<div><div><a href="https://www.youtube.com/watch?v=xsjAhAVoRmU">Part 2 video</a>&nbsp;of the continuing Q&amp;A has some interesting questions/answers</div><div><br></div></div> 17 points posted by kenny https://www.youtube.com/watch?v=wpHggcP-L5M 2528 Thu, 17 Aug 2017 13:33:00 +0000 Context should go away in Go 2 #go2 As usual, when a new blog post comes out on <a href="https://blog.golang.org/" style="box-sizing: border-box; color: currentcolor; border-bottom: 1px solid currentcolor; font-family: Arvo, serif; font-size: 16px; background-color: rgb(245, 245, 240);">blog.golang.org</a>, I’m all eager to read it as soon as possible. The most recent one, <a href="https://blog.golang.org/contributors-summit" style="box-sizing: border-box; color: currentcolor; border-bottom: 1px solid currentcolor; font-family: Arvo, serif; font-size: 16px; background-color: rgb(245, 245, 240);">Contributors Summit</a>, is a nice write-up on the issues that the Go contributors have been talking about. While reading it, I stumbled upon a sentence that made me write this post. Here is is: 16 points posted by daenney https://faiface.github.io/post/context-should-go-away-go2 2477 Mon, 07 Aug 2017 15:28:00 +0000 Toward Go 2 #releases #go2 This is the text of my talk today at Gophercon 2017, asking for the entire Go community's help as we discuss and plan Go 2. We will add a link to the video when it becomes available. 15 points posted by kenny https://blog.golang.org/toward-go2 2396 Thu, 13 Jul 2017 17:38:00 +0000 Go, Gardening, and Contribution with Brad Fitzpatrick #gotime #go2 Brad Fitzpatrick joined the show to talk about becoming the face of open source Go, getting the community involved in bug triage, the potential future of Go and Go 2.0, and other interesting Go projects and news. 15 points posted by kenny https://changelog.com/gotime/44 2140 Fri, 28 Apr 2017 10:11:00 +0000 Typed nils for Go 2 #proposal #go2 11 points posted by daenney https://dave.cheney.net/2017/08/09/typed-nils-in-go-2 2487 Wed, 09 Aug 2017 11:31:00 +0000 Go experience report: the append function #generics #append #go2 <p class="postmeta">Ian Lance Taylor talks about adding the append function.&nbsp;When the Go language was first publicly released it contained a package named container/vector. &nbsp;The type <code style="font-family: monospace; color: rgb(102, 102, 102);">vector.Vector</code>&nbsp;was a name for the type <code style="font-family: monospace; color: rgb(102, 102, 102);">[]interface{}</code>. <code style="font-family: monospace; color: rgb(102, 102, 102);">Vector</code>&nbsp;supported methods like <code style="font-family: monospace; color: rgb(102, 102, 102);">Len</code>, <code style="font-family: monospace; color: rgb(102, 102, 102);">Cap</code>, <code style="font-family: monospace; color: rgb(102, 102, 102);">At</code>, <code style="font-family: monospace; color: rgb(102, 102, 102);">Set</code>, <code style="font-family: monospace; color: rgb(102, 102, 102);">Insert</code>, <code style="font-family: monospace; color: rgb(102, 102, 102);">Delete</code>, <code style="font-family: monospace; color: rgb(102, 102, 102);">Push</code>, <code style="font-family: monospace; color: rgb(102, 102, 102);">Pop</code>, and several more. &nbsp;You can see the source code at <a href="https://github.com/golang/go/tree/059c68bf0cccea85bea19c44c15d7fec9e9cbd21/src/pkg/container/vector" style="font-size: 1.2rem; color: rgb(185, 111, 23);">on Github</a>. &nbsp;An interesting aspect of the package is that <code style="font-family: monospace; color: rgb(102, 102, 102);">string</code>&nbsp;and <code style="font-family: monospace; color: rgb(102, 102, 102);">int</code>&nbsp;versions of <code style="font-family: monospace; color: rgb(102, 102, 102);">Vector</code>&nbsp;were automatically generated by copying the file vector.go with edits applied by gofmt -r.</p><div class="postentry"><div><br></div></div> 10 points posted by kenny https://www.airs.com/blog/archives/559 2409 Tue, 18 Jul 2017 06:14:00 +0000 Go Experience Reports #go2 #experiencereport <p>This page collects experience reports about problems with Go that might inform our design of solutions to those problems. These reports should focus on the <em style="box-sizing: border-box;">problems</em>: they should not focus on and need not propose solutions. To propose solutions, see the <a href="https://golang.org/s/proposal" style="box-sizing: border-box; color: rgb(3, 102, 214);">proposal process</a>.</p> <p>We hope to use these experience reports to understand where people are having trouble writing Go, to help us prioritize future changes to the Go ecosystem. (We do not promise to reply to these. If you need immediate help answering questions about Go, see <a href="https://golang.org/help/" style="box-sizing: border-box; color: rgb(3, 102, 214);">https://golang.org/help/</a>&nbsp;for resources.)</p> 8 points posted by kenny https://github.com/golang/go/wiki/experiencereports 2537 Fri, 18 Aug 2017 10:18:00 +0000 When Go’s type system impedes library interoperability #go2 #experiencereports <br> 6 points posted by kenny https://medium.com/@cep21/go-experience-report-gos-type-system-c4d4dfcc964c 2636 Thu, 07 Sep 2017 16:16:00 +0000 Why context.Value matters and how to improve it #go2 #experiencereport 6 points posted by daenney https://blog.merovius.de/2017/08/14/why-context-value-matters-and-how-to-improve-it.html 2517 Mon, 14 Aug 2017 08:48:00 +0000 A use case for Go generics in a Go compiler #experiencereport #go2 This is a (very) rare work-related entry. I mostly work on the compiler for a programming language named “Go”, and one of the problems we face is if and how we should add “generics” to a future version of Go. I can’t possibly summarize easily for a non-technical reader, but the TLDR version is (1) lots of other languages have generics (2) we’re pretty sure they’re useful (3) but they come with associated costs and complexity and we’re not sure they’re worth it. Also, “generics” is not just a single thing, there’s several semantic variants and several ways to implement them (for example, erased versus dictionary-passing versus template-stamping).&nbsp; 6 points posted by daenney https://dr2chase.wordpress.com/2017/08/09/a-use-case-for-go-generics-in-a-go-compiler 2499 Thu, 10 Aug 2017 13:51:00 +0000 GenX: Generics For Go, Yet Again. #generics #go2 A slightly more powerful generic code generator with a very simple interface.<br><br><div><b>Features: </b></div><div><pre style="word-wrap: break-word; white-space: pre-wrap;"> <ul><li>* It can be *easily* used with `go generate`, from the command line or as a library.</li> <li>* `cmd/genx` Uses local files, packages, and optionally uses `go get` (with the `-get` flag) if the remote package doesn't exist.</li> <li>* You can rewrite, remove and change pretty much everything.</li> <li>* Allows you to merge a package of multiple files into a single one.</li> <li>* *Safely* remove functions and struct fields.</li> <li>* Automatically passes all code through `x/tools/imports` (aka `goimports`).</li> <li>* If you intend on generating files in the same package, you may add `// +build genx` to your template(s).</li> <li>* Transparently handles [genny](https://github.com/cheekybits/genny)'s `generic.Type`.</li> <li>* Supports a few [seeds](https://github.com/OneOfOne/genx/tree/master/seeds/).</li> <li>* Adds build tags based on the types you pass, so you can target specifc types (ex: `// +build genx_t_string` or `// +build genx_vt_builtin` )</li> <li>* Automatically handles nil returns, will return the zero value of the type.</li> <li>* Doesn't need modifying the source package if there's only one type involved.</li> </ul></pre></div> 4 points posted by OneOfOne https://github.com/OneOfOne/genx 2582 Sun, 27 Aug 2017 13:53:00 +0000