this post was submitted on 31 Mar 2025
563 points (96.2% liked)
linuxmemes
24415 readers
796 users here now
Hint: :q!
Sister communities:
Community rules (click to expand)
1. Follow the site-wide rules
- Instance-wide TOS: https://legal.lemmy.world/tos/
- Lemmy code of conduct: https://join-lemmy.org/docs/code_of_conduct.html
2. Be civil
3. Post Linux-related content
sudo
in Windows.4. No recent reposts
5. π¬π§ Language/ΡΠ·ΡΠΊ/Sprache
6. (NEW!) Regarding public figures
We all have our opinions, and certain public figures can be divisive. Keep in mind that this is a community for memes and light-hearted fun, not for airing grievances or leveling accusations.Please report posts and comments that break these rules!
Important: never execute code or follow advice that you don't understand or can't verify, especially here. The word of the day is credibility. This is a meme community -- even the most helpful comments might just be shitposts that can damage your system. Be aware, be smart, don't remove France.
founded 2 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
Programming language like many others It has some fancy borrow checker that makes memory usage get statically analyzed by the compiler, so you dont have to manually manage memory, and the program won't need a garbage collector
Not sure how this got upvoted with this glaring mistake. You have to manage memory. The point is that the compiler catches it if you make a memory management mistake, making things like data races, uses after frees, etc. literally impossible (short of intentionally using the
unsafe
tag).I think it's debatable whether RAII should be called "memory management". Whether dealing with Rust or modern C++, you don't need to "manage" the memory beyond specifying a container that will determine its lifecycle behavior, and then you just let it drop.
You could certainly choose to manage it more granularly than that in Rust or C++, but in the vast majority of cases that would be considered bad practice.
That's a qualitatively different user experience than C or pre-2011 boostless C++ where you actually need to explicitly delete all your heap allocations and manually keep track of which pointers are still valid. Lumping both under "memory management" makes the term so broad that it almost loses its significance.
Yeah, as I understand, in the terms of language design theory, it is technically still "manual memory management". But since you don't end up writing
malloc()
andfree()
, many refer to it as "semi-automatic" instead, which certainly feels more accurate.You dont have to malloc and free manually That's what it means by 'not needing to do it manually'