9 ms·
You use something else. Go does well at shuffling bytes. It does ok at shuffling text. Once you leave those domains it starts to get abrasive pretty quick. It
by kasey_junk 7y ago
You use something else. Go does well at shuffling bytes. It does ok at shuffling text. Once you leave those domains it starts to get abrasive pretty quick.
It turns out lots and lots of systems shuffle bytes & text so golang has a lot of room for adoption but for now modeling, business logic, math etc are all better done in other languages.
- walterbell 7y agoWhat are some language contenders for business logic?
- EdwardDiego 7y agoDefine business logic. You want a rules engine? Java's got them by the bucketload!
- sudhirj 7y agoI’d say Java - most of our stack is in Go, but when it came to a modeling / business rules problem I found it easier to jump to Java 8+ (streams, lambdas), AutoValue for immutable objects, Google Guava for immutable data structures and built in ForkJoin system for easy concurrency and parallelism. It’s super easy to use all cores even when just using streams, which is superb.
- pwm 7y agoAt work for core domain modelling we use Haskell and for service layer code we use Go and Node. They are imho good fits for their respective problem domains.
- olalonde 7y agoHow do "core domain modelling" and "service layer" communicate if you don't mind sharing?
- sudhirj 7y agoI don’t know about the folks you asked the question to, but the stuff I work on we just use JSON. Higher traffic might justify message pack or protocol buffers.
- pwm 7y agoIf you mean operationally then it's via simple http apis, although we are in the process of moving to a fully serverless (ie. aws lambda) setup. If you mean the data exchange format then it's JSON.
- kasey_junk 7y agoThe classic ones in line of business applications are Java, C#, COBOL and VB. In analytical areas I’ve worked, Python and R are huge components. Scala seems to be the lingua franca of the data analytics stacks right now? Maybe TensorFlow will become more used which would allow more cross language (and thus go could be added to this domain) but for now its a pretty bare stack.