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

all: decide on the hyphenation of pseudorandom vs pseudo-random? #25959

Open
bradfitz opened this issue Jun 19, 2018 · 5 comments
Open

all: decide on the hyphenation of pseudorandom vs pseudo-random? #25959

bradfitz opened this issue Jun 19, 2018 · 5 comments
Labels
Documentation NeedsDecision Feedback is required from experts, contributors, and/or the community before a change can be made.
Milestone

Comments

@bradfitz
Copy link
Contributor

The docs for crypto/rand contain both "pseudorandom" and "pseudo-random" for the same part of speech.

Decide which to use.

Also, the package doc says:

Package rand implements a cryptographically secure pseudorandom number generator.

But the Reader says:

Reader is a global, shared instance of a cryptographically strong pseudo-random generator.

Is it cryptographically "strong" or is it "secure"? Can we pick a word there too?

Or can we just remove "pseudorandom" altogether? I feel like it makes it sound too much like math/rand.

Can we just say "cryptographically secure random number generator"?

/cc @FiloSottile @agl @ianlancetaylor

@bradfitz bradfitz added this to the Go1.11 milestone Jun 19, 2018
@ianlancetaylor
Copy link
Contributor

CC @robpike

@smasher164
Copy link
Member

I see what you meant by your comment now :)
It looks like "pseudorandom" is a valid English word:
https://www.merriam-webster.com/dictionary/pseudorandom
Additionally, words with the prefix "pseudo-" are apparently not hyphenated:
http://www.mit.edu/course/21/21.guide/hyphen.htm

Secure vs Strong: If we had to choose, I'd go with secure since even the man page for /dev/[u]random mentions the following under "Usage":

the output is cryptographically secure against attackers without local root access as soon as it is reloaded in the boot sequence

TLDR, we may want to mention that crypto/rand implements a CSPRNG (cryptographically secure pseudorandom number generator).

@robpike
Copy link
Contributor

robpike commented Jun 19, 2018

I prefer pseudo-random and that's what math/rand uses, so that's my vote.

Generally, in English phrases become adjectives by hyphenation, and then after a long period of consistent usage the hyphens drop, but I don't believe pseudo-random is ready to lose its hyphen yet.

@FiloSottile
Copy link
Contributor

"cryptographically secure random number generator"

Too many people go from that "pseudo" to "but I need real randomness!" and then you end up with /dev/random.

@gopherbot
Copy link

Change https://golang.org/cl/119875 mentions this issue: crypto/rand: make documentation consistent between package comment and Reader

@bradfitz bradfitz modified the milestones: Go1.11, Unplanned Jun 20, 2018
@bradfitz bradfitz changed the title crypto/rand: decide on the hyphenation of pseudorandom vs pseudo-random all: decide on the hyphenation of pseudorandom vs pseudo-random? Jun 20, 2018
gopherbot pushed a commit that referenced this issue Jun 20, 2018
…d Reader

Updates #25959

Change-Id: I9ae64b216ab5807718db0db98b32de1dc5fa4bec
Reviewed-on: https://go-review.googlesource.com/119875
Reviewed-by: Rob Pike <r@golang.org>
Reviewed-by: Filippo Valsorda <filippo@golang.org>
@ALTree ALTree added the NeedsDecision Feedback is required from experts, contributors, and/or the community before a change can be made. label Feb 3, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Documentation NeedsDecision Feedback is required from experts, contributors, and/or the community before a change can be made.
Projects
None yet
Development

No branches or pull requests

7 participants