K
1 min readJan 27, 2021

--

Software is beautiful, Software is buggy: a quick non-technical intro to issues with memory-unsafe programming languages

Software and coding is just beautiful. It’s also highly problematic. I mean the stuff that’s driving the world is written in what are called memory-unsafe languages. Literally called unsafe!

If you have no idea what that means: you can overwrite data, you can read from locations you shouldn’t be able to read. You can cause programs to jump to places they shouldn’t be able to jump to. (if there are programming errors that is; and there plenty!)

Computers were designed like that: “you want to read from that memory location you shouldn’t be able to read from but you literally just pointed to? sure here you go!… why didn’t I check for authorisation?! Because you didn’t tell (code) me to!”

What is worse, sometimes as programs are built they get “optimised”. This can be detrimental for security: sometimes security checks are thrown out… “what’s this? You don’t need thaaaaat! it’s too slow!” Yeah, this is what we have to deal with.

There are glimpses of hope. Memory-safe languages exist. They just drive a tiny fraction of software.

--

--