White House urges developers to dump C and C++

L4sBot@lemmy.worldmod to Technology@lemmy.world – 220 points –
White House urges developers to dump C and C++
infoworld.com

White House urges developers to dump C and C++::Biden administration calls for developers to embrace memory-safe programing languages and move away from those that cause buffer overflows and other memory access vulnerabilities.

78

You are viewing a single comment

Such as? (Non-programmer here, so I don't know the ins and outs of programming languages.)

Zig and Rust come to mind, at least for replacements for low level languages.

Zig isn't memory-safe

My bad, I was thinking of Nim but wrote Zig for some reason. Long day yesterday πŸ™ƒ

C#

Isn't that only microsoft exclusive and closed source? Also does compiling it really yield the same speed as C, it is garbage collected isn't it?

Was always possible to compile+run C# on Linux using the Mono project. Until Microsoft "bought them out" and created .NET Core, a cross platform version of .NET that MS now encourages people to use instead...

Microsoft's new linux compile tools rub me the wrong way slightly, with the telemetry that's opt-in by default.

Mono is still extremely valuable for older .NET Framework apps under WINE though, way easier to setup compared to the official installers from what i've experienced.

No idea how compiled C# compares to C...

But it also doesn't have memory leaks lol

Definitely. I’ve worked professionally in both. They both have a time and place. I’d be fine with moving all the low level stuff to Rust, but transitions don’t happen by decree so C/C++ will be around for the next 100 years too.

True that, I'm only at the beginning of my programming journey, so I have a very rough understanding of the differences, pros/cons, and best use cases for various languages.

Rust is the main one for the kind of code that's typically written in C++. Most memory-safe languages make big compromises on performance, but Rust code tends to run about as fast as comparable C++ code.