Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Race conditions not necessary for memory safety #25

Closed
wants to merge 1 commit into from

Conversation

david-a-wheeler
Copy link

Many programming languages, such as Java, do not automatically prevent race conditions in memory, yet they are still considered "memory safe" programming languages.

Update the definition to match actual practice.

Many programming languages, such as Java, do *not*
automatically prevent race conditions in memory, yet they
are still considered "memory safe" programming languages.

Update the definition to match actual practice.

Signed-off-by: David A. Wheeler <dwheeler@dwheeler.com>
@nellshamrell
Copy link
Contributor

Hi @david-a-wheeler!

We discussed this in today's meeting and had some ideas on how we can address this.

How would you feel if we removed data races from the "Prevents" list and instead started a separate list called "Addresses" and add data races there? We can also include some text about how some languages (such as Rust) prevent them by default, but other languages (such as Java and Go) require additional effort (such as using particular packages/libraries/standards) to prevent them?

@david-a-wheeler
Copy link
Author

How would you feel if we removed data races from the "Prevents" list and instead started a separate list called "Addresses" and add data races there? We can also include some text about how some languages (such as Rust) prevent them by default, but other languages (such as Java and Go) require additional effort (such as using particular packages/libraries/standards) to prevent them?

That sounds better. Rust is really an outlier here. That's obviously not a bad thing for Rust, but since it's generally agreed that Java & Go are memory safe languages, asserting that they prevent all data races is too strong. It's true that Java & Go prevent certain kinds of accesses (which help address data races), but that's not the same thing.

@nellshamrell
Copy link
Contributor

I've incorporated the changes we have discussed here into a new pull request #27. Closing this one, but please feel free to re-open if needed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants