Стали доступны release notes Go 1.5 : https://tip.golang.org/doc/go1.5 . Для новости рано - релиз будет в августе, пока же можно оценить степень ненужности.
Из интересного:
-
Казалось бы, хорошее дело, ребята наконец-то осилили bootstrapping, но читаем дальше:The compiler and runtime are now written entirely in Go (with a little assembler). C is no longer involved in the implementation [..].
Оказывается осилили они только костыль, перегнавший им С-код в Go-код, и теперь у них в кодовой базе тонны неподдерживаемого С-кода зачем-то написанного на Go.Builds in Go 1.5 will be slower by a factor of about two. The automatic translation of the compiler and linker from C to Go resulted in unidiomatic Go code that performs poorly compared to well-written Go.
-
К 2015 году ребята таки решили закопать начавшее пахнуть наследие Plan9.Independent of but encouraged by the move to Go, the names of the tools have changed. The old names 6g, 8g and so on are gone; instead there is just one binary, accessible as go tool compile, that compiles Go source into binaries suitable for the architecture and operating system specified by $GOARCH and $GOOS
Но закопать свои нескучные ассемблер и линкер так и не собрались.Similarly, there is now one linker (go tool link) and one assembler (go tool asm).
-
Хорошее дело.The garbage collector is now concurrent and provides dramatically lower pause times by running, when possible, in parallel with other goroutines.
Выглядит неплохо, для большинства use cases Go должно хватить.The «stop the world» phase of the collector will almost always be under 10 milliseconds and usually much less.
-
Логично, раз GC теперь позволяет нормально масштабироваться.By default, Go programs run with GOMAXPROCS set to the number of cores available; in prior releases it defaulted to 1.
В целом позитивный релиз, ЯП ориентированный на конкурентность наконец-то получил конкурентный GC и может эффективно использовать многоядерность. Печально, что вместо того, чтобы встраиваться в существующие toolchain-ы, они продолжают тащить свои ассебмлер и линкер. Решение автоматом перегнать С-код в Go-код имхо ошибка, и приведет к сложностям в поддержке. Опять же, одна из рекламируемых фишек Go - быстрая компиляция - теперь не такая уже и быстрая.