Live data from Hacker News

Programmers and software developers lost the plot on naming their tools

lr0.org

511–520 of 563 posts

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

#511
post #352

Earlier quoted context omitted.

Unobtanium is fiction from the movie Avatar lol Notoriously bad exposition I might add ("This is unobtanium. This is what we're here for!").

unobtainium predates Avatar https://en.wikipedia.org/wiki/Unobtainium and at least that exposition makes more sense then the "fountain of youth brain juice" in the sequel, when the humans can literally reincarnate themselves without having to cross interstellar space to do it.

My physics teacher in high school used unobtanium in class and was the first I recall using it. This was way before Core or Avatar. After reading your wiki link, it fit perfectly with the definition of a frictionless, massless pulley use.

It's funny, because I'm one to use movie references in casual conversation like it's nothing, yet my use was definitely not in this case

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

#512
This is a norm to the point of being a rule for Elm packages. The names are things like elm-csv, elm-json-decode-pipeline, elm-iso8601-date-strings. There's a strong preference in the community to name a package for exactly what it does, and differentiate on the author namespace if needed e.g. you may choose among coreygirard/elm-nonempty-list, mgold/elm-nonempty-list, and v-nys/elm-nonempty-list depending on which meets your needs best

I remember working on a ruby project and running into some problem with our env setup tool and just hitting "could not find nokogiri" (or an error to that effect) over and over and getting a little mad that I had to read this cutesypoo not-at-all descriptive name over and over while failing to get a danged website to run.

---

To be sure, there are in-the-know parts of all the package names I just listed: what does JSON stand for? What does CSV stand for. What is the ISO and what is 8601? I guess the idea there is the descriptiveness ends at the edge of the language; the package name is too short a field to explain Javascript Object Notation, Comma Separated Values, or the ~~International Standards Organization~~ ok actually it's from "isos" meaning "same" date format.

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

#513

> 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 also seems wrong? libsodium explains the logic in its name right on its about page. It's a fork of NaCL (the chemical formula for sodium salt), which itself is a plain acronym for "networking and cryptography library." Google doesn't seem like a good example, either. Wasn't that meant to be an allusion to the very large number googolplex, as in Google exists to tame the unfathomably large amount of information on…

Even more directly, in fact.

"Google" is from "Googol", the latter being 10^100. Apparently, "Google" the corporate name is an accidental misspelling of the number.

The number (googol) has no mathematical special properties and the name was invented by a 9-year old in the 1920s.

Googolplex is 10 to the googolth power, so 10^(10^100).

And Googleplex is the MV campus of Google.

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

#514
post #481

> This would be career suicide in virtually any other technical field. This article would certainly disagree with you: https://en.wikipedia.org/wiki/List_of_U.S._Department_of_Def... > the Golden Gate Bridge tells you it spans the Golden Gate strait. Is that even a meaningful distinction? Does anyone think, "Gee, I'd really like to cross the Golden Gate strait?" or do they think "I want to get to Napa?". > The Hoover…

> But out in the real world, you could encounter a Shelby Cobra sports car, Bell AH-1 Cobra chopper, USS Cobra (SP-626) patrol boat, Colt Cobra handgun, etc. In this example, you added "chopper", "patrol boat", and "handgun" to disambiguate them. There wouldn't have been enough context to do so otherwise, which IMHO is more aligned with the point the author was making. If you were in the middle of a conversation abou…

My comment was mostly snarky, but I think the author is oblivious to their own biases and wrong. They even say:

> I read a lot into software history, and I can’t really say that there was an era of fantastic naming (even very experienced engineers made some very silly naming) but at least some current was trying to make some sense in the 80s; grep (global regular expression print), awk (Aho, Weinberger, Kernighan; the creators’ initials), sed (stream editor), cat (concatenate), diff (difference).

"diff" is a good name. There is no sane argument that "awk" conveys anything meaningful about what the tool does. "grep" is utterly opaque until you know what it's an acronym for. The name itself conveys absolutely nothing. "cat" is actively misleading because it is a word, but the tool has nothing to do with felines at all.

The author only likes those names because they're familiar with them, not because they're good names.

> You used the term "medicine cabinet", a term that is not only descriptive, but not branded or jargon. It's standard and doesn't need something new.

Sure. That's because I only have one medicine cabinet.

If I go on homedepot.com and search for medicine cabinets, the bold text is "Glacier Bay", "Zenith", "Kohler", etc.

What's frustrating about this article is that the author doesn't even realize why software packages have these funny names. Let's say I want to make a JavaScript package for parsing command-line arguments. Seems like "argparse" is a pretty clear name for that. Taken. Maybe "cliparse"? Taken. "args", "cli", "options", "argparser", "cli_argparser". Yup, all taken.

Packages need unique names so that package managers and imports can refer to them unambiguously. You can namespace them with the author's name but that just makes it confusing to talk about when two people say "args" but don't realize that one of them is talking about "@some_rando/args" and the other is talking about "@weird_startup/args".

So people just pick cute names. The name is an identifier, not a descriptor.

There is no real problem here, the author is just being cranky.

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

#515
post #359

Earlier quoted context omitted.

Java is easy - named after the coffee beans of the coffee they used to drink... CVS (noticed already mentioned by a sibling comment) is just an abbreviation. Python - well Monty Python

Java was originally called Oak but its creator because he could see an oak from his office, but marketing people at Sun thought Java would be more catchy. Yes it's named after coffee beans, but it has no relation whatsoever to the language or the way it was created, it's just a marketing name.

I can totally see how that was an obvious decision in the 90s, the coffee shop craze was just taking hold in America, and it was such an exciting and fashionable thing to do to sip espressos and lattes.

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

#516
> Same thing applies to other fields like chemical engineering [...]. 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.

I realize this isn't chemistry, but aren't there like 15 elements that are named after people (Curium, Einsteinium, etc) another handful named after places (Americium, Tennessine, etc).

Also, a bunch are named after Norse and Greek gods like Thorium, Titanium, Plutonium.

The article also goes to talk about the Hoover Dam, but it's not like the government is immune to this either. We just had Operation Warp Speed which doesn't tell you anything about what that program did

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

#517
post #254
post #248

Earlier quoted context omitted.

In the same vein, my recollection is reading that the X windowing system is called X because it's the letter after "W", which was the original choice (because it's what the word "window" starts with), but it was already taken, so they went with X.

It looks like X was deliberately chosen to denote succession of W, not clashing with it: "The name X derives from the lineage of the system. At Stanford University, Paul Asente and Brian Reid had begun work on the W window system [3] as an alternative to VGTS [13, 221 for the V system [5]. [...] We acquired a UNIX-based version of W for the VSlOO (with synchronous communication over TCP[24] produced by Asente and Chr…

Wow. Wayland really should have considered “Y” apparently!

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

#518
post #412
post #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 B…

I feel obliged to point out that C++ is C post incremented, that is to say it has the same value as C, but after you read it C gets incremented. The metaphor is flawless.

By the same token, the sharp sign in C♯ is two plusses put together, and represents going a (half) step above C. Also, a minor second is one of the most dissonant intervals in western music, which is also a brilliant metaphor for how well C♯ meshes with C.

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

#519
post #107

Earlier quoted context omitted.

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

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

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

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

#520
post #512

This is a norm to the point of being a rule for Elm packages. The names are things like elm-csv, elm-json-decode-pipeline, elm-iso8601-date-strings. There's a strong preference in the community to name a package for exactly what it does, and differentiate on the author namespace if needed e.g. you may choose among coreygirard/elm-nonempty-list, mgold/elm-nonempty-list, and v-nys/elm-nonempty-list depending on which m…

I’m glad you cited Ruby, as it’s definitely the exact opposite of what you said about elm. Every damn gem has an idiotic cutesy name. I think it’s one reason why every mature Rails project I’ve seen in the corporate world has direct dependencies on five or six different http client wrappers. New developers would look in the Gemfile, find no “http” anything, then google “ruby gem http client” and, since that happens to be a diverse category, eventually developers will find and add all such libraries.

I’m hoping that with AI, maybe this will be less common, because an AI agent should easily see that you have, say, Faraday installed already, and not bring in the noob magnet that is httparty.

Post reply on HN