3 ms·
I was going to make that exact point. Language design philosophy has shifted. It used to be a question of giving programmers all the tools and trusting them to
by rkangel 10y ago
I was going to make that exact point. Language design philosophy has shifted. It used to be a question of giving programmers all the tools and trusting them to do it right.
History (the list of CVEs if nothing else) has shown that even the best and most well-intentioned programmers will shoot themselves in the foot on occasion if handed a gun.
Modern language design has shifted to prioritise preventing such footguns, while retaining as much programmer power as possible.
Humans are the source of troubles, and so we give them tools that help them not make mistakes. That's what will actually get Rust adopted (if that actually happens): companies will weigh off the extra productivity (fewer bugs) against the cost of switching.
- saosebastiao 10y agoI totally agree, simply because all tools have learning curves. It is one thing to learn a language, but it is another entirely to learn a language + debugger + profiler + static analyzer + IDE + build system + package manager + test framework + test runner, etc.. (Just typing this is giving me Node/javascript anxiety...) Rust has done an amazing job packing almost all of that into rustc + cargo, and while there is a learning curve it is nothing like the learning curve necessary to produce code of similar quality in C/C++.