Go 1.9 RC2 released

Second release candidate of programming language from Google team available now
08 August 2017   1554

Open source project developed by a team at Google and many contributors from the open source community.

Go version 1.9 moves confidently to final release. Second release candidate is now available.

Let's figure out, what main features Go 1.9 has.

There are two changes to the language.

  1. Go now supports type aliases to support gradual code repair while moving a type between packages. The type alias design document and an article on refactoring cover the problem in detail. In short, a type alias declaration has the form:
    type T1 = T2
    This declaration introduces an alias name T1—an alternate spelling—for the type denoted by T2; that is, both T1and T2 denote the same type.
  2. A smaller language change is that the language specification now states when implementations are allowed to fuse floating point operations together, such as by using an architecture's "fused multiply and add" (FMA) instruction to compute x*y + z without rounding the intermediate result x*y. To force the intermediate rounding, write float64(x*y) + z.

Use issue tracker to report any found bug.

If you have Go installed already, the easiest way to try go1.9rc2 is by using this tool.

You can download binary and source distributions from the usual place.

Documentation for Go 1.9 available here.


V Language Compliler to be Open Sourced

V was designed to combine Go's simplicity of syntax, compilation speed, portability and maintainability of code with C / C ++ performance and Rust security
24 June 2019   206

Compiler for the V language has been transered to the open source. V is a compiled into machine code language with static typing, focused on solving problems of simplifying development tracking and ensuring a very high compilation speed. The compiler code, libraries and related tools are open under the MIT license.

The syntax V is a lot like Go, borrowing some constructs from Oberon, Rust and Swift. The language is maximally simplified and, according to the developer, it takes 30 minutes to study the documentation to learn the basics. At the same time, the language remains quite powerful and can be used to perform the same tasks as when using other programming languages ​​(for example, libraries are available for 2D / 3D graphics, GUI and web application creation).

Creating a new language was motivated by the desire to combine the Go's simplicity of syntax, compilation speed, simplicity of parallelizing operations, portability and maintainability of code with C / C ++ performance, Rust security and generation of machine code at the Zig compilation stage. Developers also wanted to get a compact and fast compiler that can work without external dependencies, get rid of the global scope (global variables) and provide the ability to "hot" reload code.

Compared to C ++, the new language is significantly simpler, provides a faster compilation speed (up to 400 times), practices safe programming techniques, is free from problems with undefined behavior, and provides built-in tools for parallelizing operations. Compared to Python, V is faster, easier, safer, and easier to maintain. Compared to Go, V has no global variables, no null, all variable values ​​must always be defined, all objects are immutable by default (immutable), only one type of assignment is supported ("a: = 0"), a significantly more compact runtime and the size of the final executable files, the presence of direct portability from C, the absence of the garbage collector, faster serialization, the ability to interpolate lines ("println ('$ foo: $ bar.baz')").

Get more info at Github