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.
C is not the problem, it’s sloppy “programmers” who cannot handle direct memory control and who do not understand the underlying system architecture and how a microprocessor operates. People who are good at writing C can make code just as safe as the safest Rust code.
If you’re an expert tightrope walker, you’re likely not gonna fall off. You can just do it without too much issue. When you’re doing it over a chasm, and you don’t plan on dying, you’d still probably prefer a harness though, wouldn’t you?
Edit: I’m not saying C is a bad language or anything, but for important applications the safety of actually memory safe languages is vital for lower-skilled programmers and still a good assistance for higher-skilled programmers, as we’re all humans and it doesn’t hurt to try and avoid the mistakes we will eventually make.
I’ll say it. C is a bad language. There was a time when it needed needed to exist and using it was a smart choice, but it has outlived its usefulness for anything but legacy code and niche use cases like FFI. It’s in essentially the same category as Cobol.
Your take is objectively false. This issue has been studied and the conclusion every time is that real programmers make memory-related mistakes all the time. Even if there are a few superhuman programmers who never get tired, have a bad day, or misunderstand an API, firing the 99.99% of programmers who aren’t superheroes isn’t a realistic solution to anything.
While this is technically correct, it’s tantamount to saying “just don’t make mistakes”, or arguing that a seatbelt is unnecessary because many are good enough drivers to not need it.
Languages like C and C++ do not prohibit the kinds of mistakes that the NSA told us two years ago lead to software vulnerabilities.
Other languages, like Rust, have higher guardrails built in and make it much more difficult to accidentally create the same failure modes.
I love C, but C definitely is the problem.
While one disciplined programmer can in theory write correct code, once there is a small group of even good C programmers and a code base with more than around 3000-5000 LOC, there will be bugs. There is a good reason for tools like Valgrind etc.
While I think C and C++ are the problem, I don’t think Rust is the solution, tho.
Good luck with that, C/C++ are still crazy popular
Damn, it’s been like 25 years since I touched either of those. Aside from OS development, do people really do that anymore?
Embedded systems developer here. If you’re programming on ARM or one of the other big microcontrollers there aren’t many well supported options. ARM’s official Keil compiler and libraries are C and C++ and I see no official movement to change that.
They have literally decades in building those tools.
Microsoft’s multithreaded OS ThreadX is C code. They just bought it for a large undisclosed amount in 2018. It ain’t going anywhere soon.
AWS’s FreeRTOS is C. Not going anywhere.
Embedded development toolchains are very slow to change.
https://www.geekboots.com/story/why-c-is-so-popular-and-still-the-best-programming-language
Basically, C runs the modern world. WiFi, MacOS, Windows, Linux, and so much more
I agree, let’s start with dumping Windows.
I think we should politicize code. It seems so unfettered by politics so far while so many other things are nicely split amongst party lines. Seems like maybe the Republicans should embrace C and the democrats can have python or something.
Republicans get C, Java, Lua, and C++; Democrats get Ada, Rust, C#, and Python; Libertarians get Zig, TCL, Julia, and Ocaml for some reason.
I thought this is a tech space, but you’ve just made a lot of people Republicans.
One would also expect Ada to be Republican.
And can libertarians please have Common Lisp?
Ada could never be republican, on the basis that it’s named after a british woman scientist. I don’t think she’s on record as a feminist, but that’s about the only thing that would make her “worse” in their eyes
Also why do the democrats only get languages for people who don’t care about performances ? /s ^(it’s just a prank bro)
Vermin Supreme still stands by his pony plan doesn’t he? You KNOW he’s out here using FiM++
I’m not sure what to think about this. It’s bizarre, the White House making any recommendations on programming languages.
They’re definitely not seen as an authority in this field. Why would anyone care what recommendation they make? And so why make one at all?
They’re definitely not seen as an authority in this field. Why would anyone care what recommendation they make?
It’s possible that they are acting on the advice of advisors who are authorities in this field.
And so why make one at all?
I expect it’s because information and industrial security are components of national security, which is of great concern to them, and those things depend on software.
I’m not surprised to see this, given that state-sponsored electronic attacks are on the rise these days.
This is exactly why people sound sophomoric when they say “lobbying needs to go!” There are some drastic problems with lobbying as it is allowed now, but the last thing we need is the government regulating things they know nothing about without the input of experts. On top of that, it’s nonsense that I can’t pass my local councilman on the street and stop and push them to spend more time addressing important issues like climate change.
I don’t think your argument quite holds up. The directionality is important. It’s true that the government can’t always know about technical things directly, but I think it’s fine for the government to be expected to know which experts they need to consult, and for that process not to just be open to everyone (which just means more open to those with more money).
It’s important to remember that the argument against lobbying isn’t about the broadest sense of the word “lobbying”, but rather about corporations and other moneyed interests having unfair and unhealthy influence over the laws that govern everyone else.
The people who decry lobbying probably agree with you; they’re just using the word in an implicitly narrow context.