Live data from Hacker News

Programmers and software developers lost the plot on naming their tools

lr0.org

271–280 of 563 posts

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

#271

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

I’m not sure I like awk, sed, or cat, I think these are just names we’re used to, not good really. diff seems ok. grep almost has an onomatopoeic nature to it… like, it sounds like you are grabbing or ripping the patterns out of the file, right?

They're good names because they're short and easily recognizable

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

#272
post #86
post #2

That glorious day when I explained to my boss what wiki is and that we should have one internally, he fired "viki" into google, with smoothly honed muscle memory clicked first result..and got full screen of poon.

When I told a co-worker about https://pypi.org/project/voluptuous/ he immediately searched for the name alone, got really wide-eyed and closed the tab, then told us not to do the same.

There was a markdown library called upskirt, the authors were bullied into renaming it. They called it Misaka, because that's an anime character that uses shorts under her skirt.

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

#273
post #189

Earlier quoted context omitted.

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.

This works with GNU tar, but likely not with tar on other Unix systems.

"tar cf /tmp/a.tar $HOME" would, I guess, work on all POSIX systems.

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

#274

Earlier quoted context omitted.

I seem to remember "tar xvf filename.tar" from the 1990s, I'll try that out. If I'm wrong, I'll be dead before I even notice anything. That's better than dying of cancer or Alzheimer's.

tar zxvf Is burnt into my brain. One of my earliest Linux command line experience required untaring zipped tars. So yeah that xkcd is "not funny" to me in that sense. Of course I couldn't tell you pretty much any other use without a man page.

z requires it's compressed with gzip and is likely a GNU extension too (it was j for bzip2 iirc). It's also important to keep f the last because it is parametrized and a filename should follow.

So I'd always go with c (create) instead of x (extract), as the latter assumes an existing tar file (zx or xz even a gzipped tar file too; not sure if it's smart enough to autodetect compress-ed .Z files vs .gz either): with create, higher chances of survival in that xkcd.

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

#275

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

So few of us use physical tapes these days, but the "tape archive" (tar) remains ubiquitous. Not entirely unserious: "awk" is a good name because it is three characters to type "rg" is better than "grep" because it is two fewer characters type

I would if they weren't so outrageously expensive (tapes and tape drives ;))

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

#276
This drives me crazy because I use dmenu to launch things, and every time I want to launch a subsonic client I'm like "blueberry? Wayshin... Weish... Fei... FEISHIN!"

Just call it "subsonicfeishin" or something at least!

"Chatgpt... Mc... CODEX!"

It's nuts.

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

#277
post #167

Earlier quoted context omitted.

Yeah this definitely falls into the category of "I use them so they feel natural", there's nothing amazing about those names. The underlying problem is that you now run into so many named things (utilities, libraries, programs, etc.) in a day and they all have to differentiate themselves somehow. You can't name every crypto library `libcrypto` for obvious reasons.

Fine. Name it sodium-crypto.a or sodium.crypto.a or whatever. The author's complaint does hold water.

You can, but then the names get needlessly long and one of the things we generally like (especially for command-line programs) is names that are short and easy to type. If we're going to make this argument then why not call the unix tools `concatenate`, `difference`, `stream-editor`, etc. Those are way better names in terms of telling you what they do, but from a usability standpoint they stink to type out.

Libraries and programs also have a habit of gradually changing what exactly they're about and used for. Changing their name at that point doesn't usually make sense, so you'll still end up with long names that don't actually match exactly what it does. Imagine if we were typing out `tape-archive` to make tarballs, it's a historically accurate name but gives you no hint about how people actually use it today. The name remains only because `tar` is pretty generic and there's too much inertia to change it. Honestly I'd say `cat` is the same, It's pretty rare that I see someone actually use it to concatenate multiple files rather than dump a single file to stdout.

The author is missing the fact that stuff like `libsodium` is no differently named from all the other stuff he mentioned. If he used libsodium often then he may just as well have mentioned it as well-named due to it's relation to salt and would instead be complaining about some other library name that he doesn't know much about or doesn't use often. I _understand_ why he's annoyed, but my point is that it's simply nothing new and he's just noticing it now.

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

#278

>“Descriptive names are boring!” >>Yes, and surgical instruments are boring. I'm absolutely certain that this person has never been (awake) in a surgery suite because all of the tools people use have eponymous names. There are a billion little grabbers that all have silly names like Adson, Allis, Babcock, Kocher etc. which are all meaningless until you just know what they are. And don't you grab the Mayo scissors whe…

Or had a Kirchner pin inserted.

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

#279
post #225

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

Some people are passionate about being professional in the sense of doing things competently and expertly. Cuteness is inherently a mental distraction from what you really care about in the craft, which is why it appears tonally inappropriate. The desire to add some sort of cuteness is taken as an indication that the person apparently doesn’t derive enough joy from the workmanship itself. In other words, a lack of ca…

But that's trivially provable to not be true. You can easily be both: dedicated and professional in your work, and fun and flimsy where possible.

I mean, all the funny names of great software in this thread and even OP are a testament to that.

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

#280

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

> It's ridiculous to complain about "libsodium" and then hold up "awk" as a good name.

Awk is short, easy to pronounce, and difficult to confuse with anything else. It's nearly as perfect as a name can be.

> 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 of guessing.

You seem to have confused the concept of a "name" with that of a "description". The whole point of names is that they aren't descriptive.

https://en.wikipedia.org/wiki/Arbitrariness#Linguistics

Post reply on HN