I know the old adage goes use what you know, but I'm about to build out a new project that needs to stand the test of time.<p>Running everything on PaaS or 'magic' backends feels a bit scary. Is Rust or Go still the king of the hill for long lasting performant processes or would Elixir be worth a look?<p>My use case is building a networking backend for a video game, but I'm wondering what people look to these days for bullet-proof performance and stability. The javascript world seems to change by the week.
If performance wasn't an issue, but I wanted a simple web backend that could operate for decades without rewrites or dependency churn, I'd reach for PHP.
How are you defining “long lasting performant processes”?<p>As if you mean that someone 20 years from now will still be able to easily run it, to me Java is a clear winner.
Whatever you choose, spend long enough with it and you'll develop too much of a familiarity with it, and grow to love and hate it simultaneously. That is to say, I wouldn't trust anyone who gives you a specific answer in total confidence because there just isn't one. So pick the one you want, knowing that you'll grow to hate that decision in 15 years if you didn't want to choose that one, or find reasons to love that decision in 15 year if that's the one you ultimately wanted because humans are great at rationalizing decisions. What matters is your attitude towards your decision, knowing that there is no one right answer. C++ would be a great choice, but so would Rust, or even Python. Eve Online manages to make Python work and to be real, your project likely won't be as successful as Eve Online.<p>So not "use what you know", but "use what you want to", knowing that in 15 years you'll love and hate having chosen that as much as you want to.
I can only speak to Elixir. Elixir/Erlang/BEAM/OTP have less raw horsepower than, say, Rust, but they can potentially leapfrog “faster” platforms when under load due to predictable latency and almost linear scaling and system resource utilization.<p>I’ve developed with Elixir professionally for 2 years and it’s a really enjoyable language and ecosystem. So much thought has gone into the design of the language and its standard libraries, and that meticulousness has extended to most of the popular 3rd-party packages. Stability is great; I remember reading or hearing that there is no intent to ever make an Elixir 2.0. Devtools are great with the only major exception being IDE/LSP integration (still a WIP). The community is also less fragmented than other.<p>If the BEAM becomes a bottleneck, Elixir also lets you write NIFs (Natively Implemented Functions) in Rust (using Rustler) or other languages like Zig (using Zigler).