Earlier quoted context omitted.
`#go-nuts` is a very angry place.
I tried to go there to ask some questions while picking up the language, and what I got was RTFM, where manual includes the language specification, Effective Go book, and A Tour of Go. Apparently you're unfit to ask a question unless you know everything about the language already. Killed my excitement for learning the language.
Six years of Go
321–327 of 327 posts
Re: Six years of Go
#322Earlier quoted context omitted.
I'm a computational biologist that recently ported our webserver (genestation.org) from Tripal (PHP/Drupal) to Go. The performance gains were huge, but the simplicity of development and deployment was even better. I'd strongly recommend Go for a biology web server. However, Biogo is not remotely as far along as Biopython or Bioperl. Also, Perl beats Go for ease of string handling. Unfortunately, there is no equivalen…
Thanks. They new site is snappy. Tripal I had never heard of. It uses "Chado" db schema which I have heard of (though flybase) which while flexible isn't always performant. Performance gains and simplified development are so appealing (I have 12 tools to maintain in Java/perl/php).. Biogo is what I was looking for. https://github.com/biogo/biogo
Re: Six years of Go
#323Earlier quoted context omitted.
This isn't remotely true. CSP via goroutines and channels is idiomatic Go, but it's not the only option. Go offers mutexes and other concurrency primitives which, along with goroutines as lightweight thread analogues, allow what you're looking for.
The real problem here is that Go does not allow a user to create their own powerful concurrency primitives. Locks exist, but you can't create a synchronized data structure. You can't create your own channel type because that's a generic thing which is reserved for the language authors, not the language users. The whole point of modern programming is to create useful abstractions that allow a programmer to get things…
type MyChannelType chan MyStruct ?
Re: Six years of Go
#324I have a bit of a love-hate relationship going on with Go. On one hand, it addresses many of the pain points I've experienced with other languages. It's easy to build and deploy, reasonably performant, and has a powerful and consistent standard library. On the other… developing in it feels like a total slog. It manages to be simultaneously far too anal and overly forgiving about syntax. Visibility definition using up…
Re: Six years of Go
#325Re: Six years of Go
#326Earlier quoted context omitted.
https://github.com/nicksardo/jsonpath can pull out parts of a JSON document without unmarshalling.
That's really neat, thanks (do you have any benchmarks comparing it to Go's JSON?), but doesn't cover my use case. I want all the values in a map-like API. I don't know anything about the shape of the contents, names of the keys, etc.
Re: Six years of Go
#327Earlier quoted context omitted.
That's really neat, thanks (do you have any benchmarks comparing it to Go's JSON?), but doesn't cover my use case. I want all the values in a map-like API. I don't know anything about the shape of the contents, names of the keys, etc.
Which libraries have you looked at? https://github.com/pquerna/ffjson and https://github.com/benbjohnson/megajson claim to be faster
go-codec [1] is very good, and can do things like interning string keys to reduce allocation overhead, but it's not faster than encoding/json when working on plain maps.