8 ms·
Go 1.6 Beta Released
- smegel 11y agoI wish golang.org had an RSS feed.
- masklinn 11y agoblog.golang.org does: blog.golang.org/feed.atom The linked article is part of the "static" documentation set though, which has no feed. It's not ideal but Github does provide a "releases" feed, though it only links to the tagged commit (it's essentially a feed dump of https://github.com/golang/go/releases https://github.com/golang/go/releases) you at least get a notification of new releases: https://github.com/golang/go/releases.atom https://github.com/golang/go/releases.atom
- smegel 11y agoThanks! I usually rely on Feedly to show me an icon when it can subscribe, but I pasted blog.golang.org/feed.atom into the 'add content' option and it just worked.
- SixSigma 11y agoyou can add change notification to any page with this site http://www.changedetection.com/ http://www.changedetection.com/
- florianletsch 11y agoThe submission title is misleading. > NOTE: This is a DRAFT of the Go 1.6 release notes, prepared for the Go 1.6 beta. Go 1.6 has NOT yet been released. By our regular schedule, it is expected some time in February 2016.
- omginternets 11y ago1.6 has not been released, but this is the 1.6 Beta 1. It should be considered unstable, obviously.
- jamescun 11y agoUnless the title has been updated since your comment, it is accurate. The beta is out today, builds available from https://golang.org/dl/#unstable https://golang.org/dl/#unstable
- omginternets 11y agoI, for one, am very excited to see that vendoring is leaving its experimental status. I think this is the most noteworthy change in the tooling.
- s3th 11y agoAgreed. In addition I hope they provide a blog post about best practices w.r.t. vendoring in order to explain the problem and solution in more depth to a wider audience than the initial design doc.
- driusan 11y agoI don't think it's as obscure as a problem as you think. I've been trying to learn Go as a sideproject for less than a month, and even I realize what the problem is and how the vendor spec solves it (at least once getting to the end where it says that with vendoring enabled submodules are automatically retrieved with go get.. I don't know why they didn't get to that earlier.) One of the things I miss the most when working in Go is PHP Composer, and it's pretty obvious how the vendor design doc solves the same problem in a more Go idiomatic way.
- mfer 11y agoComposer (or the alternatives for other languages) do more than the vendor/ directories do. Those tools manage the versions in the directories which are important for compatibility, ensuring versions around security issues, and so on. Glide[1] is a tool like Composer but for Go and it uses the vendor/ directory. It's designed to complement the go commands. disclosure: I'm one of the glide devs [1] https://github.com/Masterminds/glide https://github.com/Masterminds/glide
- driusan 11y agoSubmodules in git specify the specific commit to be checked out and don't automatically track the HEAD of a branch (unlike go get.) That's why I include the statement that Go vendoring is useful "(at least once getting to the end where it says that with vendoring enabled submodules are automatically retrieved with go get.. I don't know why they didn't get to that earlier.)"
- deleted 11y ago[deleted]
- teabee89 11y agoCongrats on the release! Very excited about http2 and vendoring. But what's happening with the work on shared libraries? :(
- aikah 11y agoInteresting, so "go 2.0" is 2 years down the road, it will be interesting to see what happens next.
- vanderZwan 11y agoThat's not how semantic versioning works[0]. If they want (and everything still points in this direction AFAIK) they will just keep releasing Go 1.10, 1.11, 1.12, etc. http://semver.org/ http://semver.org/
- zellyn 11y agoAccording to Ian Lance Taylor's recent post, there are no current plans for go2: https://groups.google.com/forum/#!topic/golang-nuts/ydeLGm2SYfQ https://groups.google.com/forum/#!topic/golang-nuts/ydeLGm2S...
- iends 11y agoWhere did you get this idea?
- omginternets 11y agoI think 2.0 implies breaking backwards compatibility, which the Go devs have opposed on principle.
- sudhirj 11y agoI seriously doubt that - what they have clearly opposed is breaking backwards compatibility in Go 1.x - they day they decide to break backwards compatibility is the day work begins on Go 2.0
- omginternets 11y agoThat's... what I just said...
- PopsiclePete 11y agoThere is no Go2. Go2 is not a "thing", it's the absence of another thing. It's very Zen. Go2 is everything that Go1 cannot be. If Go1 was the universe, Go2 would be everything outside of it - which is nothing. Anytime someone mentions "This needs to wait for Go2", what they mean is "We can't do this now due to the Go1 compatibility promise, so let's leave it for the far future, for a day that may never even come, and table this discussion".
- dvdplm 11y agoDoesn't say anything about compilation speed. How close to 1.4 performance are we? The slow compilation on 1.5 has kept us on 1.4 so far.
- grey-area 11y agoI was looking for this too. Disappointed to see no mention of it as compilation time doubled in 1.5.
- unfamiliar 11y agoAny idea what causes this increase? I'm surprised as I understood fast compilation times to be one of Go's major strengths.
- peterwaller 11y agoThe increase was caused during 1.4->1.5 by translating the whole compiler toolchain from C to Go. The core devs focussed on correctness over performance on the first pass. They clawed back a lot of the performance already, and though it is slower than it used to be, it isn't at all bad compared with C++ and other languages I've used.
- masklinn 11y agoThe compiler was convert/rewritten from C to Go.
- dilap 11y agoI'm a little sad about the slower compiler speed to, though it's still lightyears better than C++. But for my project it's juuust long enough that not having status printed while compiling feels pretty annoying. If they just printed out each file as it was compiled, it would go back to feeling lightning fast. :) (Maybe there's a way to do this?)
- ustolemyname 11y agogo build -x will print the subcommands as it executes them, is that what you are looking for?
- jgalt212 11y agoIs there any plan to add default keyword parameters to functions in go? In either 1.X or 2.X?
- voidlogic 11y agoThe Go dev's have noted they were happy they left default function parameters out of Go in the past--
- akavlie 11y agoDid they say why? It's an extremely useful feature in Python, and makes for more elegant APIs.
- yiyus 11y agoDefault values mean optional arguments. Optional arguments mean functions with lots of arguments. Then you need to document what happens with each option. Not having that possibility enforces you to actually design an elegant API, instead of stuffing everything in a function and relying in optional arguments to hide the mess.
- jgalt212 11y agoI hear what you are saying, and functions can certainly get messy with too many arguments, default or otherwise, but if you are disciplined about the number of arguments a function takes then having this feature (default optional arguments) is a huge win for a language.
- masklinn 11y ago> Not having that possibility enforces you to actually design an elegant API Yes, of course, the forced elegance of MarshalIndent next to Marshal — being able to indent in Marshal would be graceless, of CreateHeader alongside Create in case you wish to specify more than just the file name, of asn1.Unmarshal and its friend asn1.UnmarshalWithParams, so much more dignified than Unmarshal optionally taking params is it not? You'd have to be blind not to see the refinement of DialHTTP to connect to an RPC server, unless you want to connect to a path which isn't / then DialHTTPPath has that undefinable quality of an excellent API, you definitely wouldn't want DialHTTP to just have a default path that would be tasteless. And it's really quite obvious to have ToUpper and ToUpperSpecial, can you imagine how unpolished an optional case parameter to ToUpper would look? Or Split taking an optional number of substrings? How gauche, lucky us the designers of the API were forced to add the soigné SplitN to which you can explicitly pass a negative number to get all substrings. Really there are so many examples of the lack of optional parameters forcing the design of an outright dandyish API. Just look at WIN32, saved from the dreaded "lots of arguments" by C not having default parameters, not a function in there using that to hide the mess no sir, not in a million years would a language with default parameters have achieved the summit, the peak, the pinnacle of delight that are CreateWindowEx or RegQueryValueEx. And naturally optional anything means you will build an inelegant API one day and have lost all chance to elegant API, which is why Go requires all structure fields to be explicitly filled.
- jcadam 11y agoAh good, I've been waiting on a fix for one nasty bug in particular: https://github.com/golang/go/issues/3665 https://github.com/golang/go/issues/3665 I'm also interested in the vendoring support. I've been using godep and I haven't really taken a look at the vendoring in 1.5 yet (being experimental and all).
- jerf 11y agoThe vendor support is that if you create a directory called "vendor" in the "current project", it will be preferred to the GOPATH for that project. That's pretty much it. The idea here is that they officially support that in the compiler, and then the community can build whatever tools it likes around that support. Whether you call that "support for vendoring" depends on exactly what you're looking for from "support". It's true that the compiler "supports" it, but it's also true that Go still has no "official" vendoring solution, unless you want to count the default one of manually mananging vendored directories, though I don't think most people interested in "vendoring" would call that support (and neither would I, so that's no criticism). I could use a tool that I could fire at a codebase that asserts that all imports are either coming out of the vendor directory or coming out of the base system.
- infogulch 11y agoIs that link right? You linked to a bug about http client support for Expect: 100-continue, and it looks like a fix was merged in October: https://github.com/golang/go/commit/dab143c8820151538fea908efe54e9625d1bc795 https://github.com/golang/go/commit/dab143c8820151538fea908e... Or are there still problems that aren't mentioned in that issue?
- jcadam 11y agoWell, yes, but the fix won't be included until the 1.6 release.
- UniQP 11y agoDoes anyone know the current state of the SSA backend mentioned in https://news.ycombinator.com/item?id=9099744 https://news.ycombinator.com/item?id=9099744 ?
- iends 11y agoThey moved it to 1.7 because it didn't get completed in time. You can see the source code here: https://github.com/golang/go/tree/dev.ssa https://github.com/golang/go/tree/dev.ssa (In particular, https://github.com/golang/go/compare/dev.ssa https://github.com/golang/go/compare/dev.ssa is interesting). It's not clear to me what work is left, but hopefully it gets merged super early in the 1.7 cycle.
- mappu 11y agoThat's interesting! PHP 7 is getting one too - https://marc.info/?l=php-internals&m=144990711202803&w=2 https://marc.info/?l=php-internals&m=144990711202803&w=2 - i wonder which will be completed first?
- UniQP 11y agoThat sounds like an (e-)SSA-based optimization but not like an SSA backend.
- jshen 11y agoWhat, no generics!!!!!! /kidding :p