other-languages

here be heresies and things we have to use for work
gklijs 2019-02-01T20:09:46.004800Z

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

2019-02-01T20:18:15.005900Z

rewrites almost have to skew to the rewrite

hmaurer 2019-02-01T20:33:16.006700Z

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

hmaurer 2019-02-01T20:33:29.007Z

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

john 2019-02-01T20:40:51.007900Z

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

john 2019-02-01T20:45:05.008300Z

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

hmaurer 2019-02-01T20:46:41.008500Z

Obligatory https://www.youtube.com/watch?v=bzkRVzciAZg

1
john 2019-02-01T20:49:25.008900Z

lol

john 2019-02-01T20:49:57.009500Z

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

john 2019-02-01T20:51:49.009800Z

"it was you" 😂

😄 2
john 2019-02-01T20:52:28.010Z

that was hilarious

john 2019-02-01T21:04:22.011600Z

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.

2019-02-01T21:21:04.014800Z

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

2019-02-01T21:22:11.015900Z

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

lilactown 2019-02-01T21:24:19.016200Z

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

hmaurer 2019-02-01T21:29:17.016400Z

> 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

hmaurer 2019-02-01T21:29:20.016700Z

that means literally nothing

seancorfield 2019-02-01T21:45:09.017300Z

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

☝️ 1
seancorfield 2019-02-01T21:45:53.018100Z

(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!)

gklijs 2019-02-01T21:51:29.018500Z

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.

john 2019-02-01T22:34:37.019600Z

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

john 2019-02-01T22:36:25.020100Z

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