3 ms·
Pretty awesome to see a startup using Go as a basis for their backend. > Interestingly, the team used Google’s Go programming language for a number of critical
by chimeracoder 14y ago
Pretty awesome to see a startup using Go as a basis for their backend.
> Interestingly, the team used Google’s Go programming language for a number of critical components. The team previously experimented with using Cassandra and Scala for its datastore, but eventually settled on Go
I've been using Go a lot myself recently, and this seems like the kind of use case it would be perfect for. In fact, when I saw the original version of the Errplane website, I assumed it was written in Ruby for some reason, and I remember thinking 'Man, it would be so cool if they'd written it in Go instead.'
- pauldix 14y agoThe basic site is in Ruby and Rails, but the API, which handles all the high volume stuff, is written in Go. So far it's fantastic. I'm actually giving a talk at Bacon in London in April on my experience building this in Go vs. Scala or Node: http://devslovebacon.com/conferences/bacon-2013/talks/why-node-and-scala-will-dry-up-go-will-drink-their-milkshake http://devslovebacon.com/conferences/bacon-2013/talks/why-no...
- chimeracoder 14y agoAh, too bad I won't be in London then - I would have loved to hear that! (/me is a Go coder, (former) Scala user)
- runT1ME 14y agoDid you primarily compare Scala's actors to Go's channel based concurrency, or did you also evaluate and compare Scala's monadic Future/Promise classes for building concurrent libraries? As someone who has done a fair bit of network programming, the latter libraries/classes have resulted in some of the best code I've written and an order of magnitude productivity increase.
- pauldix 14y agoIn Scala I was using just actors and then sometimes good old java.lang.concurrent. That actually gets into one of the things I like about Go over Scala. Scala is a total mess. There are three different ways to do things, none of which seem particularly easy to use. Go has one paradigm for concurrency and it's simple to understand.