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

Name of the game #262

Closed
mmaechler opened this issue Nov 21, 2022 · 22 comments · Fixed by #276
Closed

Name of the game #262

mmaechler opened this issue Nov 21, 2022 · 22 comments · Fixed by #276

Comments

@mmaechler
Copy link
Collaborator

I think we should spend some effort now to really change the name away from R7 ASAP.

This is not about R versions, nor is it about summing S3 + S4, ..

I agree a short 2-letter name may be very desirable, but starting it with R may be suboptimal, unless we use a non-digit as 2nd letter, e.g., RO

@mmaechler
Copy link
Collaborator Author

mmaechler commented Nov 21, 2022

I mentioned O1 (The number one definitive object system) when we met online recently ..
(note this is "O 1" (without the space), and above "R O" (2 capital letters), the backquote font here really showing the letter O almost as the digit 0 (O vs 0).

@hadley
Copy link
Member

hadley commented Nov 21, 2022

To remind ourselves of the thinking behind R7:

  • R: this was an OOP system designed for specifically for R, as opposed to S
  • 7: 3 and 4 have strong associations with S3 and S4, R5 was used unofficially to refer to reference classes, and R6 is an existing package. 7 also has the nice implication of 3 + 4.

In my mind, the major problem with R7 is that it implies a strong connection with R6, i.e. it makes people think that R7 is an OOP system where methods belong to classes, not functions.

@mmaechler
Copy link
Collaborator Author

mmaechler commented Nov 21, 2022

Yes, R5 was strongly disliked by the creator of the reference classes but inspite gave rise to naming 'R6' and indeed our "O1" is far from the R6 package.
S is basically unknown to 95% of the active R developers and users and "specifically for R, .. not S" does not really make sense to them.

@lawremi
Copy link
Collaborator

lawremi commented Nov 23, 2022

I'd like to broaden our search beyond names consisting of a letter and a number.

@hadley
Copy link
Member

hadley commented Nov 23, 2022

@lawremi have you considered everything in outer(LETTERS, 0:9, paste0) ?

@mikmart
Copy link

mikmart commented Dec 3, 2022

Would S7 make any sense?

As someone who just recently found out about this initiative, R7 did indeed make me instantly think OOP and immediately afterward "better R6." I think S7 would still preserve that strong association to OOP via S3 and S4, and also hint it's not continuing along the lines of R6 style OOP but instead the S3/4 style.

@lawremi
Copy link
Collaborator

lawremi commented Dec 4, 2022

Good point, S7 seems at least as reasonable as R7 to me.

@hadley
Copy link
Member

hadley commented Dec 4, 2022

I could get behind S7.

@mmaechler
Copy link
Collaborator Author

mmaechler commented Dec 13, 2022

As mentioned yesterday at the virtual meeting, I think S7 is better than anything else mentioned till now. It has at least two clear advantages over R7 : S3+S4 = S7 \ not confusible with a future version of R.

@jimhester
Copy link
Collaborator

S is basically unknown to 95% of the active R developers

This seems a compelling argument to avoid using S in the name.

I think something simple like just oop or even oo might work.

For fun I asked everyone's favorite AI ChatGPT for some suggestions, here is what it came up with (verbatim including the rational for each)

  • roop (short for "object-oriented programming")
  • rplus (suggesting an improved version of R)
  • roopr (combining the "R" in "R7" with the "oop" in "object-oriented programming")
  • rclassy (suggesting a more elegant and sophisticated approach to OOP)
  • rtoolbox (suggesting a collection of useful tools for OOP)
  • rkit (short and simple, with a playful connotation)
  • roopster (suggesting a more powerful and versatile OOP system)

@Robinlovelace
Copy link

👍 4 S7 interested to hear what others think...

@mmaechler
Copy link
Collaborator Author

I think starting with an "R" (lower- our upper case) is not a particularly good idea.
Using "oop" (one way or the other) was mentioned by Michael @lawremi early, too; I could live with a version of that and would prefer it to R7 ... then, given the proposals so far, my personal favorite would remain with S7
{One drawback of a version of "OOP" is that too many people mentally directly jump to C++ / Java style of OOP when they see/hear it}.

@s-fleck
Copy link

s-fleck commented Dec 19, 2022

S7 (and S5) would imho be good choices. The R names are now established for reference-class style classes.

@tdeenes
Copy link

tdeenes commented Dec 19, 2022

S is basically unknown to 95% of the active R developers

This seems a compelling argument to avoid using S in the name.

I am sure S3 and/or S4 are known to at least 95% of the active R developers (not users). For such a core package as this pkg will evolve I would definitely avoid ChatGPT-like names, which is basically a pseudoword generator in English with the only constraint "start with letter r" for this exercise. S7 is short, easy to remember, language-agnostic, and has an inherent relationship to the main focus of this pkg.

@t-kalinowski
Copy link
Collaborator

I like S5. It has continuity, and suggests that this is a further iteration on the ideas along the path of S3 --> S4 --> S5.

@DrEntropy
Copy link

Perhaps it should have a name that harmonizes with the tidyverse? methodr ? genericr ?

@mmaechler
Copy link
Collaborator Author

Perhaps it should have a name that harmonizes with the tidyverse? methodr ? genericr ?

Not really. The whole is not related to the tidyverse (apart from the fact that partly the same people are involved);
rather more to "all of R".

Could we rather try to finalize and start putting up a short list from which to choose?
I'd start with (alphabetical ordering) {R7, S5, S7}

@hadley
Copy link
Member

hadley commented Jan 10, 2023

In the OOP WG meeting on Monday there was broad agreement that S7 was the way forward.

@mmaechler
Copy link
Collaborator Author

mmaechler commented Jan 11, 2023

Thanks, good to know (that meeting was not in my calendar for some reason). So this will be closed together with the name change (which will be done by ??; I could if wanted, but maybe you need to coordinate this with more than just this repos?)

@mmaechler
Copy link
Collaborator Author

That would be great. I have a somewhat interesting plan for a new R package to be based on 'S7',
current tentative name 'arbR' (interface of R and 'arblib' aka 'arb' --> https://arblib.org ) -> using S7 classed intervals (number +- errorbound).

@jl5000
Copy link

jl5000 commented Feb 13, 2023

I don't know whether it's of interest but I've also jumped the gun a bit and am writing a fairly chunky package called gedcomR7 (name to change), which is working out great. I'm just having trouble trying to work out how to export @, methods, and friends (while S7 is a separate package).

@daattali
Copy link

The R7 -> S7 change needs to be updated in the GitHub repo's "About" section

image

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 a pull request may close this issue.