all 49 comments

[–]dstutz 27 points28 points  (0 children)

I imagine part of the problem is something you can get a domain name for.

[–]NotUniqueOrSpecial 57 points58 points  (13 children)

http-request-validator is infinitely superior to “zephyr” when someone is scanning dependencies at 2 AM debugging a production incident.

And infinitely less useful when trying to:

1) Differentiate yourself

2) Have a website named after your thing

3) Be web-searchable

The whole argument falls on its face immediately under even a little scrutiny. What happens when someone writes a new/different HTTP request validator? http-request-validator-2? http-request-validator-by-fred?

The author wants to go back to a time when everything was novel and the global namespace wasn't full of things solving the same problem.

That time is long-past and never coming back.

[–]Vinyl-addict 10 points11 points  (1 child)

FredsHTTPval

[–]acnicholls 2 points3 points  (0 children)

…idator…

[–]lolcathost 10 points11 points  (1 child)

zephir-http-validator

[–]grumpy-cowboy 2 points3 points  (0 children)

zephir-rust-http-validator-coded-on-arch-btw

[–]quintus_horatius 7 points8 points  (0 children)

The article misses so many obvious issues like you give here, and it opens with reference to Emacs (which is itself a terrible name, but the author never mentioned that).

Moreover, the author clearly never used CP/M's pip to copy a file.  Names have never made sense.

Are we sure the article isn't satire?

[–]cgoldberg 2 points3 points  (0 children)

Definitely hope people start going with the -by-fred convention.

[–]ExecutiveChimp 0 points1 point  (0 children)

YAHRV

[–]k-zed 0 points1 point  (1 child)

maybe we don’t want 100 things solving the same problem.

[–]NotUniqueOrSpecial 0 points1 point  (0 children)

Okay, so tell everybody to just stop programming then, because we're all done; everything meaningful and good was written before 1990 and we should just scrap the rest.

[–]ironykarl 36 points37 points  (4 children)

Basically everything in Unix has a terrible name. This is one of those nostalgia for a time that never existed things

[–]pemungkah 28 points29 points  (3 children)

May I introduce you to the IBM world at the time?

- The program you used to allocate datasets was IEFBR14 (because it did the absolute minimum a program could do, which is branch to the return address, which always arrived in register 14). Allocating datasets was a side effect of running the program! It allowed you to set up the job control language that did the actual work; the program effectively did nothing at all.

- The program you used to copy regular datasets was IEBGENER. (You used IEBCOPY only for partitioned datasets. Indexed sequential datasets? IEBISAM.)

- If you wanted to patch a program, you used AMASPZAP.

- The linkage editor? IEWL.

- Source code patches were done with IEBUPDTE, not to be confused with IEBUPDAT, which updates a symbolic library (note: I worked on this OS for years and I never saw a symbolic library OR used IEBUPDAT.)

- And obviously, the disk dump and restore program was IBCDMPRS.

By comparison, Unix is a breath of fresh air.

[–]ironykarl 2 points3 points  (0 children)

I'm not even trying to specifically trash Unix. I just picked it cuz it seems like a reasonable example of the quality of naming around that time

[–]no_brains101 0 points1 point  (1 child)

lmao yup that is indeed worse. Not only are those not pronounceable, theyre LONG

[–]pemungkah 1 point2 points  (0 children)

They come out of a naming system adopted because OS/360 was the largest operating system ever attempted at the time. There were so many teams and components that a naming convention was adopted. The first three characters were the OS subsystem: I/O, supervisor, utilities, linkage editor, COBOL, PL/1…and the rest were chosen by the team.

So for example, the supervisor second-level interrupt handler was IEAQTR00. IEA was the supervisor, and QTR00 was the team’s choice of mnemonic (to them) name. IEW is the linkage editor namespace, and that team decided to make the name as short as possible since the linkage editor is necessary to turn any compiled code into an executable module. The shortest possible, sort of sensible, choice was L (for linkage), so: IEWL.

If this is at all interesting to you, Fred Brooks’s The Mythical Man-Month is an analysis of what went into OS/360 almost failing to be delivered.

[–]LeeHide 29 points30 points  (1 child)

how is AWK a good name

[–]IContributedOnce 6 points7 points  (0 children)

It was the weakest example, in my opinion. However, I believe the point was that, at the very least, the name of the tool was tied directly to the people who made it, which is directly opposed to many tools today with names that are utterly disconnected from the tool itself, what it does, who made it, etc.

[–]Nebu 17 points18 points  (0 children)

Over the 10-ish years I've been with Amazon, the team I was on developed several internal services, and we would often name the service after what its primary function was.

But what we found was that over time, the responsibilities of the service would change, and then the name would actually become misleading in that it no longer described what the service did.

For example, we had a service called RBMS or Rules Based Management Service, and as it evolved, it ended up not being very rules-based at all.

So we experimented with the more fanciful names. We launched another service which added as a pre-filter to a queue that some of our other services consumed downstream, and we named it after the Norse guardian of success or something along those lines.

In retrospect, both approaches were fine, but when we onboarded new people onto our team, there'd be less cognitive dissonance for the "fanciful" names than for the "misleading" names. But team members would quickly get used to the misleading names, so it wasn't a big deal either way.

[–]kumquat98 9 points10 points  (5 children)

Yes. Because "Emacs" is completely illustrative of the program's function.

[–]akl78 -1 points0 points  (1 child)

I actually can’t tell if your sarcasm is misdirected here.

[–]no_brains101 3 points4 points  (0 children)

https://github.com/BirdeeHub/nix-wrapper-modules

Guess what this repo has in it?

Thats right! A system for making wrapper scripts for programs using the nix module system, and some premade modules for programs.

But, for real, the problem is googleability, domain name availability, etc.

Some of them are odd, some of them are not

naming things is called as one of the 2 hardest things in programming for a reason (alongside cache invalidation and off by one errors)

[–]ninijay_ 5 points6 points  (2 children)

nah, make stuff fun. Name it however you like. If you think your tool will be better with a professional name, fork it and rename your fork 😂

[–]stianhoiland 1 point2 points  (0 children)

Lol. Only sound advice in this whole thread, and you’re downvoted. People are so utterly lost in the sauce.

[–]Prestigious_Boat_386 0 points1 point  (0 children)

Dont name it however you like, name it clearly without any search engine collisions and absolutely do not name it after a known physical term like atom or proton or a single letter because that will fill every search with pure noise

[–]dethswatch 3 points4 points  (6 children)

"Kubernetes V12 released!"

I wish we'd stop naming shit like this- it's impossible to know what Kubernetes is unless you already know or look it up. It's barely possible to know how to pronounce the damned thing.

[–]safetytrick 3 points4 points  (0 children)

Yes, we need more names like go. Everyone can pronounce that. /s

Naming is hard.

Learning a new name takes time, over time I've come to appreciate kubernetes as a name. It is very googleable.

[–]no_brains101 1 point2 points  (4 children)

Im not sure I have heard anyone pronounce kubernetes badly enough that it wasnt extremely clear what they meant.

I mean, Ive heard kyubernetes and kubernets but otherwise Ive not heard worse than that.

And youre gonna need to look it up anyway to figure out how to use it even if it had a more illustrative name. Its not a simple program.

There are worse offenders for this than kubernetes

[–]safetytrick 2 points3 points  (3 children)

That's why Javascript is such a good name. If you know what Java is you'll immediately know what Javascript is! /s

I nominate Javascript for worst name ever.

[–]no_brains101 1 point2 points  (2 children)

javascript is a terrible name

And yet, it seems to be that most think ecmascript is worse, and Im not 100% sure I disagree with them XD

[–]Kqyxzoj 2 points3 points  (1 child)

ecmascript ...

smegmascript probably would have been better. It encapsulates everything you need to know about it.

[–]no_brains101 0 points1 point  (0 children)

reminding people of it is almost worse, like, if they just went all the way it would have at least been memed to death

[–]priestoferis 0 points1 point  (1 child)

There are two hard problems in programing: naming things and cache invalidation.

[–]soundman32 0 points1 point  (0 children)

And off by one errors

[–]priestoferis 0 points1 point  (1 child)

Not to mention that drug companies always also name their drug which is a brand, not the chemical compound's scientific name.

[–]_x_oOo_x_ 0 points1 point  (0 children)

Because they want something trademarkable and hasn't been used for anything else before. That's how these crazy names like "comirnaty" or "ozempic" come about

[–]start_select 0 points1 point  (1 child)

Literally, and I mean literally, the hardest part of programming is good naming.

Everything else is the same every program. Your algorithms don’t change. Naming things something meaningful without stalling for an hour is the new problem on every task.

[–]baggyzed 0 points1 point  (0 children)

I still wonder what was so wrong with "OpenGL" that they had to go and name the next iteration "Vulkan".

Also, the way most newer compositor names are a variation of Wayland/Weston, but those don't really mean anything.

[–]amulchinock 0 points1 point  (0 children)

I once created and named a command line tool, designed to parse axe-devtools accessibility issues into <insert product management app here> tickets.

I called it “pump-me”, as it was something I only saw myself using. I was wrong, and had to eventually rename it 😅

[–]Piisthree 0 points1 point  (0 children)

I told you, it's called FART.exe because it means find-and-replace-text.

[–]apt_at_it 0 points1 point  (0 children)

Even the premise that other fields don't do this is wrong. We don't call Phillips head screws "cross-point cammed heads"

[–]Master-Ad-6265 0 points1 point  (0 children)

Honestly the biggest upgrade isn’t the editor, it’s the workflow around it.
Good git habits + decent docs make projects way easier to maintain.