My C is a little rusty

Poplar?@lemmy.world to Programmer Humor@programming.dev – 234 points –
32

I mean you're not wrong but I'd argue you can get more interesting cve's using a higher more performant language such as c++. Where there are are ways to include CVE 's from C and introduce new ones to each level of your program using inheritance.

Here is the thing. Everybody, including attackers, is too overwhelmed with the boring variety of CVEs and unable to even think about the more interesting kind.

As soon as we make people stop generating those boring ones by the millions, our days will be way more interesting while we find and fix more complex CVEs. But anyway, those will also be way more common on C and C++ code than most other languages (maybe with an exception for JS).

We can call them CCVE's! Critical CVE's.

EDIT: Oh, nevermind. I've forgotten that it's using CVSS, which has a tendency to really overestimate the risk, so almost everyting is CCVE according to them :D

Ah yes, the rust zealots shitting on one of the most important languages of all time... again.

Kinda weird how the number one way to promote Rust has been to downplay C and others.

How exactly do you promote anything without saying "it's better than the competition" in some way?

What else can you say about a programming language? There's literally not a single point where a feature is not a comparison to the rest of the languages. There's exactly one actual barrier: turing completeness. And that bar is so low, even Excel gets over it.

Also rust interacts through C Abi with most stuff. So C is still important for it.

I really didnt put all that thought into it when I posted this (certainly wasn't looking to evangelize Rust). It was mildly amusing (memory safety came to mind) and I needed a title somewhat related to the meme was really all there was to it.

I believe, this post is primarily shitting on C and only mentioning Rust at the side.

The specifics of C's design could barely be less important. In the 70s it was one of countless ALGOL derivatives churned out on-demand to support R&D projects like Unix.

Unix succeeded, but it could have been written in any of these languages. The C design process was governed by the difficulty of compiler implementation; everyone was copying ALGOL 68 but some of the features took too long to implement. If Dennis Ritchie had an extra free weekend in 1972, C might have a module system. But he didn't, so it doesn't.

That's because Rust solves lots of issues caused by C, of course they are going to twist that knife and use it as a selling points. Humour is not bad, I've done lots of C and C++ and am not bothered a bit by it.

It doesn't reduce the importance of the language at all, just sheds some light on safer languages, Rust or not.

Honestly, as a Rust Zealot, I'm much more excited about Zig as a C killer than Rust.

Word, Rust shills are the most annoying and shitting of the programming language zealots I've seen since the Java Enterprise shilling of the early 200xs. WHat's worse, their memes aren't even good, unlike the JS memes.

C is the hardware language N°1 of the high-level languages. If you actually want to know and control what happens in the machine, you write in C. Rust, C++ and all the other abstractions are for people who do not understand how computers and computer memory work.

Edit: grammar

This is a misconception that's common among beginner C programmers. They think C is high level assembly and don't understand the kinds of optimisations modern compilers make. And they think they're hardcore and don't make mistakes.

Hope you figure it out eventually.

even if you write in assembly, you still may not actually understand what is going on in the machine since processors convert the instructions to "micro-ops", and let's not forget hardware bugs like those caused by speculative execution

I’ve written programs in C. I’ve written programs in assembly, for x86 and for microcontrollers. I’ve designed digital logic and programmed it into an FPGA. I’ve built digital logic circuits with transistors.

I’ll still take Go over C any day of the week. If I’m doing embedded, I’ll use TinyGo.

Try Rust

Why? I see no reason to go through the hassle of learning yet another language when Go serves my purposes perfectly and I'm happy with it.

Same reason as learning anything. It makes you better at what you do and broadens your horizons.

I’d rather spend my free time doing something I enjoy

You don't enjoy learning?

Programming languages are tools. I couldn't care less about learning a new tool just for the sake of learning. My interest in learning tools is exclusively practical - if they help me do my work better.

I find functional languages interesting, but that's because I find the underlying theory interesting and worth learning for its own sake, not because I actually care about the specific language it's written in. Even then these days I'd rather learn about woodworking (which is currently my main hobby) than a programming paradigm I'm probably never going to use.

1 more...

CPUs are for people who don't know how to melt their own sand into transistors.

Sand is for people who don't know how to create their own silicon from hydrogen and a neutron emitter.

I wrote loads of firmware in c++ and some on highly constrained boards. You're just stuck in the past and spewing bs

1 more...