Go 1.4 Beta 1 is released
groups.google.com
groups.google.com
This seems like a highly questionable decision to me. I've invested a lot of time into optimizing my code that uses encoding/gob, so to now get hit by a wholesale 30% slower stamp from the Go team is a bit weird. These environments that can't use encoding/gob with unsafe, can't be that common, however it seems that everyone will suffer from their limitations.
I did that few times (mostly in the other direction, where I wanted features from unreleased version of Go)
They aren't, but I will provide one example that benefits from this change. As of 1.4, because of this change, it will be possible [1] to use encoding/gob (and other packages that import it) in the frontend via the GopherJS project.
[1] https://github.com/gopherjs/gopherjs/commit/7d67c77e85187c7f...
App Engine is actually the biggest reason why I don't immediately like this change. For other environments I can just fork the Go 1.3 encoding/gob implementation and use that. However on App Engine I can't import unsafe myself, so the only way to run really fast unsafe code, is to use the standard library. This latest change removes that option from me.
Are also there plans to expose more primitives in unsafe?
I remember seeing some posts related to possible required features as part of re-writing the whole stack in Go.
Not a great sign for lib updates in the future.
- look forward to the 1.5 GC changes, can see them being huge for apps that are sensitive to peak latency (where there's a cluster of Go services you hit with fan-out, etc.).
- interested in seeing how folks use `go generate`, both what they do with it and how it is to use.
So now they added the ability to generate libraries. Which is interesting because, to my knowledge, they still don't support building libraries on any other platform. It would be useful.
This is impossible, unless the device was rooted.
NDK code can only produce shared objects, which are loaded into the Java application processes.
The so called Native Activity is just a Java wrapper with a pre-defined set of methods, like touch events that map into a set of pre-defined export symbols.
The so called native activities run on their own thread and get the Java events, like touch, over an UNIX domain socket.
3D graphics programming is one of the few blessed NDK APIs. Even 2D is not accessible to the NDK in a developer friendly way, except for a bare-bones framebuffer, even though Android UI makes use of SKIA.
Outside 3D graphics, sound and partial POSIX support there isn't that much available in the NDK world without interop to Java APIs (sensors are actually JNI wrappers).
It will be nice to have Go available, but most likely the Android team will keep the same cage for Go code.
Is there a `go fix` script for this breaking change? If not, why not?
can now be:
> for range x {
Funny enough I just ran into this awkwardness yesterday (I was ranging over a Ticker to send keepalives but did not need the timestamp).
If you follow Golang development, one of the uncanny things about it is how they really seem to nail the release schedule. They say what they're going to do. They say when they're going to be done. Then they do it, and announce their completion.
I think you can safely assume you'll know a ways ahead of time if Golang is suddenly going to become acceptable to people who require parameterized types to adopt a new language.
I have decided to shut up about them.
Regardless of having generics or not, every line of Go code is a line less of C or C++ with Cisms code, so in a way it is already an improvement.