The ‘Go’ Team Releases Version 1.14

The new 1.14 release of the Go programming language “is dotted with performance and security improvements,” reports the developer news site DevClass, “but also gives devs more flexibility when it comes to module use.”

And they also give a nice overview of Go’s development process:
Go is the language most containerization projects are built with. The wide adoption of this approach is one of the reasons that made the Go team implement a new feedback-based system for language enhancements. In it, only a limited number of new features are proposed for an upcoming release, giving the community room to weigh in on them. If they decide a change will do more good than harm the feature will make it into the new version. However, since alterations affect a quite wide range of people, they are often heavily disputed. This already led to the abandoning of a proposal thought to improve the language’s often discussed error handling. Currently, a couple of new vet checks and minor adjustments are discussed for the 1.15 release.

Updates in Go 1.14 mainly concern the toolchain, runtime, and libraries. The only change to the language allows for methods of embedded interfaces to have the same name and signature as those on the embedding interface. Supposedly to facilitate the creation of somewhat safer applications, version 1.14 includes a hash/maphash package. The hash functions on byte sequences contained in it are meant to help with the implementation of hash tables or similar data structures. The Go team warns though that “the hash functions are collision-resistant but not cryptographically secure….”

Go 1.14 is the last release to run on macOS 10.11 and support 32-bit binaries on Apple’s operating system. Meanwhile binaries for Windows come with data execution prevention enabled, experimental support for 64-bit RISC-V on Linux is included, and v1.14 should work with 64-bit ARM architecture on FreeBSD 12.0 or later.

Read more of this story at Slashdot.

Source: Slashdot