Live data from Hacker News

Programmers and software developers lost the plot on naming their tools

lr0.org

151–160 of 563 posts

Re: Programmers and software developers lost the plot on naming their tools

#151

Earlier quoted context omitted.

I think the author makes a hard distinction between consumer products and infrastructure/engineering products. The Shelby Cobra has a funny name, but its engine is the memorably named V8. The Hoover Dam is a dam, and the Golden Gate Bridge is a bridge. We can argue about namespace pollution and overly long names, but I think there's a point there. When I look at other profession's jargon, I never have the impression…

Also the author misses how elements, species and astronomical objects are named. After random places, people, games, fictional characters, etc. Names are just names. It’s nice if they are kind of unique and have no collisions.

Elements are numbered, species are messy categories to begin with and too numerous, and astronomical objects do have sensible naming[1].

But to me it's still unclear what a good naming culture would look like for programmers.

[1] https://en.wikipedia.org/wiki/Astronomical_naming_convention...

Re: Programmers and software developers lost the plot on naming their tools

#152

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 sl…

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

Re: Programmers and software developers lost the plot on naming their tools

#154
> Same thing applies to other fields like chemical engineering, where people there maintain even stricter discipline. IUPAC nomenclature ensures that 2,2,4-trimethylpentane describes exactly one molecule. 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.

Ummmmm...

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

"You sure 'bout dat? You sure 'bout dat?"

My favorite: there's a protein called "sonic hedgehog" that's essential to animal embryonic development. (All of the "hedgehog" family proteins would cause fruit flies to take on a spiky appearance when mutated, hence the name.) When chemists synthesized a drug that suppresses SHH protein's action, they named it "robotnikinin".

Re: Programmers and software developers lost the plot on naming their tools

#155
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.

Re: Programmers and software developers lost the plot on naming their tools

#156
post #70
post #23

Earlier quoted context omitted.

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"?

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.

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.

Re: Programmers and software developers lost the plot on naming their tools

#157

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 unavo…

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.

Re: Programmers and software developers lost the plot on naming their tools

#158
post #102

Earlier quoted context omitted.

However once you learn that sed means stream editor, you won't ever forget it. libsodium is forgettable.

lol no. There are literally a hundred plus Unix tools and commands. I couldn’t tell you what 90% of them mean. I sure as hell couldn’t have told you what sed stood for. And if you asked me tomorrow I also wouldn’t be able to tell you. C programmers are great. I love C. I wish everything had a beautiful pure C API. But C programmers are strictly banned from naming things. Their naming privileges have been revoked, per…

Relevant XKCD

Https://xkcd.com/1168/

Re: Programmers and software developers lost the plot on naming their tools

#159
post #102

Earlier quoted context omitted.

However once you learn that sed means stream editor, you won't ever forget it. libsodium is forgettable.

> However once you learn that sed means stream editor, you won't ever forget it. I feel like this is approximately the third time I'm learning this.

I've been using Linux for almost 20 years, including sed a lot of that time, I'm sure I've heard it before, I must have, but when parent wrote it I was like "aah, that makes sense".

Re: Programmers and software developers lost the plot on naming their tools

#160

> Our field deserves better than a zoo of random nouns masquerading as professional nomenclature. Clarity isn’t boring, it’s respect for your users’ time and cognitive resources. I felt a little guilty at first, I maintain a project called Wimsey (it's a data testing library but you couldn't guess that) and at work my team regularly enjoys fun/silly names. Trying to defend myself, I was thinking about various logical…

Naming your library "data-testing-library" would be useful... until there's a second one at which point the specific name effectively becomes meaningless.
Post reply on HN