You don’t get segmentation faults if you don’t have an MMU. That can certainly make debugging more interesting when your firmware starts overwriting memory that it shouldn’t until it finally crashes.
Sometimes you’ll notice the side effects, like if you have a small OLED or LCD screen and start getting garbage characters in your strings.
or, if you are really lucky, you can poke the right locations and release the magic blue smoke from the chips. super fun and all the cool kids are doing it.
Write a post that leads back to a tiresome obvious discussion about a particular coding language without mentioning that coding language
now rinse wash and repeat until our eyes have no blood left to bleed
Memory safety is a skill, not a feature.
I made a mistake in my code.
No, it must be the language thats unsafe!
If you cut yourself with a knife, it might be your fault. And it might be that the knife is sharp on both sides and has no handle.
Posted on gigabytes of robust C/C++ codebase.
You cannot make a safe yet universal cutting tool. If it needs to cut, it can also cut the user. Its completely up to the user what he chooses to do with a knife and there have been many „accidents” with them. Yet we keep making and using simple knives in a form unchanged since before we could write.
You cannot make a safe yet universal cutting tool.
I’m neither language designer or crustacean advocate, but from what can be read, Rust seems to have managed just fine. The trick is probably to allow removing the cover of the sharp edge when needed (execute unsafe).
Also, Rust allows “unsafe” code for when it’s absolutely necessary; you DO need to add a line that basically says “I know compiler, don’t stop me”. To keep up the metaphor; Rust allows you to cut yourself with the knife, but ensures you’re fully aware of what you’re doing.