Name this language!
R is just too ambiguous to be used solo, and calling it dgkf/R feels too vane. I think a rebrand is needed to help give this project a bit of its own identity.
Just to lay out some general themes that resonate with me with this project and its identity.
What is part of the language identity
- developed publicly and visibly
- is developed first and foremost as an educational and exploratory process, with the hopes of building a community of language enthusiasts
- embraces what makes R unique - namely lisp-y metaprogramming wrapped in a more familiar data science shell
- hopes to learn from and reinforce what has made R successful - particularly it's fluency for providing DSLs with enough guardrails to keep the core language familiar. There are good reasons why tidyverse reproductions have sprung up in a number of languages.
What isn't part of the identity
rust, although a language I enjoy writing in a lot, is not central to the identity of this project- Although I'm fine with allusions or homages to
R, "beating"Ris not part of the identity
I think a natural name for this would be S -> R -> Q. Coincidentally the .qmd and the .q file would be just like the .rmd and the .r files :)
Btw, I think the project is very interesting and I am hoping to contribute in the future!
I think a natural name for this would be
S -> R -> Q
This definitely is a contender. qmd is currently used by quarto, but I think that's the natural successor to rmd anyways and is language agnostic. The name is brilliant from a historical perspective and definitely maintains the S/R legacy - I think the arguments for are pretty clear. As I've naturally given this one a bit of thought as well, I'll just lay out what I see as potential downsides:
- R suffers from being a niche language with a single-letter name, making search-ability difficult at times, and often using the
rstatsmoniker, even though it's definitely used more broadly than just stats these days.rlangis equally ambiguous now as both a moniker and a package. Ultimately search-ability is a major part of the accessibility of a language, so the decision to go withQneeds to keep this in mind. Qis often used for "quantum" computing tools, and there's already aQ#available on Azure for quantum stuff.- There's already a
Q, although it seems quite niche to me. It's sold commercially, which means we'd probably be entrenched in some legal issues and I'm not sure I care enough to fight that battle. I'd probably have to get in contact with this company first.
Although I think the first point is the most regarding accessibility is most important, the more banal latter two are probably the bigger threat to using the name since there is commercial interest in it. I do like the idea of keeping the q around in some form or another as an homage to the language's heritage.
Btw, I think the project is very interesting and I am hoping to contribute in the future!
Wonderful :heart: ! I'm looking forward to it! Whenever you're ready, I'd be happy to help get you up to speed with some good first issues and to slowly get you onboarded to the internals.
I have thought a bit about possible names for this language and something that I like is "quasi":
- it starts with a q
- the language is "quasi" R,
- it is kind of a cool word!
- quasi quotation is an important feature of the language
- I did not find a language that already uses this name
- it is also reasonably googleable I would think
Another name that I like and which starts with Q would be "Quill", but there already is a project here (https://github.com/quill-lang/quill).
Also, thanks a lot for offering your help to getting me started! :) I am still in the process of learning rust but I would now like to start working on this project :) I thought I would start with giving this issue a try if this is fine with you?
New idea: what about calling it revolve (r evolve)
New idea: what about calling it revolve (r evolve)
I love it! I think this is the best idea so far!
Awesome! :) Should we go for it or do you want to wait for more suggestions / people to chip in?
I'd still like to hold off on a rebranding. For now, I think leaving it as "R" is still good for attracting the R crowd's interest. Even though there are a few deviations, it still feels like "R" to me.
Before I think it truly deserves an identity of its own, I think it needs a defining feature (independent of what R offers) and remotely comparable performance. Until then, I think it's better to make it feel familiar.
I'd characterize a defining feature is something that drastically changes the way you approach solving a problem. This could be something like the static typing, multithreading, or feature-gated metaprogramming - things that fundamentally change what the language is capable of. I hope we get there some day!
I'm also keeping my eye on a bunch of other up-and-coming high-level rust-inspired languages, which might eventually fill the gap that I'm trying to fill here. I have yet to see one that comes close to R's metaprogramming tools, though.
Been thinking about other alternative words that start with "r" in the same spirit as "revolve" and just wanted to track a few:
- revolt: both in terms of "revolution" and the N64 racer
- rebar: I like this one because I think of R as a "glue" language, but I always find "glue" to be a bit dismissive and I think "rebar" is a more apt description of the role that I see it having. Also is metal-y as a bit of an homage to it's rust foundation, though admittedly this is an afterthought.
I like rebar! The interpretation would not only make sense to describe the functionality of the language itself, but in my opinion even partially express the relationship between the "new" language and R (I am not sure whether this is what you meant), which I think includes trying to give the great ideas from R more structure / support.
On a side note: I just hope that translating the language will not become part of the localization, because I can tell you, "Betonstahl" does not sound like a programming language in german 😅
Just to put one more name out there: What about "quarry". It is somehow similar (in terms of letters) to a couple of concepts that this language is about:
- it almost contains the word array
- it is reasonably similar to the word query
- it contains "ry" ("R like")
- it starts with a q
"quarry" sounds like you're describing this as "quasi R-y" but are in a hurry, which makes me like it 😎
"quarry" sounds like you're saying describing this as "quasi R-y" but are in a hurry, which make me like it 😎
Ah! I don’t think I fully understood what @sebffischer was first suggesting. I didn’t pick up on the “ry” being “R-y”.
Maybe something like qry? I like this because the command would still be very short, it can be read aloud as “query”/“quarry” (or “cry” if things are broken I guess 😅). And most importantly, I’m sure it is far more searchable.
Not sure if I’m totally sold on the shorthand name, but I do want a language name more searchable than “R”
Not sure if I’m totally sold on the shorthand name, but I do want a language name more searchable than “R”
If we go with the shorthand variant (and I like that there are different ways to pronounce it) I think we should still provide an "official" pronunciation. A "CRAN" situation (KRAN vs see-RAN) should probably be avoided.
"quarry - a language for data mining" could also be a slogan :smile: