Live data from Hacker News

Software component names should be whimsical and cryptic

medium.com

51–60 of 339 posts

Re: Software component names should be whimsical and cryptic

#51
Also an interesting question for company names. Google, Amazon, Apple are whimsical and cryptic. Microsoft hints at software, but is still not very descriptive. Facebook was descriptive, but they switched to Meta, probably to have a less constraining name.

Re: Software component names should be whimsical and cryptic

#52
post #6

This is terrible advice. Cryptic names are horrible. It's a layer of cognitive overhead that no one needs. Yes if it gets so big that it's out grown it's original purpose that's a problem. But if it's really big people know what it is because it's big. If it's not that big rename it!

It says "component". How many components do you have? I suppose if need to deal with more than a dozen components simultaneously, something is wrong. What is worse, the overhead of maybe not knowing a one-word description of component FancyName once in a while (so you have to look it up, pressing F12 or such), or having to deal with a obsolete, too long name (trying to be clear, or having too disambiguate between multiple redesigns), or unfitting name: all the time you're working with the thing?

Re: Software component names should be whimsical and cryptic

#53
I've gone back and forth on this.

I think if you expect you'll only need a small group of people to know the name (the "Shelob" example at a startup), or you expect a large group but only are adding one name to learn ("Vue"), it's fine.

The cute naming gets hard on larger projects. If you have to write a status or design document covering many teams, all with multiple cute names, that document will be impenetrable. It will be as hard as learning a new language - which in a sense it is, because your team will have created a new language that outsiders will need to understand in order to work with your team.

Re: Software component names should be whimsical and cryptic

#54

Earlier quoted context omitted.

What is descriptive about "RHEL" or "AWS"?

Red Hat Enterprise Linux and Amazon Web Services?

"Amazon Web Services" could mean literally anything. It only seems obvious and descriptive because it's become a widely known brand.

Compare: "Nile Online Frameworks"

Re: Software component names should be whimsical and cryptic

#55

I do like the Intel code names like Tiger Lake, Light Peak and Ivy Ridge. They evoke some kind of combination of Manhattan project megaproject and just-charted territory.

I don't like them - they were OK when talking about 6-8 chips in 3-4 generations. But after the 30th different lake you get thoroughly confused. Apple did it better, switching from big cats to big cliffs after ten releases...

Re: Software component names should be whimsical and cryptic

#56
post #47

I do like the Intel code names like Tiger Lake, Light Peak and Ivy Ridge. They evoke some kind of combination of Manhattan project megaproject and just-charted territory.

Those are release names, like Sierra and Mojave for MacOS. Different. There, you can sort of go nuts. The product name is still, well, "processor".

Even their product range names are "cool" (or at least carefully chosen by marketing to sound technological), like "Xeon" and "Itanium".

Probably hard to get street cred for a cutting-edge processing monster named FluffyKitten.

Re: Software component names should be whimsical and cryptic

#58
post #11

Earlier quoted context omitted.

Seems that names for projects follow the same rule as troll names in the japanese light novel Overlord. Short names, like "Gru" were reserved for the most powerful trolls because there were only so many combinations of three letters. Long names on the other hand were a sign of weakness and cowardice - bringing ridicule to those who introduced themselves like that.

I was literally - minutes ago - watching Overlord then saw this message just now. Small world sometimes. Rich world building that it can be referenced easily.

I hesitated to mention it because of the stigma associated with weebetry, but I'm glad I did.

After all hackers were always - by and large - weebs, with their fascination with martial arts and Japanese culture.

Re: Software component names should be whimsical and cryptic

#59
> See, the scope and purpose of something changes faster than its name can.

There's your problem. Create libraries that aim to do one thing and do it well. Once you release your project and have users that depend on your code, you owe it to them to maintain it in the original scope. If you have an urge to change your project's scope so much that the name should change, create a new library with a better name instead.

p.s. Obviously does not apply to brand names, which need to be distinctive.

p.p.s. Rich Hickey talks about this here: https://www.youtube.com/watch?v=oyLBGkS5ICk

Re: Software component names should be whimsical and cryptic

#60
post #6

This is terrible advice. Cryptic names are horrible. It's a layer of cognitive overhead that no one needs. Yes if it gets so big that it's out grown it's original purpose that's a problem. But if it's really big people know what it is because it's big. If it's not that big rename it!

It says "component". How many components do you have? I suppose if need to deal with more than a dozen components simultaneously, something is wrong. What is worse, the overhead of maybe not knowing a one-word description of component FancyName once in a while (so you have to look it up, pressing F12 or such), or having to deal with a obsolete, too long name (trying to be clear, or having too disambiguate between mul…

Screens are huge now. You can fit long names. Auto complete makes typing long names easy. Let your code read like prose. Save the brain for solving the business problems not for understanding the code.
Post reply on HN