this post was submitted on 19 Mar 2024
145 points (92.9% liked)

Programming

17454 readers
142 users here now

Welcome to the main community in programming.dev! Feel free to post anything relating to programming here!

Cross posting is strongly encouraged in the instance. If you feel your post or another person's post makes sense in another community cross post into it.

Hope you enjoy the instance!

Rules

Rules

  • Follow the programming.dev instance rules
  • Keep content related to programming in some way
  • If you're posting long videos try to add in some form of tldr for those who don't want to watch videos

Wormhole

Follow the wormhole through a path of communities [email protected]



founded 1 year ago
MODERATORS
145
submitted 8 months ago* (last edited 8 months ago) by [email protected] to c/[email protected]
 

Python is memory safe? Can't you access/address memory with C bindings?

you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 15 points 8 months ago (2 children)

C++ is leagues above C in this regard. He's rightly upset that they're lumping the two together.

Bjarne's work for safety profiles could indeed manifest in a solution that guarantees memory safety; time will tell. C++ is a moving target.

[–] [email protected] 13 points 8 months ago (1 children)

C++ is leagues above C in this regard.

It's really not. It has the same flaws, some libraries that promise to avoid them (as long as you don't hold them wrong - what every single programmer does), and lots and lots of new flaws that may come from anywhere.

[–] [email protected] 3 points 8 months ago

I use C, C++ and Rust in my dayjob.

I don't like C++, but I disagree with your statement.

C++ has:

  • a string type, which sidesteps error prone buffer juggling.
  • smart pointers for scope based deallocation.
  • generic data types. No more hand rolling list and mapping types with void *.

It's obviously still not a fully memory safe language, but it has some perks over C. I'd still much rather be using rust (most of the time).

[–] [email protected] 9 points 8 months ago* (last edited 8 months ago)

That depends on how you decide which bucket something gets thrown into.

The C++ community values things like the RAII and other features that developers can use to prevent classes of bugs. When that is you yard-stick, then C and C++ are not in one bucket.

These papers are about memory safety guarantees and not much else. C and C++ are firmly in the same bucket according to this metric. So they get grouped together in these papers.