borrow checker?

3 months ago by qaz to c/programmer_humor

one_old_coder 182 points 3 months ago

the language restriction of rust

Rust has no restriction. The restriction is in his brain high on AI.

make sure to star the github repo so that I can create more projects like these.

That's not how any of this works, he's crazy.

path: 0 24629725, hotness: undefined, score: 182, children: 9
Quetzalcutlass 157 points 3 months ago

The language restriction of not knowing the language.

path: 0 24629725 24629802, hotness: undefined, score: 157, children: 0
mabeledo 98 points 3 months ago
path: 0 24629725 24632328, hotness: undefined, score: 98, children: 2
JackbyDev 7 points 3 months ago

Fork me on GitHub!

path: 0 24629725 24632328 24649965, hotness: undefined, score: 7, children: 1
a_non_monotonic_function 5 points 3 months ago

Sorry, called finger instead.

path: 0 24629725 24632328 24649965 24654046, hotness: undefined, score: 5, children: 0
eager_eagle 64 points 3 months ago

don't you guys pay your rent and buy food with github stars?

path: 0 24629725 24630307, hotness: undefined, score: 64, children: 1
mic_check_one_two 13 points 3 months ago

As someone who does a lot of freelance and occasionally gets “do it for the exposure” types of gig offers, my go-to response is usually “people die from exposure when they can’t pay their rent.”

Also, you came to me to offer me the gig. I didn’t do any extra work to get you in my inbox. You found my contact info and reached out to me, so I clearly don’t need more exposure.

path: 0 24629725 24630307 24649710, hotness: undefined, score: 13, children: 0
eah 50 points 3 months ago

All this LLM shit just gave crackpots a new tool to annoy the hell out of the rest of us.

path: 0 24629725 24631451, hotness: undefined, score: 50, children: 0
vanillama 18 points 3 months ago

I hadn't noticed, I laughed out loud so long, thank you

path: 0 24629725 24630132, hotness: undefined, score: 18, children: 0
wonderingwanderer 10 points 3 months ago

The language restriction is memory safety by default 🙄

path: 0 24629725 24634479, hotness: undefined, score: 10, children: 0
Solemarc 114 points 3 months ago

Those are such weird responses, is that user an agent?

Instead of "yes I vibecoded X because of Y" we get the classic respond like you're trying to hit the word limit on your essay.

path: 0 24629473, hotness: undefined, score: 114, children: 14
FiniteBanjo 70 points 3 months ago

Sloppers spend so much time talking with their shitbots that they tend to use similar vocabularies and prose. Some of them do have AI write up their responses, too. Some of them even integrate Grok directly into their keyboard.

path: 0 24629473 24630515, hotness: undefined, score: 70, children: 10
luciferofastora 18 points 3 months ago

I hate that I've conditioned my own vocab and tone on the same kind of formal writing that these models have been trained on. I've used en-dashes long before they became a hallmark of botspeak. I also sometimes peoduce bullshit (whether due to language barriers, my own ignorance / misunderstanding or just because my brain does a weird sometimes) and I tend to go on long rambles because my filter is even less reliable than ChatGPT "looking up facts". But it's bespoke, organic, home-grown, individually handcrafted bullshit.

Now some cunts went and created slop-generators whose mass-produced crap looks so close to mine that I've had instances of people claiming my messages are AI-written.

AI isn't taking my job, it's taking my diversion.

path: 0 24629473 24630515 24640643, hotness: undefined, score: 18, children: 8
j5y7 10 points 3 months ago

We might need you to take the Turing Test to be sure.

path: 0 24629473 24630515 24640643 24641097, hotness: undefined, score: 10, children: 7
chromodynamic 4 points 3 months ago

LLMs arguably disprove the validity of the Turing Test.

path: 0 24629473 24630515 24640643 24641097 24646000, hotness: undefined, score: 4, children: 1
luciferofastora 1 point 3 months ago

Lay it on me. Maybe I'll convince myself that I'm a bot after all. Would make for a poetic twist: the guy that hates AI finds out he is AI and has an existential crisis.

More seriously, that does raise a good question. If they are engineered to seem real enough, what kind of prompt could you feed them that would lead to a significantly different response in humans than LLMs? Just how do we have to construct Turing Tests in this era?

path: 0 24629473 24630515 24640643 24641097 24644763, hotness: undefined, score: 1, children: 4
MNByChoice 7 points 3 months ago

What? Like their computer keyboard autocompletes with Grok? Or something else?

path: 0 24629473 24630515 24632909, hotness: undefined, score: 7, children: 0
Ephera 34 points 3 months ago

I also like how they claim it's completely different to KRunner and then, save for OCR and whatever "circle to search" is, these are all features in KRunner.

path: 0 24629473 24630674, hotness: undefined, score: 34, children: 0
marcos 21 points 3 months ago

Nah, I'm pretty sure every LLM out there knows what Rust has a borrow checker.

path: 0 24629473 24636766, hotness: undefined, score: 21, children: 0
placebo 3 points 3 months ago
path: 0 24629473 24646301, hotness: undefined, score: 3, children: 0
charokol 92 points 3 months ago

I know nothing about rust but I assume borrow checker is some integral part of it that this guy somehow has never heard of?

path: 0 24633213, hotness: undefined, score: 92, children: 14
calcopiritus 138 points 3 months ago

Yes. Someone that knows just a little more of rust than you do would know what the borrow checker is.

It's the core feature of rust.

Like talking about java and not knowing what "inheritance" is.

EDIT: just so you understand how vibecoded that project is.

The dude says he vibecoded "some of it" because some rust features make it a hard language for him. The one feature he's talking about is the borrow checker.

It's like saying "man, sure is hot today". Someone says "yeah, this summer sure is hot" and the dude replied "yeah, summerians lived in a hot place too".

path: 0 24633213 24633563, hotness: undefined, score: 138, children: 7
HrabiaVulpes -4 points 3 months ago

Why is explanation so fucking low on lemmy? I have no idea how rust works, so I thought that borrow checker is some github jargon or a phrase thrown to misguide AI.

path: 0 24633213 24633563 24650053, hotness: undefined, score: -4, children: 6
calcopiritus 7 points 3 months ago

Lemmy is social media, not school. Nobody owes an explanation. Mostly because the poster cannot know the knowledge level of whoever is gonna read the post. If every post has to be explained for every potential person that could read it, every post would be followed by a wall of text. Of all social media, the only time I've seen it happen is pugjesus' history posts. Which makes sense since he often references some niche history knowledge that very few people would know about.

Just googling "borrow checker" would've shown you it's something rust-related.

path: 0 24633213 24633563 24650053 24654771, hotness: undefined, score: 7, children: 0
spectrums_coherence 4 points 3 months ago

I thought the post you are replying to is trying explain borrow checker. In a understandable manner assuming you know basic programming in Java.

I am a bit confused on what your complaint is aiming at...

path: 0 24633213 24633563 24650053 24671034, hotness: undefined, score: 4, children: 4
HrabiaVulpes 1 point 3 months ago

After reddit (popular but useless comment wins over less popular but useful one) I had higher hopes for lemmy. I am complaining, because in my opinion explanation of borrow checker should be higher in popularity contest than I found it.

path: 0 24633213 24633563 24650053 24671034 24676057, hotness: undefined, score: 1, children: 3
Limitless_screaming 65 points 3 months ago

Very integral. When someone says they're "struggling with Rust", it's thanks to the borrow checker.

Rust's whole shtick is the way it manages memory, which is the rules enforced by the borrow checker.

Basically:

When you want to store values in variables in any programming language, the memory should be allocated when you need it and freed as soon as you don't anymore.

Traditionally there are two ways this is done:

  1. You manage it completely yourself, which is "unsafe" as you can forget to free memory you no longer need. This is called leaking memory. Or "reference" the location of something you freed previously, thereby attempting to read data you may not have permission to read (the OS will usually prevent that and kill the program), or reading and using a value you didn't expect, causing undefined behavior and fun to deal with bugs.

  2. The language, sometimes using a process which runs alongside your main program, manages memory. Which adds lots of overhead.

Rust has it's own way of doing this: It adds some rules on how you can pass around references and ownership and these rules are affected by whether you can or can't edit the referenced data. All just so the compiler knows the lifetime of the vars that hold that data and when it can free it (before the program is even compiled, so no overhead when the program is running). Not following the strict rules prevents your program from being compiled into an executable.

The compiler gives very helpful info, tips, and pointers™ though, Rust is also know for this.

path: 0 24633213 24633849, hotness: undefined, score: 65, children: 2
SalmiakDragon 10 points 3 months ago

Thanks for the explanation!

path: 0 24633213 24633849 24642769, hotness: undefined, score: 10, children: 0
jjj 3 points 3 months ago

these rules are affected by whether you can or can't edit the referenced data

Yes, but not quite. They are affected by whether something else is allowed to look at the referenced data at that time. You can mutate data behind a shared reference with interior mutability: https://doc.rust-lang.org/...

path: 0 24633213 24633849 24652500, hotness: undefined, score: 3, children: 0
HuntressHimbo 15 points 3 months ago

Some would call it the single biggest source of gotcha moments learning the language

path: 0 24633213 24633815, hotness: undefined, score: 15, children: 1
AeonFelis 5 points 3 months ago

Also the source of most of the things Rust gets criticized for. Ugly syntax? That's mainly because of the lifetimes, which server as instructions for the Borrow Checker. Too many types of strings? So that the Borrow Checker can determine how the memory slice the text is stored in is managed. And of course - the complicated error messages are where the compiler is trying to explain to you what the Borrow Checker is thinking.

path: 0 24633213 24633815 24653107, hotness: undefined, score: 5, children: 0
JackbyDev 10 points 3 months ago

Yeah, I think the flow was this,

  1. Is this vibe coded?
  2. Partially, because of some of the features of Rust.
  3. Borrow checker?
  4. (Humourous misunderstanding ensues.)

Basically asking if the thing that gave them trouble was the borrow checker.

path: 0 24633213 24649938, hotness: undefined, score: 10, children: 0
CaptDust 77 points 3 months ago

"It's not entirely vibecoded but..." Mmmmhmm. Wish people could just be transparent with themselves and their audiences.

path: 0 24629702, hotness: undefined, score: 77, children: 2
floofloof 37 points 3 months ago

Maybe they edited README.md by hand.

path: 0 24629702 24631711, hotness: undefined, score: 37, children: 0
snooggums 26 points 3 months ago

"The chili isn't entirely feces..."

path: 0 24629702 24630561, hotness: undefined, score: 26, children: 0
four 74 points 3 months ago

Borrow checker? I 'ardly know 'er!

path: 0 24629202, hotness: undefined, score: 74, children: 0
pewpew 56 points 3 months ago

Uses rust because it's memory safe but it is vibe coded and the developer doesn't know what a borrow checker is.

Just use a high level language at this point

path: 0 24633645, hotness: undefined, score: 56, children: 7
JackbyDev 5 points 3 months ago

Is rust low level? Genuine question, not trying to start an argument. I guess I sort of view it as low level but with a high level compiler lmao.

path: 0 24633645 24649964, hotness: undefined, score: 5, children: 6
pewpew 9 points 3 months ago

Rust is very popular because is as low level as C but has memory safety features builtin, so it is considered the best of both worlds. So basically what you said is correct.

(Disclaimer: I am not a Rust programmer, I prefer C/C++)

path: 0 24633645 24649964 24650432, hotness: undefined, score: 9, children: 4
JackbyDev 2 points 3 months ago

I guess in my mind I just associate raw pointers with low level. But I guess Rust lets you do that with unsafe blocks still?

path: 0 24633645 24649964 24650432 24652374, hotness: undefined, score: 2, children: 3
calcopiritus 7 points 3 months ago

Low level goes way beyond raw pointers. But yes, rust does have raw pointers.

Java does have raw pointers too I believe though. I wouldn't call it low level.

But low level is not well defined. At some point, the difference between low level and high level used to be whether you had to write a different program for each computer architecture. Under that definition, C is a high level language. Assembly (and very old languages) would be low level.

My own definition of low level is: if you have to care at all about memory management, it's low level.

Basically, if the language has a garbage collector or if it automatically counts references without you explicitly telling it so, it's a high level language for me.

path: 0 24633645 24649964 24650432 24652374 24654998, hotness: undefined, score: 7, children: 2
CeeBee_Eh 4 points 3 months ago

Is rust low level?

Yes, more or less. It's generally considered a "systems" programming language. But you can really use it for anything you want

path: 0 24633645 24649964 24660174, hotness: undefined, score: 4, children: 0
Sylvartas 53 points 3 months ago

Behold, the future of programming.

I really need to keep my (actual) programming skills up to date, because they might be worth a ton of money in some years when everyone will need to unfuck their vibe coded bs.

path: 0 24640033, hotness: undefined, score: 53, children: 6
FiniteBanjo 9 points 3 months ago

TBH I only occasionally do some C# and C++ for about 20 years in my spare time, but even if I were hypothetically qualified to fix the world i'm kind of just planning to sit back and watch all of the sloppers go bankrupt for ruining their companies.

path: 0 24640033 24642044, hotness: undefined, score: 9, children: 0
chunes 6 points 3 months ago

Bold of you to assume anyone is going to care enough to hire professionals to fix old software. They're just going to vibe code a new program with the new whizbang-5000 LLM.

path: 0 24640033 24655038, hotness: undefined, score: 6, children: 0
AeonFelis 6 points 3 months ago

Even if the pay is good - unfucking vibed code is going to be very grueling. Like fixing legacy code but so much worse - because legacy code at least used to make sense at some point in the past.

path: 0 24640033 24653008, hotness: undefined, score: 6, children: 3
floofloof 2 points 3 months ago

legacy code at least used to make sense at some point in the past.

That assumption doesn't hold where I work.

path: 0 24640033 24653008 24688536, hotness: undefined, score: 2, children: 2
AeonFelis 1 point 3 months ago

Did you go back with a time machine to make sure it didn't make sense back when it was written?

path: 0 24640033 24653008 24688536 24689863, hotness: undefined, score: 1, children: 1
floofloof 1 point 3 months ago

I know my colleagues and former colleagues, and have reason to be confident it didn't.

path: 0 24640033 24653008 24688536 24689863 24691847, hotness: undefined, score: 1, children: 0
floofloof 51 points 3 months ago

This is the new normal, it seems. My developer colleagues are bragging about how long it has been since they wrote a line of code.

path: 0 24631691, hotness: undefined, score: 51, children: 7
uuj8za 28 points 3 months ago

Same.

They always say that so proudly too. "It was all the AI bros!"

me staring at the mountain of shit they just plopped in front of me

Yes, I can tell.

path: 0 24631691 24632657, hotness: undefined, score: 28, children: 2
forkDestroyer 15 points 3 months ago

Devs on my team are straight up saying in the sprint retros that the code is slop and needs to be modified after AI makes the suggestion. Our repo is being flooded with garbage that works out of the gate but costs so much extra to troubleshoot when it fails.

path: 0 24631691 24632657 24633029, hotness: undefined, score: 15, children: 1
Azzu 5 points 3 months ago

You're using the wrong language. If it fails, it never worked out of the gate. You should say that it seemed like it's working, but never actually did.

path: 0 24631691 24632657 24633029 24640309, hotness: undefined, score: 5, children: 0
criss_cross 20 points 3 months ago

My favorite is seeking feedback on reviews on stuff we own and people not responding and being like “I’m sorry I had Claude create 500+ PRs I can’t possibly respond to everything”

You don’t think there’s a problem with that!?!?

path: 0 24631691 24634649, hotness: undefined, score: 20, children: 0
four 12 points 3 months ago

Sometimes I lament how long it has been since I wrote a single line of code, because I had to do reviews, testing, management, etc.

I guess some of us like the aspect of coding (as in writing code), while others only like the results (be it the product or the pay)

path: 0 24631691 24634968, hotness: undefined, score: 12, children: 1
floofloof 11 points 3 months ago

Yes, I have always enjoyed trying to create elegant architecture and code, more than I get satisfaction from the end result. I've always found it frustrating how many colleagues were prepared to throw together any old junk as long as the right thing came out in the end. On the positive side, maybe the AI does raise the quality of what some of them contribute.

path: 0 24631691 24634968 24635004, hotness: undefined, score: 11, children: 0
MonkderVierte 4 points 3 months ago

Insert talking machine, replace skill.

path: 0 24631691 24639612, hotness: undefined, score: 4, children: 0
Avicenna 41 points 3 months ago

"Borrow checker?"

"Thanks bro but don't need your checker got my own"

path: 0 24639862, hotness: undefined, score: 41, children: 3
forkDestroyer 8 points 3 months ago

I don't code in rust, so I had no clue what a borrow checker was before seeing this and looking it up on the side.

path: 0 24639862 24642581, hotness: undefined, score: 8, children: 2
vanillama 16 points 3 months ago

Neither did the "developer"

path: 0 24639862 24642581 24643986, hotness: undefined, score: 16, children: 0
mic_check_one_two 7 points 3 months ago

Yeah, I’ve always heard that rust is memory-safe, but hadn’t bothered to look into how. I guess the borrow checker is part of that safety net.

path: 0 24639862 24642581 24649632, hotness: undefined, score: 7, children: 0
umbraroze 40 points 3 months ago

I wouldn't say it was borrowed

Reminds me of a disclaimer in a public domain software package: "No warranty expressed or implied. If it breaks, you get to keep both pieces."

path: 0 24642555, hotness: undefined, score: 40, children: 0
flandish 39 points 3 months ago

checker?! i hardly know her!

path: 0 24632879, hotness: undefined, score: 39, children: 0
django 32 points 3 months ago

Who is this borrow checker, and why is he so judgemental?

path: 0 24630481, hotness: undefined, score: 32, children: 1
FiniteBanjo 7 points 3 months ago

He who controls all of the memories that have been randomly accessed.

path: 0 24630481 24642010, hotness: undefined, score: 7, children: 0
atopi 29 points 3 months ago

if rust is too hard, cant you just use another language for your program?

path: 0 24634265, hotness: undefined, score: 29, children: 3
ID10T 24 points 3 months ago

Yes, but then you can’t put in your readme that your blazingly fast new app is written in rust.

path: 0 24634265 24637217, hotness: undefined, score: 24, children: 0
fxdave 18 points 3 months ago

No he didn't even open the book to learn it. I'm sure borrow checker is in the beginning.

path: 0 24634265 24635125, hotness: undefined, score: 18, children: 0
Miaou 4 points 3 months ago

Or just hire someone.

path: 0 24634265 24635047, hotness: undefined, score: 4, children: 0
DupaCycki 29 points 3 months ago

'Language restriction'. More like ability and/or willingness to learn restriction.

And of course a vibe coder can't write proper sentences with punctuation. If this is what their AI coding chatbot sees, I almost pity it.

path: 0 24642182, hotness: undefined, score: 29, children: 0
plc 15 points 3 months ago

We need a programmer_tragedy community for this stuff instead. 💀🤡

path: 0 24646001, hotness: undefined, score: 15, children: 0
JackbyDev 12 points 3 months ago

This is funny, and I do think it's fair to take little jabs at vibe coders, but just be careful. When I was learning to play a game in the past I asked a question. People thought the answer was obvious because the rules were on the thing I was asking about, but I was so new to the game I didn't even know what those words meant. If this was any other context, I'd be hesitant to give someone flak for not knowing a technical term like that. (The context being that somebody vibe coded something.)

path: 0 24649900, hotness: undefined, score: 12, children: 4
YaBoyMax 26 points 3 months ago

On the contrary, the borrow checker is basically the first thing you learn about when writing in Rust as it's the primary "gimmick" of the language. Anyone writing a non-trivial program should have at least heard the term before, even if they don't fully understand how it works.

path: 0 24649900 24650237, hotness: undefined, score: 26, children: 0
hirihit640 7 points 3 months ago

but I was so new to the game I didn't even know what those words meant

There's nothing wrong with being new to something. But you shouldn't be new to rust and releasing an app. Normally by the time you've written such an app you would be familiar with rust, but vibe coding allows you to bypass that wall

path: 0 24649900 24653066, hotness: undefined, score: 7, children: 2
JackbyDev 4 points 3 months ago

Eh, I don't really see a problem with releasing an app before you "should" release one. I don't think the world improves by discouraging amateurs from sharing their work. Now whether they actually try to learn and grow or just keep vibe coding, who knows.

path: 0 24649900 24653066 24653173, hotness: undefined, score: 4, children: 1
hirihit640 8 points 3 months ago

I can see that actually. I guess the post points out two things:

  1. the dev being a a bit deceitful, downplaying their use of AI when clearly the project is like 90% AI
  2. the community being frustrated by the lack of quality signals in the new world. Previously programming took a lot more effort, so just the existance of an app already meant that the dev was mildly competent. And at the very least it meant that the dev could fix and maintain the app when something broke. Now those trust signals are gone.
path: 0 24649900 24653066 24653173 24653382, hotness: undefined, score: 8, children: 0
TotallyWorthLife 9 points 3 months ago

You know, this shit makes me wanna learn Rust, it has been long since I really programmed anything.

(Lack of any idea to program more than anything tbh)

path: 0 24643134, hotness: undefined, score: 9, children: 10
jjj 8 points 3 months ago path: 0 24643134 24652400, hotness: undefined, score: 8, children: 1
TotallyWorthLife 1 point 3 months ago

Ohhhh thank you

path: 0 24643134 24652400 24658430, hotness: undefined, score: 1, children: 0
AeonFelis 4 points 3 months ago

(Lack of any idea to program more than anything tbh)

Make a launcher. Apparently they are all the rage nowadays.

path: 0 24643134 24653021, hotness: undefined, score: 4, children: 1
TotallyWorthLife 2 points 3 months ago

Will consider that too lol

path: 0 24643134 24653021 24658453, hotness: undefined, score: 2, children: 0
JackbyDev 3 points 3 months ago

I'm not sure if your comment means you're rusty (heh) or a novice who hasn't tried programming in a while, so I'm sorry if this comes across as condescending. The best advice I try to give everyone is to chase the fun. That advice applies both to people learning and hobbyists doing stuff.

I see a lot of folks argue about what's the best way to begin or where the best place to begin is. There's no best way. Everything builds into each other. You become a better programmer regardless of what language you choose.

Rust was fun! I fiddled with it a bit a few years ago. The only real frustration I had was that it complained a lot about half correct programs. Like in other languages I may have just been able to put some bad code or something in some place I didn't really care about and wasn't focusing on, but Rust is very strict. It's been long enough now that I forget exactly what specifically bothered me. It could have just as easily been that it was because I didn't know it well so the compiler was just the messenger of that lol. Other languages could have just blown up at runtime.

path: 0 24643134 24649848, hotness: undefined, score: 3, children: 2
TotallyWorthLife 1 point 3 months ago

I'm more a novice that hasn't programmed in a while. Did a 2 year course above higschool but below uni, and worked as intern for two months, but apart from that haven't really programmed as I don't know what to do if not given a goal.

path: 0 24643134 24649848 24649947, hotness: undefined, score: 1, children: 1
JackbyDev 2 points 3 months ago

I've heard a lot of good things about the book "automate the boring stuff with Python." It focuses on practical examples more than the theory. It's also available for free since it is licensed under Creative Commons. That said, I haven't personally checked it out. Just mentioning it as something that focuses on goals and works towards accomplishing them, which sounds like what you're looking for.

path: 0 24643134 24649848 24649947 24670300, hotness: undefined, score: 2, children: 0
calcopiritus 3 points 3 months ago

If you want an idea: just yesterday libre office writer crashed on me like 7 times. Losing all unsaved progress each time.

If someone competent wrote a good OSS alternative I would download it in a heartbeat.

path: 0 24643134 24654891, hotness: undefined, score: 3, children: 1
TotallyWorthLife 2 points 3 months ago

I will consider that lol

path: 0 24643134 24654891 24658448, hotness: undefined, score: 2, children: 0
nightlily 2 points 3 months ago

Rust takes a lot of getting used to if you’re more familiar with C-derived languages but it’s very cool. I’d recommend something small and not needing asynchronous code to begin with (async Rust is… hairy)

path: 0 24643134 24651265, hotness: undefined, score: 2, children: 0
HrabiaVulpes 5 points 3 months ago

I do not get it. Aside from the fact that the supposed "creator" writes a bit like he processes every sentence through AI-translation software... which might as well be reddit feature.

path: 0 24650017, hotness: undefined, score: 5, children: 3
YaBoyMax 27 points 3 months ago

The borrow checker is a feature of Rust's compiler which places strict constraints on ownership of data to guarantee memory safety. It adds a lot of friction to writing Rust code if you're not experienced with the language (or sometimes even if you are). OP refers to the "language restriction of Rust", seemingly talking about the borrow checker, but has never even heard of it. It's kind of like someone claiming they didn't vibecoded their C++ project but having no idea what the STL is.

path: 0 24650017 24650214, hotness: undefined, score: 27, children: 2
HrabiaVulpes 6 points 3 months ago

Sounds like java garbage collector but backwards... perhaps I will understand it better if I ever try Rust.

Thank you for explanation, YaBoyMax

path: 0 24650017 24650214 24650301, hotness: undefined, score: 6, children: 1
calcopiritus 12 points 3 months ago

Yes, the end goal is very similar to a garbage collector. Both are advanced systems of memory management.

The most important difference being that a garbage collector runs at runtime, while the borrow checker at compile time. Which means that the borrow checker has 0 impact on the program's performance. It just takes longer to compile the program.

Which also means that, while the garbage collector says "you can do whatever you want with memory, don't worry about it, I'll handle it for you". The borrow checker says "you fucking donkey. Why did you do that? I won't compile this if you don't fix it".

So you trade programmer comfort for performance (end user comfort).

path: 0 24650017 24650214 24650301 24654839, hotness: undefined, score: 12, children: 0
brb 3 points 3 months ago

What is borrow checker?

path: 0 24633609, hotness: undefined, score: 3, children: 1
bignose 8 points 3 months ago path: 0 24633609 24635092, hotness: undefined, score: 8, children: 0
aBundleOfFerrets 1 point 3 months ago

The amount of programmers who have no idea what the borrow checker is kinda baffles me. You don’t need to know how to write rust to know what the borrow checker is.

path: 0 24690374, hotness: undefined, score: 1, children: 2
floofloof 4 points 3 months ago

I wouldn't expect anyone to know about it unless they had taken an interest in Rust. It's pretty unusual.

path: 0 24690374 24690708, hotness: undefined, score: 4, children: 1
aBundleOfFerrets 1 point 3 months ago

This is a programming community, people will not shut up about rust, and yet people don’t bother to educate themselves on it’s headline feature?

path: 0 24690374 24690708 24692522, hotness: undefined, score: 1, children: 0
beegnyoshi 1 point 3 months ago

Can I get a link?

path: 0 24632726, hotness: undefined, score: 1, children: 2
MaskedNybbles 2 points 3 months ago path: 0 24632726 24649476, hotness: undefined, score: 2, children: 1
beegnyoshi 2 points 3 months ago

Thank you!

path: 0 24632726 24649476 24649692, hotness: undefined, score: 2, children: 0
programmer_humor
programmer_humor

@programming.dev

login for more options
33694
2568
7703

Welcome to Programmer Humor!

This is a place where you can post jokes, memes, humor, etc. related to programming!

For sharing awful code theres also Programming Horror.

Rules

  • Keep content in english
  • No advertisements
  • Posts must be related to programming or programmer topics
    • If the mod doesn't find it funny, you're banned. Ha-ha!... For real: do not use the community for "statements". There are other places for such content. Keep it chill and funny.

go to feed...