Hacker News new | ask | show | jobs
by baystep 3319 days ago
Coming from a Java background (as far as back-end API development goes), I've pretty much fallen in love with Go. I will definitely be using it on all future projects of my own. That being said, my pros are numerous and my cons are limited. So far they might be:

- A bit too much boilerplate. The infamous "if err != nil" statements will get a bit tedious. BUT! This keeps you on your toes, not in the same way as Java's "NullPointerException" explosion keeps you on your toes.

- I agree with the 3rd party libraries comment. Any cool library I find spends 2/3rds of the README talking about benchmarks. Like we get it, Go is fast. Good luck finding any actual implementation besides "read the docs". And sure someone could write examples, if the package lived long enough.

- I wish there was a tad bit speedier development. The compiler is QUICK, but for something like server development I find myself having keep the command line going, use the "go install" command, then run the exe (windows) from the bin folder (I put it on the Path just to save my life a bit), then test, then kill the server, and repeat. Not great for quick prototyping. In comparison my other web techs have live-reloads, where saving re-compiles, kills the current process, and starts. I'm sure I could rig one up, so this is probably just a nuance of my own early travels in Go.

1 comments

For the live-reloads there are a few options. We use gin (https://github.com/codegangsta/gin) in some projects and it works nicely but for projects with a lot of files/folders it doesn't work that well. Another option we have tried is CompilerDaemon (https://github.com/githubnemo/CompileDaemon) and it also works quite nicely but has the same problem when you have a lot of files/folders.

So, I agree with you that this is something that should be improved to make our development easier.