2 ms·
This. I've pushed back on "why not X?" before; the most often reason being "it does not have the features we need". Then implemented it anyways when some astro
by deathanatos 5y ago
This.
I've pushed back on "why not X?" before; the most often reason being "it does not have the features we need". Then implemented it anyways when some astronaut architect decreed it shall be so, and duct taped around the aforementioned gaps as best I could. To whomever handles that in the future: I'm sorry.
Or sometimes the decree just comes down "adopt X" with nobody really having done any legwork to see how good X actually is in practice and we just find out by adopting.
> Why not protocol buffers?
Because we were looking for performance, but the backend was in Python and wasn't getting re-written in Rust anytime soon, and JSON was faster because it is a native C extension¹.
¹and technically, protobufs can be too. We evaluated the C extension, and there was one problem with it: it reliably segfaulted. We disabled it, and tried the pure-Python version, but it lost to JSON.
> Why not cloud-managed relational DB?
We need spatial indexes, and the cloud provider didn't offer them, then later did offer them but they didn't work. I hear they work now, but we didn't wait around for the cloud to implement…
Although sometimes, the answer is just "honestly, I'd love to adopt X. Haven't had the resources to do it, (probably, haven't had the time)."