A question to all industry devs who do backend work from an engineering student aspiring to become a software engineer: If rust/cpp are so good performance wise, why do we use Node.js/Django/anything else? I get that cpp/rust have higher learning curves but shouldn't these be the de-facto for web servers? Looking to be enlightened.
m
melodic-jordan-81418
03/19/2021, 8:18 AM
Sometimes shipping with the least friction is more important than performance. Usually performance comes into play only after your user base grows enough that it matters. The question is analogous to “Why do we see so many Swifts when Ferrari clearly is the fastest car?”
💯 10
m
millions-ice-83302
03/19/2021, 8:18 AM
Learning curve, existing talent pool. Are you flush enough with cash that you can train your team for months without getting any productive output? Most companies won't be able to pull it off. For what? So you can have 10% faster response? Everyone makes peace with that.
d
dazzling-sunset-25784
03/19/2021, 8:28 AM
All right, the points make sense. Thank you! 😀
w
witty-gigabyte-47737
03/19/2021, 8:32 AM
IMO “performance” in software is a very subjective term. It depends case to case on what kind of performance a business would need and what kind of resources they can throw at it.
For instance, An app like Slack/Discord where everything has to be realtime with very high throughput & they can also afford the resources would make sense to opt for Rust/CPP/Go/Elixir
But in cases like Shopify/Airbnb where business logic keeps evolving with time which is easier to change in Ruby/Node/Python than lower level languages. They could always scale their infrastructure to scale up and throw more servers to keep up with the demands.
💯 8
a
acceptable-flag-71699
03/19/2021, 8:16 PM
A server costs, what 200$ per YEAR? A good developer costs you this much in AN HOUR (okay, 5 hours for the ones in India).
What this tells you is that for most biz-oriented applications, developer productivity matters far far more than computational efficiency! Twitter, GitHub, Stripe, Shopify - all were built with Ruby - which is probably 2x slower than Python/JS and 5x slower than Java/C++. The speed of experimentation counts. Once you’ve the money coming in, you can always rewrite.