“As a piece of C or C++ code gets bigger and bigger, it’s possible for even the most careful coder to make lots of memory mistakes, filling the software with bugs.”
C does not give you full control. Modern C compilers are extremely complex beasts, that do all kinds of unexpected optimizations. They also are limited in what optimizations they can perform, due to the fact that C code can't express things like ownership. So C compilers have to be pessimistic in many situations.
Rust just as fast as C, and gives you just as much control. But if you choose to use the safety features, it's far safer. The only reason not to use Rust instead of C is if your particular tool chain just doesn't have Rust support.
Comp-sci has moved on. C has simply become almost entirely obsolete, in a similar way to how raw assembly is almost entirely obsolete.
OK, in my niche I'm using C and gcc, due to gigantic amount of binary data to process ultrafast...
On another subject: There is only one situation which may trigger consensus for Bitcoin hardfork: quantum computing threat, which is impossible to solve with soft fork only. And it would be a good opportunity to simultaneously fix long term security budget problem...
We have got a single chance for having decentralized money. It looks like there is less and less devs saying: "two orders of magnitude is missing only"
Existing modern languages already provide an excellent developer experience: Go, Swift, Kotlin, Rust, and many more. Developers that can use one of these existing languages should.
Extract:
“As a piece of C or C++ code gets bigger and bigger, it’s possible for even the most careful coder to make lots of memory mistakes, filling the software with bugs.”
The gigachad fuck stack:
Carbon/C++
Typescript/Javascript
Python
The chad fuck sometime stack:
Rust
Swift
Go
The fucking loser stack:
Java
ASM
Haskell
C for full control and maximum speed in critical apps
Go for fast writing of non-critical apps
C does not give you full control. Modern C compilers are extremely complex beasts, that do all kinds of unexpected optimizations. They also are limited in what optimizations they can perform, due to the fact that C code can't express things like ownership. So C compilers have to be pessimistic in many situations.
Rust just as fast as C, and gives you just as much control. But if you choose to use the safety features, it's far safer. The only reason not to use Rust instead of C is if your particular tool chain just doesn't have Rust support.
Comp-sci has moved on. C has simply become almost entirely obsolete, in a similar way to how raw assembly is almost entirely obsolete.
OK, in my niche I'm using C and gcc, due to gigantic amount of binary data to process ultrafast...
On another subject:
There is only one situation which may trigger consensus for Bitcoin hardfork: quantum computing threat, which is impossible to solve with soft fork only. And it would be a good opportunity to simultaneously fix long term security budget problem...
We have got a single chance for having decentralized money. It looks like there is less and less devs saying: "two orders of magnitude is missing only"
Modern C++ (post 2014) is a pretty nice in-between
See also another post, found here on SN, with an additional take on why to consider Rust:
This programming language could halve the land used by data centers
#138107
https://interestingengineering.com/innovation/rust-can-halve-data-center-land-use
Probably gets rapidly replaced by Carbon over the second half of this decade
https://github.com/carbon-language/carbon-lang
It seems like Carbon developers disagree.
Kotlin was pretty nice when I had to use it for work, lots of nice built-ins that made it a lot more pleasant and maintainable than Java.