6 ms·
He's not saying that C isn't useful, but that for most problems it's overkill. Why inflict the extra burden on yourself -for no benefit-? Most code being writte
by lostcolony 11y ago
He's not saying that C isn't useful, but that for most problems it's overkill. Why inflict the extra burden on yourself -for no benefit-? Most code being written can be done just as well in a language with garbage collection, that has more powerful abstractions and paradigms as first class citizens...why not take advantage of them? Of course you can write those higher level concepts/abstractions in C, but the point is, -they've already been written-, tested, and documented, by other people. Why write untested, undocumented code that reimplements those things when you have no compelling reason to?
- kqr 11y agoThere are even languages without garbage collection that makes a lot of things easier than they are in C. See Ada, Rust, ~~Go~~ D and others.
- TheCoelacanth 11y agoGo is garbage collected.
- kqr 11y agoWhoops, sorry. I meant D rather than Go, but I guess that is also sorta-kinda garbage collected.
- unscaled 11y agoD is also primarily garbage collected. You had an option to create scoped classes (allocated on stack) but it's apparently deprecated now. I think Swift would be a better example here. Or objective C with ARC.
- rhodysurf 11y agoRust is great, but I think C is much easier
- catnaroek 11y agoYou mean it's easier to write an incorrect program in C than a correct one in Rust? Of course! If you mean it's easier to write correct programs in C than correct programs in Rust, I'm afraid you're badly mistaken.
- bpicolo 11y agoI mean, Rust has a lot of high-level features that make it flat out easier once you get past fighting with the compiler...
- catnaroek 11y ago> once you get past fighting the compiler Actually, it's the very process of “fighting the compiler” (as you call it, though I prefer to view it as collaboration between a human who knows what he wants and a program whose logic codifies what is possible) that makes it easier to write correct programs in Rust/Haskell/ML/$FAVORITE_TYPEFUL_LANGUAGE.
- dllthomas 11y agoI think there's a time before you learn how to make that collaboration productive, for a given tool, which is more aptly termed "fighting" and which you should certainly be able to get past. After that, you can have disagreements but they are far more productive.
- catnaroek 11y agoFrom what I have seen, only the hacker types find themselves “fighting” against (executable embodiments of formal) logic.
- dllthomas 11y agoThis seems an unwarranted dig against a poorly specified group of people. The notion that a type system is "just" logic and so should be trivially followed by anyone "smart enough" or "careful enough" is laughable - there are many different type systems (sometimes with different details depending on the options or pragmas you feed to your tooling), and it can take time to get a sense of where the boundaries are. The notion that you're not likely to find a type system helpful if you have trouble with it initially is harmful. Quit it with the self-congratulatory masturbation.
- ansgri 11y agoThere are even languages with deterministic destruction which solves nearly all resource leak problems, and at least one of them is directly compatible with C and has nice metaprogramming facilities. C++ it is.