←back to thread

311 points todsacerdoti | 1 comments | | HN request time: 0.202s | source
Show context
plorkyeran ◴[] No.46237424[source]
> 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 of guessing. It's ridiculous to complain about "libsodium" and then hold up "awk" as a good name.

replies(13): >>46237555 #>>46237769 #>>46238238 #>>46238337 #>>46238800 #>>46238821 #>>46238937 #>>46239204 #>>46239290 #>>46240333 #>>46240524 #>>46242479 #>>46243231 #
DSMan195276 ◴[] No.46238821[source]
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.

replies(2): >>46238865 #>>46242675 #
groos ◴[] No.46238865[source]
Fine. Name it sodium-crypto.a or sodium.crypto.a or whatever. The author's complaint does hold water.
replies(2): >>46240256 #>>46241104 #
DSMan195276 ◴[] No.46240256[source]
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.

replies(1): >>46240404 #
1. lanstin ◴[] No.46240404[source]
libeay