Hacker News new | ask | show | jobs
by xena 756 days ago
I have a longer nuanced post to write out at some point about my feelings here, but here's the cliff's notes:

We should not be developing new projects in C, and we should make it politically hard to make new projects written in C in distribution repositories. C is going to stay around for a long time and that's okay, but there are so many inherent problems of its design and implementation that make it unsuited for unsupervised use. I wish that we didn't have to make such hard-line stances about this, but people have continuously proven that this tool is unsuitable for modern development and it's only going to get worse as time goes on.

2 comments

> We should not be developing new projects in C

I would give at least embedded development a pass, since you rarely do have a choice there

It's difficult, because "embedded not networked" is an environment where security risks are low, but "embedded networked" is a really nasty environment of haunted routers and abandoned IoT devices.

Is it acceptable to risk buffer overruns on the HTTP server running on an insulin pump?

Mostly because you often get shipped half-broken pile of C-based SDK as your blessed environment.

Not because there's no other options (and long before Rust had its name coined)

Well, yes. I'm more focusing on user space applications here. This is why that nuance post would have to be so long. People here would probably misconstrue it to be that I want to "kill C" though. That's part of the reason why I haven't written it yet lol
I agree. I regularly use Rust on embedded devices and what many advocates like to leave out is that you're just using regular old C under the hood anyway. It's bindings all the way down.
If your distribution refuses to package useful free software, I'll use another distribution. I think this is true for most people.