> There are no changes to the language. Are there other mainstream languages that are as conservative as Go when it comes to adding new features? I don't love Go as a language, but coming from C++ and Python, both of which have non-stop accumulation of features (and complexity), Go's philosophy is a breath of fresh air.
> There are no changes to the language. Are there other mainstream languages that are as conservative as Go when it comes to adding new features? I don't love Go as a language, but coming from C++ and Python, both of which have non-stop accumulation of features (and complexity), Go's philosophy is a breath of fresh air.
The Go 1.x compatibility promise is one of Go's best features.
Yes.
Though, I wonder how much more the language could be improved if it weren't tied down to the bad decisions of the past. Those must all continue in perpetuity while the compatibility promise is kept.
The Go 1.x compatibility promise is one of Go's best features.
Yes. Though, I wonder how much more the language could be improved if it weren't tied down to the bad decisions of the past. Those must all continue in perpetuity while the compatibility promise is kept.
Not in perpetuity. Go 2 does not promise to be backward compatible.
> There are no changes to the language. Are there other mainstream languages that are as conservative as Go when it comes to adding new features? I don't love Go as a language, but coming from C++ and Python, both of which have non-stop accumulation of features (and complexity), Go's philosophy is a breath of fresh air.
Not sure if it counts as "mainstream", but Clojure has been stable for years and years. The core data structure manipulation functions are there and they simply work.
The last really big change was transducers, and even those were nicely retrofitted onto the core functions without any breaking changes.
Yes. Though, I wonder how much more the language could be improved if it weren't tied down to the bad decisions of the past. Those must all continue in perpetuity while the compatibility promise is kept.
Not in perpetuity. Go 2 does not promise to be backward compatible.
Yes, I agree. No point on linking to the download page, most people use their package manager to update their Go installation.
I'm curious which package managers / repositories allow you to update to the latest version of go as soon as it's released * ? * In any remotely trustable and reliable way; random PPAs relying on somebody's free time don't count, IMHO. I've noticed Ubuntu, Debian, Centos, and Oracle Enterprise Linux are always trailing by quite a clip. Often years. The strategy I've been using is to just manually install it on the ma…
NixOS and Nixpkgs. They are not instant updates in most cases like Arch, but Unstable has quite a few updated packages, and everything or anything can be updated or held back without fear of breaking, as previous config is a simple reboot away.
> There are no changes to the language. Are there other mainstream languages that are as conservative as Go when it comes to adding new features? I don't love Go as a language, but coming from C++ and Python, both of which have non-stop accumulation of features (and complexity), Go's philosophy is a breath of fresh air.
Elixir.
They even announced that the language is now final.
These days, server-class machines are often ephemeral and spun up-and-down based on demand. At work, I operate services that have 2 GB of Java code packages, and others that use a single 10 MB Go binary. Guess which one can scale up much more quickly to handle increased demand?
Obviously. ...but the point being made is at 10% reduction, a 9MB and a 10MB binary are indistinguishable. They scale almost identically. so... it seems a bit like premature optimisation to devote such a large amount of effort to what appears to be a win that affects virtually no one except those few (FANG) who deploy to thousands of services daily.
Yes, I agree. No point on linking to the download page, most people use their package manager to update their Go installation.
I'm curious which package managers / repositories allow you to update to the latest version of go as soon as it's released * ? * In any remotely trustable and reliable way; random PPAs relying on somebody's free time don't count, IMHO. I've noticed Ubuntu, Debian, Centos, and Oracle Enterprise Linux are always trailing by quite a clip. Often years. The strategy I've been using is to just manually install it on the ma…
Move up a rolling pre-release like Debian/testing and things are available quite quickly. You can pin packages to limit what you’ll run the latest of.