Top
Best
New

Posted by todsacerdoti 12/11/2025

Programmers and software developers lost the plot on naming their tools(larr.net)
422 points | 534 commentspage 6
formula1 12/11/2025|
One issue with package naming is competition. One of the great things about OSS or software in general is people can take inspiration from other projects that do the same thing. Personally I've ran into deciding which casting library to use

- runtypes - https://github.com/runtypes/runtypes

- zod - https://zod.dev/

- ajv - https://ajv.js.org/

AJV and runtypes use the naming convention that the article suggestions. It's named is derived from how it's used. Zod on the other hand seems to come from left field.

Personally, I built a simple caster called "ShallowCaster" before choosing to move to a library as things got move complex but I think a problem is that as competition increases the "generic" naming becomes more difficult to find.

I suppose an option is to include the author name for each package such as "json casting from google" or "@google/json-casting" this way all packages can use the descriptive naming while not conflicting

erelong 12/12/2025||
A bit tangential but I was going to make a post of my own on naming with the problem of "filenames"

so many times I download something and the filename has nothing to do with the file or it's too much of an abbreviation so when I go to look for the file it's hard to find or if I come across one of these files I have no idea what it actually contains

ozgung 12/12/2025||
Great post and I think this extends to machine learning names, although not that severe. Maybe it all started with Adam. When I say “I used Adam for optimization” this means I used a random opaque thing for optimization. If I say “I used an ADAptive Moment estimation based optimizer” it becomes more transparent. Using human names or random nouns has been a trend. Lora, Sora, Dora, Bert, Bart, Robert, Roberta, Dall-e, Dino, Sam… With varying capitalization for each letter. Even the Transformer. What does it transform exactly? But it gets worse. Here is a list of architectures that may replace Transformers [0]: Linformer, Longformer, Reformer, Performer, Griffin, BigBird, Mamba, Jamba... What’s going on?

[0]https://huggingface.co/blog/ProCreations/transformers-are-ge...

eckesicle 12/12/2025||
We had this debate at my company and the end result was a ban on “random” service names.

So we ended up with “auth service” instead of something like “Galactus”. The problem of course is that “auth service” isn’t searchable in our monorepo and it was a nightmare to find or discuss any info or references to the service itself. Now imagine if docker was called “container manager”. Good luck googling that and disentangling it from all the search results.

The value of a name doesn’t come from it being self-explanatory but rather from it being a pseudo-unique identifier. The small cognitive tax of remembering it serves as a shared bookmark between people that you can refer to when discussing or speaking to others about it - whether we’re talking about docker, Linux, or another person.

PhilipRoman 12/12/2025|
It's especially fun once the service is superseded. Guess which one of these services handles MAC address allocation and storage: macaddr_db or atom-util?
a96 12/12/2025||
"There's a repo called Beyonder. That's got to be what came after Galactus."
dep_b 12/12/2025||
Worse is the Git UI, where random English words that seem to have a clear meaning in the context of source control don't do at all what you think they do, or five different things, or are really just a bunch of other commands wrapped together for less typing (like "pull").

I would rather have fantasy names than wrong names.

throwaway81523 12/11/2025||
> http-request-validator is infinitely superior to “zephyr” when someone is scanning dependencies at 2 AM debugging a production incident.

The "Zephyr" that I knew about was a notification system for workstation clusters on a LAN, written at the MIT Athena project. You'd announce something on it, and the info would spread through the network as if by a gentle breeze. See: https://en.wikipedia.org/wiki/Zephyr_(protocol)

I do recall there was an experimental study in the 1980s (Hartwell, Landauer, and Gigliotti iirc) showing that this naming stuff doesn't matter. This exact same debate was going on back then. The study refuted Don Norman's "The Truth about Unix" paper which claimed that Unix commands ("rm", "mv", etc.) were too hard to remember.

dwaltrip 12/11/2025||
The author is vastly overestimating the general legibility and familiarity of things they happen to know well and are used to.

Boring names are also very generic, by definition, and thus often harder to remember. Especially when there are 10 other similar tools. Is it sql-validator, sql-schema-validator, schema-validate, db-validator, or god knows what else?

Edit: I am in favor of better “sub titles” / descriptive slugs / and so on. As well as names that are a hybrid of creative and descriptive. Sqlalchemy is a good example.

Why isn’t there a command line utility called “whatisthis” with a standard protocol that allows tools to give a brief description of what they are?

It could be extended to package managers as well. E.g “pip whatisthis foo_baz”.

Shit we should create this…

daotoad 12/11/2025||
The real trick is getting just enough meaning into the name to be helpful, while keeping it distinct. SQLAlchemy is a great example.

I called by zsh bookmark tool `tutu`, my idea was to make it sound like what it does.

- It helps you go TO places - The main command is `tu` because it is short, a homophone of "to", and wasn't already taken - Additional commands `tutu` (which does a `pushd` instead of `cd`) and `untu` (which is just a wrapper around `popd`) are short, memorable, and pronouncable.

All of those naming decisions were made with ergonomics in mind.

Was I successful? I like it. A few other people are using it and seem to like it, too.

To the extent that I was, I think it's because the name is meaningful enough while remaining distinct.

https://github.com/daotoad/tutu

accrual 12/11/2025|||
> Why isn’t there a command line utility called “whatisthis” with a standard protocol that allows tools to give a brief description of what they are?

Cheekily, man?

dwaltrip 12/12/2025||
Hah good point. Maybe v1 just pulls the first few lines from man.
p4ul 12/11/2025||
This might not be exactly what you mean by a CLI app called "whatisthis", but I have been using cheat.sh and the pattern below for a few years. It works really well!

curl cheat.sh/grep # fetches brief grep cheat sheet

Lerc 12/11/2025||
Past projects of mine.

    'pedes
    Glook
    Fitznik
    Plops
    Gyralight
    I wanted a new tower defence game: So I made one
Oh and https://lerc.itch.io/namesarehardpart5

The examples given for real world things The Golden Gate Bridge and The Hoover Dam, are instances of things. Things that the class of which they belong is old enough that Dam and Bridge are not new words.

If you are making new things you need a new name. Software is inherently new because computers have been in wide use for only a few decades. Instances of software rarely even get names, just numbers, with project names or nicknames attached. I'd be willing to bet both The Golden Gate Bridge and the Hoover dam had project names or nicknames.

misterpurple45 12/12/2025||
The author isn’t comparing apples with apples.

“Butterfly valve” is the name for a type of widget.

There are many instances of “butterfly valve”, some of which will have strange brand names.

Just like there are many “web frameworks”, each with weird and wonderful names (“Django”, “Rails”, “Spring” etc.)

We’re really not that different.

superfrank 12/12/2025|
> Same thing applies to other fields like chemical engineering [...]. No chemist wakes up and decides to call it “Steve” because Steve is a funny name and they think it’ll make their paper more approachable.

I realize this isn't chemistry, but aren't there like 15 elements that are named after people (Curium, Einsteinium, etc) another handful named after places (Americium, Tennessine, etc).

Also, a bunch are named after Norse and Greek gods like Thorium, Titanium, Plutonium.

The article also goes to talk about the Hoover Dam, but it's not like the government is immune to this either. We just had Operation Warp Speed which doesn't tell you anything about what that program did

More comments...