Live data from Hacker News

Programmers and software developers lost the plot on naming their tools

lr0.org

181–190 of 563 posts

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

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

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

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

#182
Yep. Just did a reimage update to Fedora 43, got errors about 'ptyxis' in some shell scripts. Wat (wipes desk and keyboard)?

Oh, it's the graphical terminal program (alternative to 'gnome-terminal'). Well, um, ok.

However, I will concede, after more digging as to why (as it rankled), that there was a "have to choose a unique name" issue there (even leaving aside trademark issues). I'm resigned (so I suppose signed up) to deal with residual issues that crop up going forward.

I love to mock '*ly.com' names for almost certainly doomed enterprises, but I get that at least it wasn't already taken.

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

#183
I believe one of the things that prompted stallman to give that talk was the inclusion of the lsp client "eglot" in emacs. Eglot i think is short for emacs polyglot.

The most idiomatic name, lsp-mode, was taken by another package. Stallman wanted to find another name but no one seemed to care as much as he did. I think one name he suggested in its place at one point was "code-parse" or something like that.

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

#185
post #105

Earlier quoted context omitted.

That's part of the point, I believe. It's not about being always able to guess the function from first sight. It's also about the function and name serving as mnemonic to each other once you understand how it got named.

I think perhaps the articles argument gets less strong then? It's claimed grep is "well named" because even though it's not obvious when you first read it, that it being a contraction for "global reg ex print" and hence memorable. I'm not sure the same argument can't be made for libsodium which assuming the reader is familiar with NaCl (the same as the assumption that the previous reader is familiar with regex) then…

One additional complication with grep (and other CLI tools) is that the name itself is part of the day to day UX. It needs to be short, easy to say, and easy to type. With a library the API that is contained within serves the analogous role.

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

#186
post #37

If you didn't already know, what do you think a tool called "emacs" does?

It's still to his point: > Even when engineers get creative, there’s logic: a butterfly valve actually looks like butterfly wings. You can tell how the name relates to what it actually defines, and how it can be memorable. Editor MACroS still has a logic. It isn't just random.

That's as good as random.

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

#187
GNU's version of Yacc is called Bison. Pine Is Not Elm (even though that was never an official acronym). UNIX was UNICS which was a pun on MULTICS. I couldn't for the life of me tell you what dd stands for. nano is a copy of pico which was the "PIne COmposer". Postfix is a completely opaque portmanteau of post (as in mail) and "bug fix". C++ is "C incremented", and C is the successor of B, which is the successor of BCPL.

Developers haven't "lost the plot", we never had it in the first place.

Inversely, Clang, LLDB, jq, fzf, loc are modern projects perfectly in line with the author's notion of a good name. "mise-en-place" is the perfect metaphor for what mise does.

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

#188
post #97

I believe strongly in this counterargument: https://medium.com/better-programming/software-component-nam... Small summary: external identifiers are hard to change, so projects will evolve such that they are not accurately descriptive after time. (Less discussed there, but: In a complex or decentralized ecosystem, it's also the case that you come across many "X Manager"/"X Service"/"X State Manager"/"X Workflow Servic…

I suppose it depends on your goals, but that scope restraint can be a good thing.

Do one thing, do it well, and while you're at it call yourself by the thing you do so you remember that's what you ought to be doing. A bit wordy for unix but you get the idea.

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

#189

Earlier quoted context omitted.

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/

Someone once tried this on me during Friday drinks and I successfully conquered the challenge with "tar --help". The challenger tried in vain to claim that this was not valid, but everyone present agreed that an exit code of zero meant that it was a valid solution.

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

#190
post #102

> grep (global regular expression print), awk (Aho, Weinberger, Kernighan; the creators’ initials), sed (stream editor), cat (concatenate), diff (difference). Even when abbreviated, these names were either functional descriptions or systematic derivations. If you asked someone unfamiliar with unix tools what they thought each of these commands did, diff is the only one which they would have even the slightest chance…

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

Don't forget that you need to know English for that to work. I'm pretty sure most Unix users don't speak English (most computer users definitely don't). I interact with people who know few words besides "hello" and "goodbye", and for them "sed" is a nonsense term, just a set of letters randomly thrown together. Same as e.g. Excel, a random token that means nothing.

sed is just an example, of course, the author's point doesn't hold much weight for many (most?) users globally.

Post reply on HN