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 2
elzbardico 12/12/2025|
Ok man, now give me a moment, I need to administer my weightloss weekly injection of L-Histidyl-2-methylalanyl-L-alpha-glutamylglycyl-L-threonyl-L-phenylalanyl-L-threonyl-L-seryl-L-alpha-aspartyl-L-valyl-L-seryl-L-seryl-L-tyrosyl-L-leucyl-L-alpha-glutamylglycyl-L-glutaminyl-L-alanyl-L-alanyl-N6-(N-(17-carboxy-1-oxoheptadecyl)-L-gamma-glutamyl-2-(2-(2-aminoethoxy)ethoxy)acetyl-2-(2-(2-aminoethoxy)ethoxy)acetyl)-L-lysyl-L-alpha-glutamyl-L-phenylalanyl-L-isoleucyl-L-alanyl-L-tryptophyl-L-leucyl-L-valyl-L-arginylglycyl-L-arginylglycine
andoando 12/12/2025|
1 for the money 2 for the green 3,4-methylenedioxymethamphetamine
collinmcnulty 12/11/2025||
The problem with descriptive names is that they start descriptive but then become proper nouns. At a former employer in the Fortune 100 outside the software industry, everything started with a descriptive name, that then became an acronym. And as every project and tool inevitably developed its own idiosyncrasies, the descriptive name pretty soon didn't tell you anything useful about the project at all.

It is an unavoidable reality that knowing something's name gives you very, very little information about what that something is. That's what sentences are for.

wredcoll 12/11/2025||
Knowing mysql is a database and not a socket wrench is mildly useful but it's more important that I know whether or not it supports enums.
nrhrjrjrjtntbt 12/12/2025||
Spanner is a wrench, or database
gowld 12/12/2025||
The military starts with a cool name, then makes an immediate backronym for launch.
the__alchemist 12/11/2025||
If the community followed the author's guidance, we would have names like "Generic LLM wrapper 690" ("GLW690" if following the early programming language conventions.) or "Github clone with a different ideology 11"
lr0 12/11/2025||
Not at all. You don't name by category, you can name by function or approach. PostgreSQL isn't "Generic SQL Database 47" it's the successor to Ingres (Post-Ingres-SQL). If your "LLM wrapper" does nothing distinctive worth naming, maybe don't publish it. But if it specifically handles streaming, call it something like "llm-stream-client." If it focuses on prompt templating, "prompt-template-engine." The name encodes the actual value proposition.

I actually stated this on the post, but let me reiterate, I think that naming things in somehow fun way is totally okay as long as it stays relevant to what the tool actually does (you can have this achieved by play wording suffixes (Mongo"DB", Open"SSL", Ma"git" are good examples, all are better than elephant, dog, and beaver).

hyperpape 12/11/2025|||
> PostgreSQL isn't "Generic SQL Database 47" it's the successor to Ingres (Post-Ingres-SQL).

Indeed. This helps me know that I'm using a database more modern than Ingres. I chose not to use Oracle or SQL Server because they might have predated Ingres.

Just one question: what's Ingres, and why do I care about it? Of course, I don't, which makes Postgres no more useful of a name than "fluffnutz" or "hooxup". That said, over time, I've come to like the name Postgres.

indymike 12/11/2025|||
Sometimes names have great value at the beginning of the project. In this case it explains exactly what the project is and will be... That said, marketing decisions like naming a product often don't age well.
lr0 12/11/2025|||
You don't need to know what Ingres is. "PostgreSQL" still tells you it's SQL-related, which is infinitely more than "fluffnutz" tells you. And once you learn it's a database, the name reinforces that knowledge forever. Good luck remembering what "fluffnutz" does in 6 months.
hyperpape 12/11/2025||
That's a really nice mnemonic. I wish I lived in an alternate universe where Postgres was called PostgreSQL so that it was easier to remember. Perhaps if we start using that, it will take over, like how everyone calls the Go project Golang.
necovek 12/12/2025|||
When Google introduced the Go language, it was impossible to google for any content related to it. So community quickly pivoted to always saying golang ;)

(At least that's how I remember it as I was "why name a language like that when you know it won't be searchable")

lr0 12/11/2025|||
https://www.postgresql.org

https://en.wikipedia.org/wiki/PostgreSQL

hyperpape 12/11/2025||
I know.

My point is that almost everyone refers to it as Postgres, because they do not actually value the descriptiveness of "PostgreSQL".

quesera 12/12/2025|||
> almost everyone refers to it as Postgres, because they do not actually value the descriptiveness of "PostgreSQL".

Also because the original name was, just, "Postgres". Stylized as POSTGRES.

PostgreSQL is an awful neologism (OK it's been around for a while now), and I honestly thought that they had decided to switch back to the original, and clearly superior, name. :) I recall it being under discussion several years back, and I am surprised it did not happen.

halper 12/12/2025|||
I always thought it was because it is more obvious how to pronounce "postgres" than "PostgreSQL".
gipp 12/11/2025||||
Sure, but how many LLM streaming clients are out there?

Namespacing, sure. But is "We use gh:someguy/openai/llm-streaming-client to talk to the backend" (x50 similarly cumbersome names in any architecture discussion) really better than "We use Pegasus as our LLM streaming client"?

lr0 12/11/2025||
Nobody says "gh:someguy/openai/llm-streaming-client" in conversation. You say "the streaming client" or "llm-stream" the same way you'd say "Pegasus." But when someone new joins or you're reading code, "llm-stream" is self-documenting. "Pegasus" requires looking it up every single time until you memorize an arbitrary mapping.
debazel 12/11/2025|||
This sounds awful, now you'll be reading some documentation or comment about llm-stream where they didn't mention the full namespace, so you have no idea which of the 50 different llm-stream tools they're talking about, and on top of that you can't even search for it online.
Joker_vD 12/11/2025||||
> You say "the streaming client"

"Which one?! There are seven popular projects with this exact name on GitHub that have >100K stars; which particular one do you use?"

wredcoll 12/11/2025|||
I promise you, names are not self documenting. Not in any meaningful way.

This is one of those classic examples where things you've already learned are "obvious and intuitive" and new things are "opaque and indistinct".

We can go back and forth with specific examples all day: cat, ls, grep, etc are all famously inscrutable, power shell tried to name everything with a self-documenting name and the results are impossible to memorize. "llm-stream" tells me absolutely nothing without context and if it had context, pegasus would be equally understandable.

voidmain 12/12/2025|||
> PostgreSQL isn't "Generic SQL Database 47" it's the successor to Ingres (Post-Ingres-SQL)

How did they pass by "IngresSequel"?

TOGoS 12/11/2025||
Maybe, and I would definitely prefer this to the random-generic-word practice. "illuminate" is some part of Laravel, but I can't remember what it is, just that "that's not even a noun; they just picked that word for $whatever_crappy_subsystem because it sounds nice" and being even more annoyed at the whole thing because of it.
scoopdewoop 12/11/2025||
> programming shifted from corporate mainframe work to the community builders > which is good

but then:

> Our field deserves better than a zoo of random nouns masquerading as professional nomenclature

Okay? So is this professional nomenclature or the work of community builders?

I think: everyone should code, it should not be an elitist profession, we don't need to all accommodate busy professionals, i'm fine with corporate users having to say my stupid package name at work.

> Your fun has externalities. Every person who encounters your “fun” name pays a small tax. Across the industry, these taxes compound into significant waste

Someone please get this guy a bong rip.

tuveson 12/11/2025|
It’s all fun and games until you have to be like “blastoise deleted our database backups”
necovek 12/12/2025||
Well if they used coq, maybe it would not have happened!
MageOfTheEast 12/12/2025||
Nondescriptive names are not necessarily wrong or impeding. The author mentions science, yet STEM is filled with nondescriptive names: we have "Pythagorean theorem" instead of "right triangle sidelength theorem", "Newton's method" instead of "iterated tangent root-finding", "Lambda calculus" instead of "abstraction-application evaluation". Although they are not whimsical, these terms mean nothing to a first-time reader.
tliltocatl 12/12/2025|
Oh, STEM naming… Especially mathematics. How can you tell that a "set" is different from a "group" different from a "manifold" different from a "category"? Then there is a lot of seemingly unrelated things called "space" (they are all actually a topological space, but when studying e. g. vector spaces one might not yet have been into that). "Field" is two absolutely unrelated things in physics and algebra, sometimes these domains even intersect! Linear programming, no real relation to computer programming at all, "programming" used to mean "optimization". Calling stuff after their discoverers might be non-descriptive, but giving a misleadingly descriptive name that also collides is way worse - yet people working with this manage just fine.
bgar 12/12/2025||
>http-request-validator is infinitely superior to “zephyr”

Is it though? How are you going to differentiate between 10 different variations of http-request-validator repos on GitHub? I think both have their downsides, but making the name super generic sounding is arguably worse. What I don't like about names like zephyr is that they're purely marketing-driven; people end up picking a zephyr over a http-request-validator purely because the name is sounds "cool" to them, even though http-request-validator might actually be the better library. And don't even get me started on people naming their projects random Japanese words.. it's like the equivalent of nicknames that Thai people use, which are just random English words like Ice Cream or Thank You.

Maybe the happy medium is, like you said, names that contain a hint as to what they do, like Actix (actor model). But TBH you kind of still have to look it up to know what it does, there's no way you're just going to infer that. Maybe later on it helps you remember what it was for though.

robocat 12/12/2025|
> don't even get me started on people naming their projects random Japanese words

But words help us learn. How many times do you notice a connection between some word from your childhood and an adult concept or place? And they're not random, people choose things because of many hidden reasons, but random is rarely the case.

Many of us love the story behind a word - as shown by many of the comments here reflecting on the cultural history behind our tool names.

postalcoder 12/12/2025||
> There’s an odd tendency in modern software development; we’ve collectively decided that naming things after random nouns, mythological creatures, or random favorite fictional characters is somehow acceptable professional practice. This would be career suicide in virtually any other technical field.

I worked in finance – we gave our models names that endeared us to them. My favorite is a coworker naming his model "beefhammer".

notepad0x90 12/11/2025||
Yeah, this is a bit relative. Use microsoft tools/products (especially cloud/office) that came out in the past decade and you'll appreciate every other naming pattern.

My subjective view is that names should be exotic, flamboyant, unique and generally wild when it comes to tools. sticking your company's name as a prefix into everything (or the flagship product's) is confusing and only hurts you.

andrewmcwatters 12/11/2025|
[dead]
kgeist 12/12/2025||
I think if a project name is easily googleable, it's a good name. If I see "generic-tool-name failed" in the logs and can't immediately find what that thing even is, because I get lots of irrelevant search results, it's a bad name. This can happen with both descriptive and cutesy names.
atiedebee 12/11/2025|
Its interesting how early programming languages are mentioned as having proper names. In the 60s we went from BCPL to B to C. B and C are not descriptive at all. Should they have been named "operating systems language" or "portable Unix language" instead? I also fail to see how AWK is a well named tool according to these metrics. The initials of the creators dont tell you anything about what it actually is or does.
More comments...