2 ms·
> 1) Extremely fast build times (even for large codebases). Not much faster than C# or Java in practice, especially when using a build system that caches your
by apta 7y ago
> 1) Extremely fast build times (even for large codebases).
Not much faster than C# or Java in practice, especially when using a build system that caches your build so you don't have to rebuild everything every time. The difference actually gets smaller the larger the program is. Furthermore, it's (unit/functional/integration) tests that usually take the longer time to run anyway, which you have to execute before submitting your diffs (and caching helps there as well).
> 2) The package system plugs directly into Git/Github.
This doesn't suite everyone, as not all projects are open source.
> with a lower administrative burden.
Any serious company is not going to (1) allow arbitrary code to be pulled from github/etc. and (2) needs to maintain a local repository of it anyway in case github/maven/etc. goes down.
- sagichmal 7y ago> Not much faster than C# or Java in practice Go compile times are pretty inarguably faster than these in practice, yes.
- apta 7y agoSeems like you haven't worked with actual large scale golang code bases then.
- hu3 7y agoI have. Both C# and Go 500k+ LOC codebases. Compilation time between them is a magnitude apart it's not even arguable.
- vijaybritto 7y agoWell, I have. 300k LOC which was ported over from Java to reduce complexity. Go is mind blowingly fast in compilation times compared to Java. Arguing on it is a waste of time tbh
- throwaway894345 7y agoGo’s tooling is generally straightforward and there is usually one canonical/standard implementation. No insane DSLs to build your program, no daemons required for fast builds, and batteries are included (test framework is part of the tooling). No crazy documentation syntax, no docs packages to publish and link against your dependencies, etc. In general, Go is simple so your organization can focus on business problems.
- kubanczyk 7y ago> Any serious company is not going to (1) allow arbitrary code to be pulled from github/etc. Parent said "Git/Github". You can use private git repo, you can use private github repo.
- closeparen 7y agoThat's why the module system is designed to facilitate corporate artifact caches. [0] [0] https://arslan.io/2019/08/02/why-you-should-use-a-go-module-proxy/ https://arslan.io/2019/08/02/why-you-should-use-a-go-module-...