3 ms·
Those are many of the same reasons I program in Go. To add another: * Go's build tools and the language's overall approach to building projects are fantastic.
by georgemcbay 14y ago
Those are many of the same reasons I program in Go.
To add another:
* Go's build tools and the language's overall approach to building projects are fantastic.
For the vast majority of projects you don't need an external build manager like make. One of my least favorite bits of programming in C and C++, even when I was doing that on a daily basis years ago, was the huge morass of make/autoconf hell that would grow up around projects and would be very difficult to understand and reason about unless you were there for the entire project's development.
With Go open source projects (on git, svn, mercurial) much of the time you can just
go get http://hosted-code-site/blah/(package)
cd (package)
go build
... out pops a working executable.
- mitchi 14y agoI have to agree that this is invaluable.
- enneff 14y agoActually, the "get" command implies "build" and "install", so it's just (a real example): go get github.com/nf/todo and you get a todo binary in your workspace's bin directory.
- georgemcbay 14y agoTIL. Thanks, that's good to know. Another (related) wonderful thing about Go is how fast everything compiles, so fast that it never occurred to me that go get was building as part of the install.
- danieldk 14y agoWith Go open source projects (on git, svn, mercurial) much of the time you can just And have absolutely no version management or any way to indicate API changes (except for making a new repository for every API-breaking change).
- codygman 14y agoThe ecosystem makes it more difficult to write bad software. Handle all of your errors, you can't put in things you don't use, it makes testing VERY easy, logging really easy, and if you have testing you have performance testing for free with it. Not having version management is a real concern, but I solve that problem by forking the projects and updating manually as needed. Ubuntu and debian are soon going to be allowing you to install go packages with their package management systems if I'm not mistaken.
- aleksi 14y agoIt's not practical to fork all projects if you have a lot of them. And Debian failed in packaging Python and Ruby libraries (IMHO). That's why I created http://gonuts.io http://gonuts.io