Quote from the linked paper [1]:
The majority of Flywheel code is written in Go, a fact we mention only to dispel any remaining notion that Go is not a robust, production-ready language and runtime environment.
Could someone familiar with the Go ecosystem comment on how well Go works with relational and NoSQL databases? Specifically, I'm interested in libraries that serve an ORM (or ORM-like) function, or that are non-blocking.
For example, in the Java world, libraries like jOOQ[1] make type-safe SQL construction a breeze and allow you to make your relational schema a "first-class citizen" of your app, versus a mere afterthought of how your ORM happens to represent them.
Or in the Scala world, there's a non-blocking MongoDB driver called ReactiveMongo[2].
Would love to hear how this compares to the Golang ecosystem.
Previous HN Discussion: https://news.ycombinator.com/item?id=6234736
> If I could get out of the 1970s and use an editor other than vi, maybe I would get some help from an IDE in this regard, but I staunchly refuse to edit code with any tool that requires using a mouse.
Ob"Fallacy of the excluded middle": you can get this kind of contextual information in emacs pretty easily.
When I meet a function and I have no idea what it returns, the lazy thing I do is
foo, bar := someFunc(baz)
int(foo)
Most times the conversion does not work and I see a nice little error with the type of foo.Coming from an Erlang on Emacs background, does vim not allow you to follow variable declarations to their definitions or otherwise get contextually relevant information?
On the topic of rewriting, has anyone had difficulty refactoring Go code? Having the compiler scream at you whenever you decide to leave a variable undeclared seems to make this more challenging as opposed to just having your IDE point out to you a variable is unused.
Probably needs a [2013] tag. Previous discussion was here: https://news.ycombinator.com/item?id=6234736