3 ms·
The strengths of Go become apparent when working in teams and when deploying, not when reading blogs about the language before trying to write code in it.
by xyproto 8y ago
The strengths of Go become apparent when working in teams and when deploying, not when reading blogs about the language before trying to write code in it.
- lima 8y agoExactly this. Rust is quite the opposite of Go in that regard - just like C or C++, it makes it really easy to write over-abstracted and clever code that is hard to understand, audit or review. Rust is also an extremely powerful tool and a ray of hope for systems programming, but comparing it to Go is an apples and oranges comparison.
- empath75 8y agoI’m working in a team of 5 people who has never used go prior to 9 months ago and had no training in it and we’ve just been unbelievably productive in it. We came to it from a combination of python and javascript backgrounds and have no problems collaborating or jumping into each other’s code. To me the main advantage of it is that the small number of primitives and simple syntax forces people to in general be very explicit about what you’re doing. The code almost doesn’t need comments.
- 0815test 8y ago> To me the main advantage of it is that the small number of primitives and simple syntax forces people to in general be very explicit about what you’re doing. The code almost doesn’t need comments. That has little to do with 'simple syntax', and more with the language itself (and/or its community) setting clear standards as to what "idiomatic" code in the language should look like. And Rust is fairly good at that, albeit with the inherent limitation of having to support the additional complexity of ownership/lifetime management. (Go can do without this since it uses GC instead. Swift just uses ARC everywhere.)
- apta 8y agoComing from dynamic languages like Python and Javascript, it's not hard to beat those. Compared to something like Java or C#? Yeah, golang trails way behind. That's why you keep seeing such claims, because many people come from a background where they weren't exposed to a strong ecosystem, so any minor improvement seems like a big deal.
- kod 8y agoMy experience of working with Go in teams is that it encourages copy-paste programming and "works on my machine" deployment problems.
- brown9-2 8y agoHow does it “encourage” the latter?
- kod 8y agogopath, poor standardization of project layout, build processes and dependency management. I've seen people copy protobuf definitions from repo to repo because they couldn't get them building consistently from a different directory, never mind issues with different versions of the go protoc plugin.
- xyproto 8y agoGOPATH is no longer needed after Go 1.11 and Go 1.12.