What’s the Term for a Filename Without Its Extension?
Today someone asked in OCaml’s Discord “How do you call a variable that refers
to a filename without its extension?”. I always thought there was no specific
term for this and I always named such variables filename-sans-extension
(or
similar), but it turns out I was wrong. It’s never too late to learning
something new! But first a bit of (subjective) terminology:
/path/to/some_file.foo
- filepath/path/to
- directorysome_file.foo
- filename/basenamefoo
- extensionsome_file
- ???
I hope that makes things clear. Now we can proceed!
So what’s the term we’re looking for? Turns out it’s stem
and it’s present in a few popular programming languages:
Why stem
? While I can’t be sure I’d say it’s either a nod to the tree
terminology
that’s pretty pervasive when we’re talking about directories, or a nod to linguistics:
In linguistics, a word stem is a part of a word responsible for its lexical meaning. The term is used with slightly different meanings depending on the morphology of the language in question.
If I had to guess - probably the term originated with C++, given it’s the oldest
language I could find that’s using it. If someone knows the origin of the stem
terminology, please do share! At any rate - I kind of like it and I’ll probably
use stem
or the more descriptive file_stem
going forward.
That’s all I have for you today. Keep hacking!