[plt-dev] `rico' and ".rkt"
File suffixes:
* Clearly there is a whole range going from an obnoxious
"foo.racket.at-exp.typed.scheme-source" name all the way down to
"foo", so there is no single point that is right. I think that
"rkt" makes sense because it's indicative enough (nearly unique),
and because it's short.
* As for the length -- I think it matters a lot. Filename completion
is not always available: when you create a new file, when you type a
url to a file, when you're on Windows and you don't know the secret
magic words to make completion happen, when you're writing shell
scripts, etc etc. The bottom line is that I type the suffix
frequently enough to be annoyed at ".scrbl" as too long of a
suffix.
* One slight problem I have with ".rkt" is the forced left-right
keyboard travels. I won't mind much switching to ".rs" for that.
(I know that there's no need to keep the "source" word, but the
convenience is tempting.) Or ".rk" or ".ra". (".rt" reads to me
like "runtime".)
* I don't like ".rckt" not only because it's longer, but because I
need to think about which letters are in -- having a three-letter
suffix means that it's much easier to add it to my finger's short
term memory. In this sense, a three-letter suffix is similar to an
80-character limit on line length -- we're not using 70s green
terminals anymore, but reading code is much easier.
* For compiled files, I don't think that there's any point in changing
".zo". It sounds binary-ish enough, there's even an "o" that has
the right associations, and I don't see any other uses for it.
* And re the point of having no suffix -- that's just impractical. It
means that we won't be able to register a Windows extension (IIUC,
some OSX mess will happen too), it means that web servers need to be
configured to inspect the file and look for a non-trivial magic (a
feature that the plt web server doesn't even have), and there's many
more places that depend on an identifiable name (for example, all
identifiable (by suffix) source files in the plt tree are getting
compiled).
* As for allowing variants (like ".racket" or ".rkt" or ".r") -- that
sounds good to me (in that people who want the long names and are
willing to suffer for it can), but it complicates a bunch of other
stuff, so I think that having a single blessed suffix is better.
(No practical way to avoid ".ss" for compatibility, but that should
be deprecated and eventually removed.)
Executable name:
* I think that it works very well with non-americans (if I take myself
as an example) simply because it sounds good. For example, if I
tell you to run "rkt" (use it in a *spoken* dialog), I'll need to
spell it. But with "rico" the only question might be if it's "rico"
or "ricco". Having a memorable name is a big advantage imo. In
other words, "rico" is something that is very easy for me to
remember, independent of the pun. (I take the use of Rico in a
children's tv series as supporting this.)
* Another problem with "rkt" is that it's confusing in that it's
similar to "racket" (so my first guess would be that it's just a
shorter name). So if "rico" is not going to be the name, I'd vote
for something that is still different from "racket". I'd
specifically avoid names that contain "racket"... (Also, names
based on "plt" are going to make even less sense.)
* As for Shriram's point about resolving the ambiguity -- I don't
think that it does, if other puns are used elsewhere. The best
example I have so far is that "Racket Ball" is an obvious name for
.plt files... I also think that DrScheme would be better with some
pun instead of "DrRacket", but that seems to have been ignored with
a thundering silence.
--
((lambda (x) (x x)) (lambda (x) (x x))) Eli Barzilay:
http://barzilay.org/ Maze is Life!