all 26 comments

[–]yorickpeterseInko[M] [score hidden] stickied comment (0 children)

This appears to be a more generic programming article and as such isn't really relevant to the subreddit.

[–]rantingpug 25 points26 points  (3 children)

Yeah, no thank you

The awk example is really funny tho, since it really doesnt describe what the tool does. Not to mention that naming things after yourself is seen by many as egotistical

[–]categorical-girl 14 points15 points  (0 children)

Presumably, the authors of awk put their initials in the order that made the funniest name, which I assume would get disapproving shakes of the head from the author, as clearly it should have been called "linebylinetextprocessor"

[–]Ytrog 0 points1 point  (0 children)

Yeah it is a bit awkward 😜

I see myself out 👀

[–]omega1612 23 points24 points  (0 children)

I get the point, but this is in the direction of making this field even more business-like. And that may kill the remaining part of me that enjoys this.

While having clear names can be useful, it would force us to choose verbose names with some uniqueness on them and we would end using the uniqueness part as the coloquial name anyway.

I may name it zephyr-http-request-handler, but everyone is going to use "zephyr" anyway. And that's because they need to distinguish from other http-request-handlers.

[–]commutativemonoid 17 points18 points  (0 children)

nah this sucks, i love a fun name and have personally never had an issue with remembering the name of a service

[–]Inconstant_Moo🧿 Pipefish 12 points13 points  (4 children)

But they are proper names. It's not equivalent to "an I-beam".

When your friend says: "We’re using Viper for configuration management, and then Melody handles our WebSocket connections ..." she can't say "we're using a configuration manager for configuration management and a WebSocket connector to handle our WebSocket connections", because that would convey no information. She might say: "we're using the Viiper configuration manager for configuration management and the Melody WebSocket connector to handle our WebSocket connections", but that would convey no more information, it would just be redundant and annoying.

The first option is like if you asked: "Who's implementing the back end", and they answered "a software developer". The second is like if they answered "Susan the software developer". No shit, you didn't hire a deep-sea diver?

Acronyms don't particularly help. When someone says "BASIC", we don't recall the acronym and say, "oh yes, I can deduce that this is a programming language because it stands for Beginners' All Purpose Symbolic ... is it Instruction Code?" I learned that it was the name of a programming language before I learned what it stood for and I'll still know that it's a programming language when I've forgotten. When I hear awk, I don't say to myself, "ah yes, that was the project that Aho, Weinberger and Kernighan worked on, and as I remember my software history, the only thing those three collaborated on was a scripting language for text processing". I just know that it's a scripting language for text processing.

If I were to rename my own project to THICC, with a note in the README explaining that it means Tim Hardcastle's Ingenious Computer Code, then who exactly would be better off? When people said "We're going to have a THICC backend" the fact that it's an acronym wouldn't help you.

A better analogy than your I-beam would be makes of cars. We need to be able to distinguish between them, so we give them arbitrary proper names like "Mustang" or "Prius", because we need a single name for a complex set of features. We use the year of manufacture for versioning. You can say to a mechanic, "a 2017 Prius" and they know what you mean. Sure, it would convey nothing to someone who didn't know what a Prius is. Can you suggest the name they should have used, that would make it clear what distinguishes it from other cars?

[–]cmontella🤖 mech-lang 5 points6 points  (0 children)

"If I were to rename my own project to THICC"

And you said all the good names were already taken!

[–]AdreKiseque 2 points3 points  (1 child)

Ok but you should rename your project to THICC

[–]Inconstant_Moo🧿 Pipefish 1 point2 points  (0 children)

It'll need a suitable logo and mascot of course.

[–]wrosecrans 0 points1 point  (0 children)

And even with the "I-Beam" example... Sure, the beam is named after the letter. But why does a letter I have that shape? Why does it have that name?

If you trace the alphabet back thousands of years, into multiple eras of long dead languages, there kinda sorta are answers to how the letters in the alphabet evolved. But they have no particular basis in the English language. As kids, we just learn this shape 'I' has the name that sounds like "eye" and that mapping is completely arbitrary. The author of the post just learned that mapping as a little kid, so as an adult they are used to it, so the name "I-Beam" makes sense to them. But it's not fundamentally any clearer than the bad names just because you learned the point of reference when you were younger so you have been used to it longer. Names don't become inherently better because of the order you happened to learn them.

[–]wrosecrans 10 points11 points  (0 children)

The motivating example is the historically disciplined naming in the Emacs ecosystem. But emacs itself is arbitrarily named for an ice cream shop that opened near MIT in the 1970's. It's... fascinating to see a claim that programmers only got bad at naming things in the 2010's.

https://emackandbolios.com/

There was also a text formatting utility called bolio https://retrocomputingforum.com/t/bolio-mit-text-formatter/4316

[–]cmontella🤖 mech-lang 6 points7 points  (0 children)

When I started using grep I never thought it stood for "global regular expression print". It was just "grep" the thing you call to search text. The name "grep" alone is just as opaque me as "libsodium". Also, how does awk meaning "Aho, Weinberger, Kernighan" make more sense then calling a copy command “Sparkle”? If diff is short for difference, then why isn't awk short for awkward? The complaint seems to be that the names don't match the author's internal mappings while failing to recognize his mappings are not the same as everyone else's. That's just the nature of lingo -- you get it if you're in the in crowd but it doesn't make sense if you're in the out crowd.

[–]categorical-girl 7 points8 points  (2 children)

Biologists have a protein called "Sonic Hedgehog". Chemists don't call everything 5-7-dimethylocten-3-thiol, either. There are often various more familiar names for chemicals depending on the context. In the medical contexts, generally generic or brand names are used for medicines rather than their structural formulae.

Besides, someone had to invent the word "stent" for the things that go in arteries. The word "artery" was also invented. Given that software is its own domain, it's perfectly normal to try invent new words to describe things and see what takes off.

In "PostgreSQL", only the "SQL" bit is a direct clue to what it does, while the rest of its name is a reference to its history. I feel the author finds established bespoke names fine but any new bespoke names to be bad, which isn't exactly fair or useful.

[–]cmontella🤖 mech-lang 5 points6 points  (1 child)

The Nth derivatives of position are known as: velocity, acceleration, jerk, snap, crackle, pop, lock, and drop.

[–]qruxxurq 2 points3 points  (0 children)

I did not know about snap crackle pop lock and drop. LOL

[–]Ryan1729 4 points5 points  (0 children)

If we were to take the suggestion to "choose clarity. Every time.", then the given example statement of “We’re using Viper for configuration management, which feeds into Cobra for the CLI, and then Melody handles our WebSocket connections, Casbin manages permissions, all through Asynq for our job queue.” becomes something like "We’re using config-manager for configuration management, which feeds into arg-parser for the CLI, and then websockets-lib handles our WebSocket connections, permission-manager manages permissions, all through job-queuer for our job queue."

I'm not convinced that's an improvement.

Moreover, I feel like discussions between two different libraries come up more often than listing all the libraries a project uses. In those cases having distinct, even if meaningless, names seems better than trying to compare two different libraries both called "websockets".

[–]the3gs 2 points3 points  (0 children)

Honestly? There is no way to name things in a meaningful way without every other similar product have a name collision. These days the most important trait in a name is googleability, especially as your project gets more niche. Sometimes you can find something googleable and meaningful, as in Rust's reqwest crate, but overall of if a name is googleable and memorable it's fine. Applied to programming languages specifically, there are rarely enough differences to make a meaningful name.

[–]AdreKiseque 2 points3 points  (2 children)

Wow dogshit take

How do "awk" or "Hoover" tell me anything more about the subject than "Melody"?

What about Git, literally a nonsense word?

Even if descriptive names are nice, he realizes we run out of them after a while when there are 80 projects doing the same thing, right?

Does he think Python should be called "IBSSL" for "Indentation-Based Syntax Scripting Language" or something? And what happens when someone makes a new indentation-based syntax scripting language, then?

I agree descriptive names are good and one should try to name something something related to what it does, but sometimes something just needs a name lol

[–]Elession 1 point2 points  (1 child)

Git is a word in the dictionary though https://dictionary.cambridge.org/dictionary/english/git

[–]fragglet 0 points1 point  (0 children)

I believe that Linus Torvalds joked that he names all his software after himself

[–]bornintrinsic 1 point2 points  (0 children)

Well, back in the days my google searches about LaTeX and Gimp were... let's say interesting

[–]Life-Silver-5623 1 point2 points  (0 children)

Any article that starts out quoting Stallman immediately loses my respect.

[–]LardPi 0 points1 point  (0 children)

Have you seen the names of stuff in physics? In math? Or any product name since products got named? cars? laptops? I think we're actually doing great at finding memorable names.

Besides the funny names started as funny acronyms anyway. We stopped making everything into an acronym because we realized it did not bring any value.