3 ms·
Everything is a question of tradeoffs. I have to deal with cross-platform Go code on a small project at work. The requirements are modest and the Windows file
by phoehne 4y ago
Everything is a question of tradeoffs. I have to deal with cross-platform Go code on a small project at work. The requirements are modest and the Windows file system code is mostly for developer testing. The production system is Linux. Yes, it's sometimes not pretty and Go was clearly designed for Posix style file systems. We chose Go is that it is fairly high level, it gets the job done, and we don't have to worry about what's in the runtime on the box (e.g. library or package dependencies). It suits our needs. The other options we have (e.g. statically compiled, native C/C++, Rust, or more weirdos like Ada) just aren't as fit for the job. I also ran into the same problems using Afero for unit testing. Moral of the story - pick the right tool for the job or abstract it out a layer and make it fit better.
- akira2501 4y agoEngineering is the art of compromise. The compromises I make to work in Go are easily paid off in what Go allows me to do and for the amount of effort it requires. Language wars are silly.
- samhw 4y ago"Language wars are silly" doesn't mean that only negative views are silly, and that we should all be blindly positive about every language. Evaluating our tools properly is a good and desirable thing to do.