Fork me on GitHub
#other-languages
<
2019-02-01
>
gklijs20:02:46

Don't know much about golang for an API gateway it might be better than clojure, any thoughts? https://www.infoq.com/articles/api-gateway-clojure-golang

hiredman20:02:15

rewrites almost have to skew to the rewrite

hmaurer20:02:16

@gklijs To be completely honest I would never expect Clojure to do better performance-wise on such tasks than Go.

hmaurer20:02:29

I’m pretty sure most people don’t pick Clojure for performance, but for other reasons

john20:02:51

Isn't an API gateway a highly event driven, reactive kind of application?

john20:02:05

seems like node/js could be a decent fit there too

john20:02:57

I agree with the comments re the grotesqueness of async code on node

john20:02:49

"it was you" 😂

john20:02:28

that was hilarious

john21:02:22

Well, I'm a big fan of blocking ops, from a code layout perspective. But I doubt core-async can really be a full replacement for golang, in terms of bare metal performance for non-blocking ops, interleaving continuations and whatnot.

hiredman21:02:04

choice supportive bias, confirmation bias, expectation bias, illusion of validity, insensitivity to sample size, and post-purchase rationalization are all biases at work in that kind of comparison, which leaves out the big one, if you initiate a large rewrite that takes many person hours, you better have something to show for it

hiredman21:02:11

blog posts along the lines of "our company rewrote X in Y and Y is better" are interesting sometimes, but can never really convincingly argue their thesis

lilactown21:02:19

yeah that article was bad and they got super defensive on reddit about it

hmaurer21:02:17

> The fact that the API gateway is now built in a typed language provides the ability to plug in diverse functionalities and introduce new technologies much more easily with Golang’s library support and community

hmaurer21:02:20

that means literally nothing

seancorfield21:02:09

Every rewrite benefits from the fact that you now understand the system better than you did when starting writing the previous version.

gklijs21:02:29

That's something that crossed my mind. We currently work with a code base several years old, with none of the developers working on it longer than a year. Even a rewrite in the same language/framework would already improve much.

seancorfield21:02:53

(speaking from experience as we're rolling out the 3rd gen of our platform which is essentially the 2nd complete rewrite from the ground up!)

john22:02:37

Yeah, actually, I didn't understand the reference in the conclusion of 10X improvement, given the performance comparison chart

john22:02:25

The avg latency improved by 50 or 60%, with the complete rewrite