3 ms·
The impression I get when I hear they use Go, Elixir and Rust on the backend is that they are chasing every shiny trend. I doubt it makes sense from a purely te
by im3w1l 6y ago
The impression I get when I hear they use Go, Elixir and Rust on the backend is that they are chasing every shiny trend. I doubt it makes sense from a purely tecnical perspective and is more a way of indulging and investing in the skills of their engineers.
- jhgg 6y agoElixir was not us chasing a trend - but rather betting on a language and runtime system we knew would be amazing if it worked. Discord would not exist in the form it does today if it was not for BEAM/OTP. The majority of the chat system was built and maintained by a handful of people. Fundamentally our architecture has not dramatically changed since it's inception in 2015. Can you say the same for other real time distributed systems as they have scaled from thousands to hundreds and of millions of users? Rust was a similar bet - the language looked promising and we were right. It's been amazing to use - and it's only gotten better since we started. rust-analyzer is amazing!
- masklinn 6y agoIt's not really the subject of the discussion, but since you're here and interacting with people: would it be possible to ask the UI/UX folks if they could finally make the built-in shortcuts configurable (and deactivable)? It's really weird that such a game adjacent piece of software completely hardcodes shortcuts, especially when so many of them either conflict with or are near-misses for common chords, especially for very disruptive actions like starting voice calls. Even more so as it already has configurable keychords, just not for most of the useful stuff. Also they should fix the labelling around these, either it's just not working or it doesn't work reliably, but trying to override built-in shortcuts via the configuration (in order to disable them) has never worked for me.
- nilkn 6y agoI don't work at Discord, but Elixir seems like a perfect fit for the sort of infrastructure they build. BEAM is a marvel and there are huge success stories for it when it comes to chat apps (e.g., WhatsApp). Elixir is not necessarily a fast language, though, so it's easy to see how they'd run into a need for something like Go or Rust for the occasional service where you want to push single-core performance to the limit.
- abrookewood 6y agoAgreed. It still sounds like the Elixi/Erlang & Rust combo is incredibly powerful.