4 ms·
Go may not be the best as a language, but it's the best in terms of toolchain. - Reasonable fast compiler with helpful error messages - Out of the box cross c
by hsn915 5y ago
Go may not be the best as a language, but it's the best in terms of toolchain.
- Reasonable fast compiler with helpful error messages
- Out of the box cross compilation
- Produces self-contained executable files by default (statically linked binaries)
- Forward compatibility: code written today will (almost) always compile with the latest compiler version from the future.
I haven't experienced any other language that does this.
(Maybe zig will get there soon, but it hasn't reached version 1.0 yet)
Also as a language, it provides a set of really important features:
- Value semantics for structs
- Distinction between values and pointers
- Raw access to byte buffers (most other languages try to conceal them)
While the mandatory GC means you can never be 100% in control of performance, the above mentioned points get you ~60-80% of the way there.
- mikewarot 5y ago>I haven't experienced any other language that does this. Lazarus/Pascal does all of that. There are many others, Go isn't unique.
- kaidon 5y agoRust is pretty darn close. Compiler definitely not as fast, but error messages are much better. Given the choice between rust and go, I have chosen rust; but could just as easily have gone the other way!
- hsn915 5y agoHaving a slow compilation time makes it no where close.
- aw1621107 5y ago> Forward compatibility: code written today will (almost) always compile with the latest compiler version from the future. Isn't this backwards compatibility? Forwards compatibility would be something like older compilers working with features introduced in later compilers.