Quote:
Originally Posted by Andrew Schreiber
Pat, how'd you like implementing a real web service in Go? Any things you found worked well and things that didn't?
|
It was an amazing experience. Go is very well suited to this sort of thing -- HTTP handling is built in and easy, network communication is a breeze, and performance is awesome (Cheesy Arena uses only 1-2% of the CPU even when running a match). Built-in unit testing and single-binary deployment are also huge plusses.
This was the first project I've used Go for so I struggled a lot with the non-object-orientedness and how to organize the code and minimize repetition. The final result isn't ideal and I need to keep working on it -- all the code is in the same "main" package, there's a lot of shared global variables, and the WebSocket handlers are more repetitive than I'd like.
Overall, though, I'd highly recommend Go for any web service work.