88
submitted 6 months ago by [email protected] to c/[email protected]

Rust lobbyists winning

top 50 comments
sorted by: hot top new old
[-] [email protected] 42 points 6 months ago

They’re currently exploring using AI to mass translate software from C to Rust, which will be hilarious if it doesn’t cause Armageddon

[-] [email protected] 47 points 6 months ago

I'm actually in favor of this. It's a really good idea, and I hope the state uses it for all the important databases they're gonna use to put us in the camps.

Please dont be a hater. Comrade AI might just save lives here.

[-] [email protected] 16 points 6 months ago

that seems like it wouldn't work very well except maybe for small programs. the kinds of bugs they're trying to catch and prevent here may need substantial changes to the program's design in order to prevent. Like the borrow checker literally does not exist in C and it is not a thing people thought about when writing asynchronous C code. Maybe the AI will take a shortcut and write a bunch of unsafe rust code, but in that case what's the point?

[-] [email protected] 7 points 6 months ago

This won't work completely. Large language models usually fail thoroughly when writing Rust code as there's not as much training data.

[-] [email protected] 4 points 6 months ago
[-] [email protected] 31 points 6 months ago* (last edited 6 months ago)

programming-communism

"And where did that bring you? Back to me."

  • COBOL
[-] [email protected] 28 points 6 months ago

Which do you think happened?

  • Honest appraisal of C++ security problems

  • They figured out some security hole in C++ programs that makes them even worse than we thought

  • Some contractor bribed them to say this so that they can get contracts porting stuff to Rust

  • Some contractor dug up new legitimate security holes in C++ programs so they can convince the FBI to say this so they can get contracts porting stuff to Rust

  • High ranking FBI officials are rust fanboys

I think contractor bribes, but I think that last two are fun.

[-] [email protected] 25 points 6 months ago

All wrong! It's because Rust is WOKE!

[-] [email protected] 14 points 6 months ago

Thank god President Trump will revert everything to C, none of this woke stuff, Make Software Spaghetti Again!

[-] [email protected] 9 points 6 months ago

C is for liberals, real patriots use Assembly trump-drenched

[-] [email protected] 5 points 6 months ago

Make Software Spaghetti Again!

Got you covered.

[-] [email protected] 18 points 6 months ago

It's just the obvious thing. C and C++ don't have safeguards against dangerous programming mistakes. Programming languages exist that do. There are to this day still software vulnerabilities being caused by subtly incorrect code that C and C++ require being treated as legitimate.

[-] [email protected] 14 points 6 months ago

C and C++ don't have safeguards against dangerous programming mistakes.

This is not really true for modern C++... and if you're talking about code bases that use an ancient dialect of C++ where it might be true, the fantasy of even having the option of porting to Rust is actually pretty laughable. C will continue to be necessary for many critical things because there simply isn't sufficient compiler support coverage for Rust to take the throne.

[-] [email protected] 7 points 6 months ago* (last edited 6 months ago)

The difference here is that it takes discipline and training to use only those parts of C++. That requires humans in the loop to enforce those decisions. Humans are fallible.

If you make it impossible at the language level then there's nothing to train. You just can't do the thing unintentionally.

And they didn't specify Rust; the aerospace industry has been using Ada for decades when it comes to mission critical stuff. Ada's compiler has long had a similar notoriety to rust's regarding the difficulty curve.

[-] [email protected] 5 points 6 months ago

My guess would also be that most enterprises prefer Ada over Rust, because Rust lack standardisation. Sometimes you need to do unsafe things though and your billion dollar rocket explode.

[-] [email protected] 27 points 6 months ago

Must be a lot of rust devs in the streets if we’re getting a make work program for em…

[-] [email protected] 22 points 6 months ago

Am I wrong or is this a strong point in favor of c/c++? I'd generally want to do whatever the opposite is of what the FBI would like me to do.

[-] [email protected] 41 points 6 months ago* (last edited 6 months ago)

"critical software" here refers to weapons systems, spying systems, government surveillance systems, cyberwarfare software, etc.

Do you work on critical software

[-] [email protected] 26 points 6 months ago

If I did, it wouldn't 😉

[-] [email protected] 10 points 6 months ago

"critical software" here refers to weapons systems, spying systems, government surveillance systems, cyberwarfare software, etc.

Why would they announce it instead of just memoing to their ghoul coders?

[-] [email protected] 26 points 6 months ago

their reasoning is that rust (and perhaps others) that can be used in place of c or c++ have stronger compile time memory and thread safety checking which are two major sources of bugs and exploit vectors. So it's not like they're infiltrating the language in this case the way they would with crypto.

[-] [email protected] 18 points 6 months ago* (last edited 6 months ago)

Right but AI translating of all government code is good. This is what you want, especially if shit goes down. Dont tell your enemy to stop pouring the kool aid.

[-] [email protected] 17 points 6 months ago

Nah, that kind of reasoning is like "nazis think people should get armed, so we shouldn't."

[-] [email protected] 12 points 6 months ago

It's not really a strong point. C++ has its place for graphics programming and gamedev and C has its place for embedded, but Rust would be a better choice for something like a cryptography app to help revolutionaries communicate for example.

[-] [email protected] 17 points 6 months ago

JAVA IT IS MWAHHAHHHAHHAHHAA

[-] [email protected] 4 points 6 months ago

You joke, but modern Java is much less bad than it used to be, the JVM is very well optimized, and other JVM languages like Kotlin and Clojure are actually good.

[-] [email protected] 3 points 6 months ago

Yeah, kotlin rules

[-] [email protected] 16 points 6 months ago

I recommend CISA and FBI blow me

[-] [email protected] 2 points 6 months ago

They blow me cuz they below me

[-] [email protected] 14 points 6 months ago

Skill issue. Just write better code

[-] [email protected] 16 points 6 months ago

I hope you're joking. This mindset has had terrible consequences, such macho bullshit needs to go.

The Zionazis will find your mistakes before you do. So have the computer check your work as much as possible.

[-] [email protected] 5 points 6 months ago

I am mostly joking but rust is quite annoying and is only useful in very specific circumstances. I'm not against encouraging people to use better designed languages than C though

[-] [email protected] 10 points 6 months ago

rust is quite annoying

skill issue

and is only useful in very specific circumstances

huh? about the only place I can't use rust is on microcontrollers, and it's kind of a pain in the dick on mobile (just use kotlin lol)

[-] [email protected] 7 points 6 months ago

skill issue

Most rust programmers don't know how to implement a linked list

[-] [email protected] 4 points 6 months ago

I'm not sure if you're making a real point or if it's something you heard is complicated but never looked into why. You almost never actually write a linked list. There are usually way easier ways to have a potentially infinite list, but more often you will write your code to operate on blocks of arrays of known size for performance reasons (cache locality, etc) or safety reasons (memory exhaustion, etc), or the linked list is hidden away in a queue implementation (which again you usually want to make bounded).

Most C++ programmers don't actually understand lifetimes or even basic memory safety.

Most programmers don't know when they should be using a linked list or something more cache-friendly.

Most software is really bad.

If I can get away with it, I'll bang something out in Python or whatever I'm required to do something in for the task at hand, and I'll absolutely know 10 ways my program can break, but if I need speed AND reliability, it necessarily takes effort from me, the programmer, to tell the computer exactly how it has to go down. And then Rust usually lets me say what I want to say.

[-] [email protected] 3 points 6 months ago

Most C++ programmers don't actually understand lifetimes or even basic memory safety.

Fingers crossed I get this job I'm applying for where they actually care about this.

load more comments (11 replies)
[-] [email protected] 4 points 6 months ago

Just because you can, doesn't mean you should. For application code, it's almost always better to use a language with garbage collection, in order to get memory safety without undue ceremony. Yes, some gc-ed languages are slow (Python, Ruby), but others are quite fast (JVM, .NET, Common Lisp, Haskell).

[-] [email protected] 8 points 6 months ago

If you're looking to write the types of server daemons often written in C, Go is another good choice. It's very C-like in its syntax. It has a lot of the same safety features Rust has but isn't nearly as complex to learn. It also has a huge standard library, so you rarely need to rely on third-party code.

Go isn't too suitable for drivers or kernels or other kinds of system software though. Rust is definitely a better choice for those.

[-] [email protected] 2 points 6 months ago

Yeah I've been using Go a lot lately. It's pretty good

[-] [email protected] 12 points 6 months ago

This kind of makes me want to write code in C out of spite.

[-] [email protected] 6 points 6 months ago

I really want Go but without a garbage collector is that too much to ask

[-] [email protected] 9 points 6 months ago

have you like, tried Rust?

comrades pls don't think Rust is bad just because the bad guys have realized it's good

[-] [email protected] 4 points 6 months ago* (last edited 6 months ago)

My only real criticisms of rust are aesthetical. I never liked how C++ is full of macros and :: and <> and rust inherits that a bit.

I use Go because of the work I do right now, which is deep in Kubernetes and APIs for which Go is just more convenient. Protobuf and K8S are of course supported by rust and many other languages as well, but in Go it’s simply easy… Go was designed from the bottom up to write APIs basically so it’s good at that. And most, almost all, of the K8S ecosystem uses Go which means I’d need a good reason not to use Go for that since standardization, interoperability, and ecosystem are key concerns.

You can use rust for this too, for sure no problem. But with Go you’re doing all of that pretty much out of the box.

The Go ecosystem in general is a little bit stronger due to higher adoption, although I wouldn't really call that a weakness of rust.

And finally less people use Rust which is another consideration for long term maintenance concerns, but to be fair Go adoption is also low.

I’m never an evangelist for any language. Well, if I could simply write everything in typescript I would to be honest because I think it’s just swell but obviously its not for this use case, and the above are the reasons why I use Go and get my teams to use Go for the use case of services, Kubernetes controllers, and since we want to use Go for those things we then also use Go for other random things like CLIs etc just because it makes sense to limit tech stack sprawl.

[-] [email protected] 4 points 6 months ago

also, separate comment, what are you generally building? if you're writing Go because it's network code, you might want to look into Elixir. It's GC but the behavior of BEAM is more soft-RT friendly due to its history in telephony, you might be more at home there

[-] [email protected] 3 points 6 months ago

i have not tried it myself but have you taken a look into zig? it looks alot like go but is lower level. i have heard good things about it and it looks nice. of course the ecosystem is quite limited since it's a quite new language

load more comments (1 replies)
[-] [email protected] 3 points 6 months ago

Is CERT code included? I think there is a group working on a secure version of C++ as well. I'm not convinced that shifting experienced programmers to mew less familiar syntax will improve software quality. Improving the language rather than changing to another might be a better approach.

I guess assembly also ought to be avoided since all of the power/flaws of C are extant in it as well.

load more comments
view more: next ›
this post was submitted on 08 Nov 2024
88 points (100.0% liked)

technology

23788 readers
352 users here now

On the road to fully automated luxury gay space communism.

Spreading Linux propaganda since 2020

Rules:

founded 4 years ago
MODERATORS