4 ms·
Hey, I've written more C code than anything else and was generally considered pretty competent. > The language is at fault. "Good" programmers do not blame lan
by mlyle 4y ago
Hey, I've written more C code than anything else and was generally considered pretty competent.
> The language is at fault. "Good" programmers do not blame languages for their mistakes.
I also know that my time to get something functional in higher level languages is often 10x less, and my probability of having very subtle bugs to hunt is much lower.
There's a super-weird tradeoff here. There's all kinds of modern, high-level techniques that improve programmer productivity and reliability of bigger systems.. They convert people who can't be productive C programmers into doing OK work.
But they're also slow and a bit opaque in how they work. And it's really easy to run out of performance and have to do exotic things to get them to scale, in which case you have to build bigger systems still and cede a lot of those advantages.
Whereas, if you write to the metal, you can get a lot of performance out of a single large computer.
- jen20 4y agoReminder that even absolute expert C programmers can get better performance from completely naive Rust than optimised C: [1]. [1]: http://dtrace.org/blogs/bmc/2018/09/28/the-relative-performance-of-c-and-rust/ http://dtrace.org/blogs/bmc/2018/09/28/the-relative-performa...
- mlyle 4y agoI kinda knew this comment would show up. It's completely irrelevant / orthogonal to what I'm saying. But I knew someone would have to beat their favorite horse :D Yes, Rust may have somewhat better programmer productivity than C, but it's not really at a massively higher level of abstraction.
- jen20 4y agoNot requiring pointer arithmetic in a day-to-day basis and having a proper module system absolutely puts it at a higher level of abstraction.