[HN Gopher] Programmers and software developers lost the plot on...
       ___________________________________________________________________
        
       Programmers and software developers lost the plot on naming their
       tools
        
       Author : todsacerdoti
       Score  : 94 points
       Date   : 2025-12-11 18:06 UTC (4 hours ago)
        
 (HTM) web link (larr.net)
 (TXT) w3m dump (larr.net)
        
       | rini17 wrote:
       | That glorious day when I explained to my boss what wiki is and
       | that we should have one internally, he fired "viki" into google,
       | with smoothly honed muscle memory clicked first result..and got
       | full screen of poon.
        
         | Kuraj wrote:
         | At least you weren't the guy hitting a wall when trying to get
         | a testing library integrated because it was named Testacular
        
           | Tade0 wrote:
           | Back in college we had an old program used to analyse
           | oscilloscope data named ANAL.
        
             | breezykoi wrote:
             | At school we called our module analsyn for syntactic
             | analyser. Good times.
        
             | madcaptenor wrote:
             | I studied analytic combinatorics in grad school. Had to be
             | sure not to abbreviate it to "anal comb".
        
         | Izkata wrote:
         | When I told a co-worker about
         | https://pypi.org/project/voluptuous/ he immediately searched
         | for the name alone, got really wide-eyed and closed the tab,
         | then told us not to do the same.
        
         | patrickmay wrote:
         | I asked to have LaTeX installed at one site, several years ago.
         | The first Google results were eye-opening.
        
           | dhosek wrote:
           | I had a student in one of my LaTeX classes back in the 90s
           | who had a "I lust for latex" T-shirt.
        
         | zzrrt wrote:
         | What was the first result? Mine is Rakuten Viki, a streaming
         | service focused on Asian dramas that aren't like what you
         | described.
        
       | marifjeren wrote:
       | There is actually a good reason not mentioned, not to name tools
       | by their purpose:
       | 
       | - the purpose will change
       | 
       | Your "silicon-valley-bank-integrator" tool will eventually need
       | to be updated to do something else.
       | 
       | Or your "login-page-config-service" tool may eventually do more
       | than just logins.
       | 
       | Using gibberish or mythological names gives a nice memorable name
       | that doesn't lead (or mislead) you to believe it does a
       | particular thing which may or may not be correct anymore.
        
         | lr0 wrote:
         | "purpose will change" argument actually proves the opposite
         | point. When a tool's scope expands beyond its name, the
         | descriptive name tells you something went wrong. But even if
         | so, if you have to rename "login-page-config-service" to "auth-
         | config-service" it is not really a big deal, renaming will be
         | much cheaper if you're renaming to descriptive names. Most
         | importantly though, I wouldn't optimize to avoid renaming
         | (happens once, maybe twice in a project's lifetime) by making
         | discovery hard (happens every single time someone encounters
         | the tool).
        
           | dietr1ch wrote:
           | > renaming will be much cheaper if you're renaming to
           | descriptive names
           | 
           | Idk, renaming things that shipped is a PITA.
           | 
           | Say you wanted to rename `fish` to `a-decent-shell`. -
           | Packages in all distros would need to be renamed. -
           | Configuration for all systems using/having fish would need to
           | change. - Scripts would need to change, from the shebang to
           | the contents if necessary. - Users would need to understand
           | that they now need to search documentation using the new
           | name. - Documentation would need to be migrated to new
           | domains, sed-replaced, and reviewed.
           | 
           | All this migration would require some synchronized, multi-
           | step process across multiple distros and deployments.
           | 
           | I'd rather have a name that works as an Id.
        
             | lr0 wrote:
             | > Say you wanted to rename `fish` to `a-decent-shell`
             | 
             | You just made my argument. Renaming is hard precisely
             | because you shipped with the wrong name. That's why you
             | should get it right from the start.
             | 
             | Every cost you listed [distro packages, configs, scripts,
             | docs, domain] exists whether you rename to something
             | descriptive OR another random word. The migration pain is
             | identical. "Fish" - "decent-shell" costs the same as "fish"
             | - "zephyr." My argument was that this renaming won't be
             | necessary if you started by picking up the proper name at
             | the first place, and it's very unlikely to have the need to
             | rename it. We shouldn't be optimizing to avoid renaming.
             | That's trading a rare maintenance event for permanent
             | cognitive overhead.
        
               | dietr1ch wrote:
               | > Renaming is hard precisely because you shipped with the
               | wrong name. That's why you should get it right from the
               | start.
               | 
               | No, it's just because the goddamn string Id appears in
               | way too many places and you can't sed-replace the entire
               | world at once. It doesn't matter if the string was cute,
               | fancy, or you found it to be a good name.
        
               | queenkjuul wrote:
               | > We shouldn't be optimizing to avoid renaming.
               | 
               | > you should get it right from the start.
               | 
               | This is also optimizing for not renaming, just in a
               | different way; also, you just said renaming was cheap, so
               | which is it?
        
         | Nevermark wrote:
         | A good reason to use arbitrary code names before assigning a
         | more helpful name upon release of something deemed to now be
         | generally usable, beyond developers with caveats.
        
         | dietr1ch wrote:
         | Also, being too precise and succinct about what the tool does
         | ends up in a race for the name in competing implementations.
         | 
         | Project names should be unique enough to allow them becoming
         | their Id,
         | 
         | - It allows to find the project.
         | 
         | - It allows the project to change, extend it's scope or narrow
         | it.
         | 
         | Having an Id is really important, making that Id related to the
         | project's original intention is nice, but secondary. (as long
         | as it doesn't change enough that it becomes misleading).
        
       | the__alchemist wrote:
       | If the community followed the author's guidance, we would have
       | names like "Generic LLM wrapper 690" ("GLW690" if following the
       | early programming language conventions.) or "Github clone with a
       | different ideology 11"
        
         | lr0 wrote:
         | Not at all. You don't name by category, you can name by
         | function or approach. PostgreSQL isn't "Generic SQL Database
         | 47" it's the successor to Ingres (Post-Ingres-SQL). If your
         | "LLM wrapper" does nothing distinctive worth naming, maybe
         | don't publish it. But if it specifically handles streaming,
         | call it something like "llm-stream-client." If it focuses on
         | prompt templating, "prompt-template-engine." The name encodes
         | the actual value proposition.
         | 
         | I actually stated this on the post, but let me reiterate, I
         | think that naming things in somehow fun way is totally okay as
         | long as it stays relevant to what the tool actually does (you
         | can have this achieved by play wording suffixes (Mongo"DB",
         | Open"SSL", Ma"git" are good examples, all are better than
         | elephant, dog, and beaver).
        
           | hyperpape wrote:
           | > PostgreSQL isn't "Generic SQL Database 47" it's the
           | successor to Ingres (Post-Ingres-SQL).
           | 
           | Indeed. This helps me know that I'm using a database more
           | modern than Ingres. I chose not to use Oracle or SQL Server
           | because they might have predated Ingres.
           | 
           | Just one question: what's Ingres, and why do I care about it?
           | Of course, I don't, which makes Postgres no more useful of a
           | name than "fluffnutz" or "hooxup". That said, over time, I've
           | come to like the name Postgres.
        
             | lr0 wrote:
             | You don't need to know what Ingres is. "PostgreSQL" still
             | tells you it's SQL-related, which is infinitely more than
             | "fluffnutz" tells you. And once you learn it's a database,
             | the name reinforces that knowledge forever. Good luck
             | remembering what "fluffnutz" does in 6 months.
        
               | hyperpape wrote:
               | That's a really nice mnemonic. I wish I lived in an
               | alternate universe where Postgres was called PostgreSQL
               | so that it was easier to remember. Perhaps if we start
               | using that, it will take over, like how everyone calls
               | the Go project Golang.
        
               | lr0 wrote:
               | https://www.postgresql.org
               | 
               | https://en.wikipedia.org/wiki/PostgreSQL
        
             | indymike wrote:
             | Sometimes names have great value at the beginning of the
             | project. In this case it explains exactly what the project
             | is and will be... That said, marketing decisions like
             | naming a product often don't age well.
        
           | gipp wrote:
           | Sure, but how many LLM streaming clients are out there?
           | 
           | Namespacing, sure. But is "We use gh:someguy/openai/llm-
           | streaming-client to talk to the backend" (x50 similarly
           | cumbersome names in any architecture discussion) really
           | better than "We use Pegasus as our LLM streaming client"?
        
             | lr0 wrote:
             | Nobody says "gh:someguy/openai/llm-streaming-client" in
             | conversation. You say "the streaming client" or "llm-
             | stream" the same way you'd say "Pegasus." But when someone
             | new joins or you're reading code, "llm-stream" is self-
             | documenting. "Pegasus" requires looking it up every single
             | time until you memorize an arbitrary mapping.
        
               | debazel wrote:
               | This sounds awful, now you'll be reading some
               | documentation or comment about llm-stream where they
               | didn't mention the full namespace, so you have no idea
               | which of the 50 different llm-stream tools they're
               | talking about, and on top of that you can't even search
               | for it online.
        
         | TOGoS wrote:
         | Maybe, and I would definitely prefer this to the random-
         | generic-word practice. "illuminate" is some part of Laravel,
         | but I can't remember what it is, just that "that's not even a
         | noun; they just picked that word for $whatever_crappy_subsystem
         | because it sounds nice" and being even more annoyed at the
         | whole thing because of it.
        
       | notepad0x90 wrote:
       | Yeah, this is a bit relative. Use microsoft tools/products
       | (especially cloud/office) that came out in the past decade and
       | you'll appreciate every other naming pattern.
       | 
       | My subjective view is that names should be exotic, flamboyant,
       | unique and generally wild when it comes to tools. sticking your
       | company's name as a prefix into everything (or the flagship
       | product's) is confusing and only hurts you.
        
       | wpollock wrote:
       | If you didn't already know, what do you think a tool called
       | "emacs" does?
        
         | d3Xt3r wrote:
         | An emergency bootable/rescue tool for Macs!
        
           | Izkata wrote:
           | "Mac OS through email" was what popped into my mind. No idea
           | how that would work.
        
         | pesus wrote:
         | I still think of the short-lived Apple eMac when I read it.
        
           | morshu9001 wrote:
           | It's funny how they sold that into 2006, with a CRT still
        
             | amelius wrote:
             | They had to because the RDF was based on CRT technology,
             | originally.
        
         | ErroneousBosh wrote:
         | Uses eight megs of RAM and constantly swaps?
        
         | ralferoo wrote:
         | Maybe a geekbench from yesteryear. Back in the mists of time it
         | was apocryphally known as "eight megs and continually
         | swapping". But I guess that's a couple of orders of magnitude
         | out nowadays.
        
         | jolmg wrote:
         | It's still to his point:
         | 
         | > Even when engineers get creative, there's logic: a butterfly
         | valve actually looks like butterfly wings. You can tell how the
         | name relates to what it actually defines, and how it can be
         | memorable.
         | 
         | Editor MACroS still has a logic. It isn't just random.
        
           | wat10000 wrote:
           | A butterfly valve is a category of thing. The corresponding
           | word for emacs would be "editor." That is entirely
           | descriptive: an editor edits.
           | 
           | Picking a _specific_ butterfly valve randomly from an
           | internet search, I find one called the FNW FNWHPA1LSTG24.
           | 
           | Product types and categories get generic names, specific
           | products often get weird names. It's true in just about every
           | field.
        
             | jolmg wrote:
             | Someone was probably the first to call their valve a
             | butterfly valve.
             | 
             | Emacs can also be taken to be a category of editors. There
             | are multiple emacs-derived editors.
        
         | ctoth wrote:
         | > If you didn't already know, what do you think a tool called
         | "emacs" does?
         | 
         | Hmm, this looks like a nonsense word, but sometimes words look
         | like nonsense when you write them backwards, maybe it's a
         | scame?
        
         | gibsonsmog wrote:
         | Based on the article headlines I've seen over the years, I
         | don't think emacs users know what emacs does except "yes"
        
         | 9rx wrote:
         | If you didn't already know, what do you think a tool called a
         | "combine" does?
         | 
         | Combine things? Nope. Its purpose is to separate things...
         | 
         | Its not just the software industry.
        
           | rkomorn wrote:
           | I'm conflicted because you're not entirely wrong (that it's
           | not just the software industry), but the name is because the
           | combine combines steps that used to be separate.
           | 
           | It's not actually badly named.
        
             | 9rx wrote:
             | _> I 'm conflicted_
             | 
             | That's why I chose that specific example! What fun would
             | there be in you not having to think about it?
        
           | wat10000 wrote:
           | More to the point, what does a John Deere S7 600 do, or a 310
           | G-Tier, or a Z515E ZTrak? Emacs is an editor. That part is
           | descriptive: an editor edits. The product name is not
           | expected to describe what the product is. The general product
           | category is what does that.
        
             | 9rx wrote:
             | _> The product name is not expected to describe what the
             | product is._
             | 
             | There are some exceptions, but the agriculture machinery
             | industry has actually gotten pretty good at making the
             | names useful, with reasonable consistency across brands. S7
             | 600: 600 tells that it is a class 6 combine, which is a
             | value farmers understand as it pertains to the combine's
             | capacity. For tractors, the John Deere 8R 230 sees 8
             | indicate a large row-crop frame, and 230 indicates a 230 HP
             | engine. A New Holland T7.180 is, you guessed it, a medium
             | row-crop frame with a 180 HP engine.
             | 
             | It may look like nothing to outsiders, but there is a lot
             | of useful information encoded in there once you know what
             | to look for.
        
               | wat10000 wrote:
               | Useful if you already know the basics of what it is. My
               | point is that "S7 600" by itself doesn't tell you
               | anything if you don't have some knowledge of the product
               | already. The knowledge that it's a combine is separate.
               | Similarly, "emacs" tells you nothing if you don't know
               | it, but the generic term "editor" is descriptive.
               | 
               | Software doesn't generally encode product attributes into
               | the name the way 230 means 230 horsepower and such, but
               | that's because software doesn't really have things like
               | that to put in the name in the first place. Most software
               | doesn't have specific variants like that, and software
               | that does is almost always differentiated on feature set
               | rather than numbers.
        
               | 9rx wrote:
               | Software often puts the version in the name. Which is the
               | same as the S7 designation in the case of said combine.
               | S7 is just a restyled S7x0 series combine, which was the
               | successor to the S6x0 series.
               | 
               | It's not a perfect system. Before the S6x0 was the
               | 9x70STS series, after the 9x60STS series, and the 9x50STS
               | series. You can find a version number in there, albeit
               | not a perfectly sequential one. Although that's nothing
               | new. Windows 3.1 turned 3.11, 95, 98. iOS 17 turned 26.
               | You get the picture.
        
           | bigstrat2003 wrote:
           | Technically it's a "combine harvester" as far as I know,
           | which is more intuitive. Though in practice everyone calls it
           | a "combine".
        
             | 9rx wrote:
             | Technically it is "combine". Originally it was known as a
             | "combined harvester-thresher", which is maybe what you're
             | thinking of, but that was soon shortened to "combine" and
             | it has stuck ever since.
             | 
             | "Combine harvester" showed up in some places later where
             | context was needed to figure out what "combine" means, but
             | it was seemingly only for context. "Combined harvester-
             | thresher harvester" is pointlessly redundant.
        
       | formula1 wrote:
       | One issue with package naming is competition. One of the great
       | things about OSS or software in general is people can take
       | inspiration from other projects that do the same thing.
       | Personally I've ran into deciding which casting library to use
       | 
       | - runtypes - https://github.com/runtypes/runtypes
       | 
       | - zod - https://zod.dev/
       | 
       | - ajv - https://ajv.js.org/
       | 
       | AJV and runtypes use the naming convention that the article
       | suggestions. It's named is derived from how it's used. Zod on the
       | other hand seems to come from left field.
       | 
       | Personally, I built a simple caster called "ShallowCaster" before
       | choosing to move to a library as things got move complex but I
       | think a problem is that as competition increases the "generic"
       | naming becomes more difficult to find.
       | 
       | I suppose an option is to include the author name for each
       | package such as "json casting from google" or "@google/json-
       | casting" this way all packages can use the descriptive naming
       | while not conflicting
        
       | jameshart wrote:
       | > naming things after random nouns, mythological creatures, or
       | random favorite fictional characters is somehow acceptable
       | professional practice. This would be career suicide in virtually
       | any other technical field.
       | 
       | Really? Have you specced a microprocessor lately? Seen what
       | pharmaceuticals are called? How polymer compound materials get
       | named?
        
         | lr0 wrote:
         | The "Raptor Lake" codename in microprocessors is internal, the
         | product ships with systematic designation. Engineers spec chips
         | by model numbers that encode generation, tier, and performance
         | class.
         | 
         | In Pharmaceuticals, Doctors prescribe "sildenafil," not
         | "Viagra." The generic name describes chemical structure. Brand
         | names are marketing for consumers, not professional
         | nomenclature.
         | 
         | Mythology in chemistry/astronomy has centuries of legacy and
         | connects to human cultural history. Calling an element
         | "Titanium" after Titans carries weight. Calling a SQL
         | replicator "Marmot" connects to... what, exactly? A weekend at
         | the zoo?
        
           | nemomarx wrote:
           | But the names we're talking about are the ones used to market
           | software to users? I don't see how the same logic doesn't
           | apply
        
           | ralferoo wrote:
           | "Raptor Lake" isn't an internal codename, it's very much
           | external as it's what Intel actively referred to that
           | generation as. How's a non-geek shopping for a PC going to
           | know if it's better or worse than "Lunar Lake" or "Alder
           | Lake"? Maybe they just think their machine is shipping with
           | some game where your giant dinosaur bird thing has to stop
           | off for a quick drink to regain energy.
           | 
           | But in any case, this isn't the real travesty with these
           | names. It's that they're reusing existing common words. The
           | article hates on "google" when actually it's a fantastic name
           | - if you googled it when it was introduced, all the results
           | were about what you wanted. By comparison, Alphabet is an
           | awful name, because if you search for Alphabet only a tiny
           | subset of the results are going to be useful to you.
        
           | bgbntty2 wrote:
           | > Doctors prescribe "sildenafil," not "Viagra".
           | 
           | Depends on the location, I guess. I've had doctors prescribe
           | trade names, which I don't understand if there are
           | alternatives with the same dosage, route of administration
           | and similar inactive ingredients. Not even talking about the
           | "do not substitute" prescriptions which are also based on
           | dubious information most of the time.
           | 
           | As for "sildenafil" - I don't think generic names are usually
           | meaningful. Usually the suffix relates to the category of the
           | drug, but the first letters seem as random as the letters in
           | trade names. I could imagine a world where the generic name
           | is viagrafil and the trade name is Silden.
        
           | sophrosyne42 wrote:
           | Naming schemes in consumer marketing serve a function. They
           | are easily identifiable, unique, and memorable. All of these
           | properties serve to identify the thing by associating a
           | unique name with a unique set of services/function/effects on
           | use.
           | 
           | Medical and chemical terminology is built on the history of
           | latinate terms and compounds whose simples follow the same
           | pattern. Latinate terms, I might add, which reference
           | mythical, fantastical, or unusual things. Consider the planet
           | Mercury, for example. The only difference? The centuries of
           | time it took for scientific evolution to turn these unique
           | names into a taxonomical language with its own logic.
           | 
           | There is no such taxonomy for computer science. But in the
           | course of the evolution of such a taxonomy, it will be built
           | out of the mess of names like the ones we like to use for our
           | programs and tools like Rust, Ocaml (notice combination of
           | interesting and technical), git, npm, bun, ada, scipy, etc
           | etc.
        
       | ctoth wrote:
       | > There's an odd tendency in modern software development; we've
       | collectively decided that naming things after random nouns,
       | mythological creatures, or random favorite fictional characters
       | is somehow acceptable professional practice. This would be career
       | suicide in virtually any other technical field.
       | 
       | I'm charmed by the lack of truth in this beautiful sentence. Top
       | of mind for me, at least.
        
       | NotGMan wrote:
       | >> Early programming languages followed similar logic: FORTRAN
       | (Formula Translation), COBOL (Common Business-Oriented Language),
       | BASIC (Beginner's All-purpose Symbolic Instruction Code), SQL
       | (Structured Query Language), I believe Lisp stands for list
       | processing. The pattern was clear: names conveyed purpose or
       | origin.
       | 
       | "names conveyed purpose or origin.": no they don't. If I use the
       | authors example of the two people talking: as if saying "BASIC"
       | instead of "Cobra" explained the meaning anything better to a
       | person who never used BASIC.
       | 
       | I've been programming for 15 years+ and never used basic due to
       | my age and I never know, until today, that BASIC stands for
       | "Beginner's All-purpose Symbolic Instruction Code".
       | 
       | Why? Because I don't need to know and it doesn't make the usage
       | of BASIC anything different.
        
       | fusslo wrote:
       | are you guys naming your products?
       | 
       | We have an internal name and our product name. Internal names
       | start as something that describes the project/repo/tool. Then
       | within 18 months the name no longer makes sense so we rename it
       | to some random name - state names, lake names, presidents,
       | mountains, etc. It's just a placeholder.
       | 
       | The public facing product name is a compromise of marketing,
       | trademark, and what gets approved by the CEO. Even the company
       | name might change in startup world. No joke: the startup next
       | door had to change their name because it was too masculine, and
       | they realized more than half their projected market was women.
        
         | Spivak wrote:
         | This is the way, you name things random words devoid of all
         | connection to software because you don't want to confuse people
         | later when the scope grows or changes.
         | 
         | Well so in the beginning we only supported email notifications
         | which is why it's called EmailServ but over time it grew into a
         | robust and pretty general queueing service so now it handles
         | all our background task processing. Sending emails is actually
         | handled by EmailWorker but EmailServ still supports its
         | original API which now uses EmailWorker behind the scenes if
         | you prefer that.
        
       | anthk wrote:
       | - VTL-O2
       | 
       | - Forth
       | 
       | - Grep
       | 
       | - CVS (I'm not an American but you can relate)
       | 
       | - Clang
       | 
       | Altough MS products can be as opaque if not more. And let's not
       | talk about IBM...
        
       | collinmcnulty wrote:
       | The problem with descriptive names is that they start descriptive
       | but then become proper nouns. At a former employer in the Fortune
       | 100 outside the software industry, everything started with a
       | descriptive name, that then became an acronym. And as every
       | project and tool inevitably developed its own idiosyncrasies, the
       | descriptive name pretty soon didn't tell you anything useful
       | about the project at all.
       | 
       | It is an unavoidable reality that knowing something's name gives
       | you very, very little information about what that something is.
       | That's what sentences are for.
        
       | alienbaby wrote:
       | I have agreed with this for at least a decade. Name your things
       | in a way related to what they do.
       | 
       | What does chef do? Garden? Pig? Burp?
       | 
       | Nonsense.
        
       | fph wrote:
       | Like GMail addresses, all the good names are taken.
        
       | morshu9001 wrote:
       | Idk about open source tools, but internal corporate things have
       | codenames for good reasons.
        
       | notpachet wrote:
       | "First we have to build a Bingo service. See, Bingo knows
       | everyone's name-o..."
       | 
       | - 'Microservices' sketch by Krazam
       | 
       | https://www.youtube.com/watch?v=y8OnoxKotPQ
        
         | dmurvihill wrote:
         | You can really track the progression of Krazam's career based
         | on what videos he puts out
        
       | TehCorwiz wrote:
       | The author should read up on the
       | https://en.wikipedia.org/wiki/Sonic_hedgehog_protein or maybe
       | https://en.wikipedia.org/wiki/Boaty_McBoatface both of which are
       | actually scientifically important things.
       | 
       | Amiga famously had a custom ASIC called "Fat Gary"
       | https://en.wikipedia.org/wiki/Amiga_custom_chips
       | 
       | I really could go on about this. Names are only useful for
       | distinct identification. They need to be distinct within their
       | domain. Otherwise they're just an index into a list.
        
         | lr0 wrote:
         | Sonic hedgehog is a terrible example this case. Researchers
         | literally had to tell parents their children had mutations in
         | the "sonic hedgehog gene." The scientific community recognized
         | this was a problem and it's a widely-known controversy. It's
         | cited as an example of bad naming in medical ethics
         | discussions.
         | 
         | Boaty McBoatface? officials overrode the vote to name it after
         | David Attenborough. The actual research submarine got the joke
         | name. Again, this proves my point.
         | 
         | Fat Gary was an internal chip designation that never needed to
         | be public-facing. Perfectly fine.
         | 
         | "Names are only for distinct identification" if efficiency was
         | not at a question. Why use worse identifiers when better ones
         | cost the same?
        
       | michaelcampbell wrote:
       | <tangent>
       | 
       | What is it with a number of blogs recently that have turned off
       | normal right-click behavior, and probably related, the scroll
       | behavior is awful.
       | 
       | This is one, and as soon as I scroll on my work high powered
       | Macbook and it's not smooth, I'm out.
        
         | lr0 wrote:
         | [OP] Can you please doublecheck? Nothing should affect right-
         | click behavior or scroll, if you're experiencing it, it's
         | probably from your end.
        
         | irusensei wrote:
         | I am more frustrated by the fact browsers allow such
         | manipulation such as this and some clipboard operations.
        
       | arscan wrote:
       | > "But memorable names help with marketing!"
       | 
       | > Sure, if you're building a consumer product. Your HTTP client,
       | cli utility helper, whatever library is not a consumer product.
       | The people who will ever care about it just want to know what it
       | does.
       | 
       | ----
       | 
       | It sounds like the author doesn't view themselves as a consumer
       | in this relationship, that they are immune to marketing, and that
       | what they are advocating for isn't just another marketing tactic.
       | I'm not sure if any of those are true.
       | 
       | My experience with areas that use functional names to describe
       | things is that you end up in a sea of acronyms (the functional-
       | based names are a mouthful!) and you end in an arguably worse
       | situation (did you say ABDC or ADBC, those are two completely
       | different things).
        
         | ElevenLathe wrote:
         | I agree. I've worked in places that discourage "cute" names and
         | the result is often things like having to decide between using
         | CoreMainHttp and MainHttpCore. Or worse, two things with
         | exactly the same name, but two different APIs, with projects
         | sometimes taking both as a dependency at the same time. Or even
         | obsolete parts of the org chart encoded into dependency names,
         | like "DataOrgUtils" when the "Data Org" stopped existing
         | several reorgs ago, when our current VP was an intern and
         | nobody else even worked here.
         | 
         | Without some central control of names though, even "cute" ones
         | tend to converge on the same handful eventually: Phoenix (and
         | other classical allusions like Plato's Cave, etc.),
         | Keymaster/MCP (and other 80s childrens' movie references),
         | Simpsons characters, Star {Trek,Wars} references. These are all
         | attractors for the kind of people that tend to be in IT/SWE
         | even if the actual namespace (all possible ASCII-expressable
         | words) is much larger.
        
       | taeric wrote:
       | I find the remark that we give things names more as a word play
       | than purpose.... kind of amusing? Like, of course people will
       | find a way to play with the tools they have. And in programming,
       | that is often words. Because what else would it be?
       | 
       | By far the worst aspect of the nerd ecosystem is the odd belief
       | that pops up every so often that names should matter. In every
       | ecosystem, there is usually some odd idea that it is only in
       | their world that people abuse this.
       | 
       | Just skim through that list of things that are unexpectedly named
       | after people. Sure, you can get upset about Shell's sort not
       | having any relation to shells. Or Bloom's filter not having a
       | phase where the data "blooms" into use. But you would have the
       | same issue with French drains. Or how gaslighting has nothing to
       | do with lighting things on fire using gas and the affect that
       | will have.
       | 
       | Honestly, I think this would be a fun list to just keep going.
       | Akin to the old Chuck Norris joke generators.
        
       | andrewl wrote:
       | I strongly agree with this. And what bothers me more than obscure
       | or meaningless names like Viper are silly and embarrassing names
       | like Hunchentoot. Names like that sometimes cause people to
       | dismiss good software. It's like using Comic Sans in a serious
       | research paper.
       | 
       | One area of the sciences does partly use names like this, and
       | that is biology. Biologists do sometimes name a species after a
       | famous person, as in the louse _Strigiphilus garylarsoni_ :
       | 
       | https://en.wikipedia.org/wiki/Strigiphilus_garylarsoni
        
       | thundergolfer wrote:
       | My old company Canva, was pretty good about this and I'm bringing
       | that to the culture at my current place.
       | 
       | Krazam has excellently parodied this unserious naming indulgence
       | of programmers[1]. "See, Bingo knows everyone's name-O. So we get
       | the user ID from there." Racoon, Wingman, EKS (Entropy Chaos
       | Service), RGS, Barbie Doll, Ringo-2.
       | 
       | 1. https://youtu.be/y8OnoxKotPQ?si=QkI-TPStI9I4RtAB&t=33
        
       | irusensei wrote:
       | >Every person who encounters your "fun" name pays a small tax.
       | Across the industry, these taxes compound into significant waste
       | 
       | >Reserve the creative names for end-user products where branding
       | matters. For infrastructure, tools, and libraries, choose
       | clarity. Every time.
       | 
       | Ah yes the software I am giving away for free must go easy on the
       | minds of the poor VCs and business drones who are extracting
       | value from it.
        
       | groby_b wrote:
       | Wait till you work in a corporate environment, where Project
       | Fuzzy Mustard triggered a violation of the ElastoFish metric in
       | the Yellow Hills subsystem, leading to a Code Mild Lavender with
       | a side of Pink Sprinkles.
        
         | indymike wrote:
         | I worked in one that had lettuce, tomato and celery in the
         | stack.
        
           | queenkjuul wrote:
           | We have a boulangerie and a fromagerie
        
         | jackvalentine wrote:
         | I no shit once worked on 'Project Magenta Lobster'.
        
       | m3047 wrote:
       | As they say in physics: color and charm may change, but up and
       | down are forever.
        
       | colechristensen wrote:
       | >There's an odd tendency in modern software development; we've
       | collectively decided that naming things after random nouns,
       | mythological creatures, or random favorite fictional characters
       | is somehow acceptable professional practice. This would be career
       | suicide in virtually any other technical field.
       | 
       | Odd? Modern? I started working professionally in 2005 and
       | everything had silly names. The DNS server was named athena
       | instead of c302r5s1 or whatever building/room/rack/position name.
       | I once rebooted a server that had an uptime of 12 years, so it
       | had been running since 1993... it indeed had a silly name.
       | Everything had silly names, usually types of things had a theme.
       | 
       | >Same thing applies to other fields like chemical engineering,
       | where people there maintain even stricter discipline. IUPAC
       | nomenclature ensures that 2,2,4-trimethylpentane describes
       | exactly one molecule. 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.
       | 
       | How about piranha? aqua regia? Up/Down/Strange/Charm quarks?
       | Gluons? Like a third of the elements named after people or
       | places.
       | 
       | Curium, Einsteinium, Fermium, Mendelevium, Nobelium, Lawrencium,
       | Rutherfordium, Seaborgium, Bohrium, Meitnerium, Roentgenium,
       | Copernicium, Flerovium, Oganesson -- I guess none of these people
       | were named Steve, but you get the point
       | 
       | These tendencies are OLD and EVERYWHERE. IUPAC names are just a
       | convenient way to serialize data.
        
       | bighead1 wrote:
       | counterpoints:
       | 
       | pascal, eiffel, ada, C, APL, dylan
        
         | gherkinnn wrote:
         | JavaScript
        
       | Lerc wrote:
       | Past projects of mine.                   'pedes         Glook
       | Fitznik         Plops         Gyralight         I wanted a new
       | tower defence game: So I made one
       | 
       | Oh and https://lerc.itch.io/namesarehardpart5
       | 
       | The examples given for real world things The Golden Gate Bridge
       | and The Hoover Dam, are instances of things. Things that the
       | class of which they belong is old enough that Dam and Bridge are
       | not new words.
       | 
       | If you are making new things you need a new name. Software is
       | inherently new because computers have been in wide use for only a
       | few decades. Instances of software rarely even get names, just
       | numbers, with project names or nicknames attached. I'd be willing
       | to bet both The Golden Gate Bridge and the Hoover dam had project
       | names or nicknames.
        
       | lordleft wrote:
       | I am highly sympathetic to this sentiment, but I think it's hard
       | to name things in software because a) it's easy for the obvious
       | names to get overloaded and b) many of the things we are dealing
       | with are basically abstract relationships with arbitrary
       | properties.
        
       | Tade0 wrote:
       | I think the author is ignoring the difference between Branding
       | and several other categories, like technical terms and their
       | common names.
       | 
       | The adjustable wrench is named straightforwardly, but most
       | English speakers know it as the _monkey_ wrench. In some European
       | languages its name translates to  "French wrench" or "the French"
       | (as in: French person), in others it's "English wrench" even
       | though those two were originally just variants of the adjustable
       | wrench.
       | 
       | Point is, all those goofy names are brands that may or may not
       | stick around for longer and the terms for what they actually do
       | are more descriptive.
       | 
       | My favourite example: BlueJeans. A videoconferencing platform.
       | Why is it named like that? We might never know, but most likely
       | partly to stand out, but there's a clear distinction between the
       | brand name and the more descriptive terms used to tell what it
       | does.
        
       | scoopdewoop wrote:
       | > programming shifted from corporate mainframe work to the
       | community builders > which is good
       | 
       | but then:
       | 
       | > Our field deserves better than a zoo of random nouns
       | masquerading as professional nomenclature
       | 
       | Okay? So is this professional nomenclature or the work of
       | community builders?
       | 
       | I think: everyone should code, it should not be an elitist
       | profession, we don't need to all accommodate busy professionals,
       | i'm fine with corporate users having to say my stupid package
       | name at work.
       | 
       | > Your fun has externalities. Every person who encounters your
       | "fun" name pays a small tax. Across the industry, these taxes
       | compound into significant waste
       | 
       | Someone please get this guy a bong rip.
        
         | tuveson wrote:
         | It's all fun and games until you have to be like "blastoise
         | deleted our database backups"
        
       | myk9001 wrote:
       | https://youtube.com/watch?v=y8OnoxKotPQ
        
       | zcw100 wrote:
       | Why does it have to be all or nothing? How about a clever name or
       | two for marketing that stands out and doesn't get lost in a
       | sentence "I'm not asking you to search, I'm asking you to use the
       | search command" but not obnoxiously over done where everything is
       | named after some Norse god or some other silliness.
        
       | chagaif wrote:
       | Love this:
       | 
       | > Name your library after what it does. Use compound terms.
       | Embrace verbosity if necessary. http-request-validator is
       | infinitely superior to "zephyr" when someone is scanning
       | dependencies at 2 AM debugging a production incident.
        
       | taylodl wrote:
       | And forty years ago, I was using a tool called Brief, which was a
       | product from UnderWare. I was also using a librarian named
       | Marian.
        
       | ux266478 wrote:
       | > Your HTTP client, cli utility helper, whatever library is not a
       | consumer product.
       | 
       | I'm not sure how the author came to this conclusion.
       | 
       | At any rate, programmers aren't any worse about this than
       | mathematicians. Just replace [fictional name] with some foreign
       | word or philosophical term that's justified with the most insane
       | mental gymnastics you've ever heard of. Given some historical
       | native speaker of Latin, do you think they're going to know what
       | a matrix is for? No, because the word means "uterus". There is no
       | connection to "tabular shorthand of linear transformations."
       | 
       | I think it's clear the author is writing this to vent
       | frustration, but I think they've misidentified the actual
       | problem:
       | 
       | > http-request-validator is infinitely superior to "zephyr" when
       | someone is scanning dependencies at 2 AM debugging a production
       | incident.
       | 
       | My jaw hit the floor reading this. The idea there are people out
       | there debugging codebases without knowing something as
       | foundational as the dependencies is beyond absurd to me. That's
       | insane and horrifying, overshadowing pretty much the entire blog
       | post. Does anyone else live like this? How do you tolerate these
       | conditions? _Why_ would you tolerate these conditions?
        
       | davidfekke wrote:
       | The two hardest things to do in computer science is knowing when
       | to invalidate cache and how to name things.
        
         | 9rx wrote:
         | And off-by-one errors.
        
       | munificent wrote:
       | _> 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 Dam is a dam, named after the president who
       | commissioned it, not "Project Thunderfall" or "AquaHold."_
       | 
       | It was actually called the "Boulder Canyon Project" while being
       | built, referred to as "Hoover Dam" even though finished during
       | the Roosevelt administration, officially called "Boulder Dam",
       | and only later officially renamed to "Hoover Dam".
       | 
       | The fact that Herbert Hoover initiated the project tells you
       | nothing meaningful about it. Would "Reitzlib" be a better name
       | than "Requests"?
       | 
       |  _> If you wrote 100 CLIs, you will never counter with a cobra._
       | 
       | 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.
       | 
       |  _> 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._
       | 
       | When you open your medicine cabinet, do you look for a jar
       | labeled "acetylsalicylic acid", "2-propylvaleric acid", or
       | "N-acetyl-para-aminophenol"? Probably not.
       | 
       | It's a bad sign when all of the examples in an article don't even
       | agree with the author's point.
        
         | BoppreH wrote:
         | I think the author makes a hard distinction between consumer
         | products and infrastructure/engineering products. The Shelby
         | Cobra has a funny name, but its engine is the memorably named
         | V8. The Hoover Dam is a dam, and the Golden Gate Bridge is a
         | bridge.
         | 
         | We can argue about namespace pollution and overly long names,
         | but I think there's a point there. When I look at other
         | profession's jargon, I never have the impression they are
         | catching Pokemon like programmers do.
         | 
         | Except for the ones with Latin and Greek names, but old
         | mistakes die hard and they're not bragging about their
         | intelligibility.
        
           | leipert wrote:
           | Also the author misses how elements, species and astronomical
           | objects are named. After random places, people, games,
           | fictional characters, etc.
           | 
           | Names are just names. It's nice if they are kind of unique
           | and have no collisions.
        
           | kace91 wrote:
           | >I think the author makes a hard distinction between consumer
           | products and infrastructure/engineering products.
           | 
           | Which is really funny considering he talks about emacs.
        
         | moregrist wrote:
         | > > 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.
         | 
         | The author is just wrong. Chemistry is fairly jam-packed with
         | various cutesy names either to amuse the authors or because
         | they're attempting to make an algorithm memorable to the field.
         | 
         | Off the top of my head:
         | 
         | - SHAKE and RATTLE: Bond constraint algorithms.
         | 
         | - CHARMm: An MD package but you'd never guess it from the name
         | 
         | - Amber: Another MD package that you'd never guess from the
         | name.
         | 
         | - So so many acronyms from NMR: COSY, TOCSY, NOESY
         | 
         | The list goes on and on and permeates most of the subfields in
         | one form or another.
         | 
         | If you want really cutesy names, though, look in molecular
         | biology.
        
       | benrutter wrote:
       | > Our field deserves better than a zoo of random nouns
       | masquerading as professional nomenclature. Clarity isn't boring,
       | it's respect for your users' time and cognitive resources.
       | 
       | I felt a little guilty at first, I maintain a project called
       | Wimsey (it's a data testing library but you couldn't guess that)
       | and at work my team regularly enjoys fun/silly names.
       | 
       | Trying to defend myself, I was thinking about various logical
       | responses to this article: non-descriptive names don't become out
       | of place when a projects goals drift; descriptive names will lead
       | to repitition; etc.
       | 
       | If I'm honest though, I think I _just like_ software to have a
       | sense, even a tiny one, of enjoyment.
       | 
       | The software I use everyday, like Cron (named after a greek god
       | of time); Python (named after a comedy act) and Zellij (names
       | after a tiling craft) all have fun, joyful names that tell me
       | someone loved and cared about these projects when they built
       | them.
       | 
       | I need to learn these tools beyond just "x does y category of
       | thing" anyway, so I don't mind learning these names. And it makes
       | software engineering just a bit more fun than using "unix-
       | scheduler", "object-oriented-scripting-lang" or "terminal-
       | display-manager".
       | 
       | I love working in a field where people are passionate about their
       | craft. Stern professionalism doesn't sound like something I want
       | to trade that for.
       | 
       | It's a human trait to name the things we love, that's the exact
       | reason why pets typically have names like "cookie" and not
       | "brown-dog-2".
        
         | general1465 wrote:
         | I always get stuck into .NET naming structure
         | Project.Parser.Pcapng, it is great for projects, but it is
         | utterly useless for standalone naming
        
       | kixiQu wrote:
       | I believe strongly in this counterargument:
       | 
       | https://medium.com/better-programming/software-component-nam...
       | 
       | Small summary: external identifiers are hard to change, so
       | projects will evolve such that they are not _accurately_
       | descriptive after time.
       | 
       | (Less discussed there, but: In a complex or decentralized
       | ecosystem, it's also the case that you come across many "X
       | Manager"/"X Service"/"X State Manager"/"X Workflow Service"
       | simultaneously, and then have to rely on a lot of thick context
       | to know what the distinctions are)
        
       | plorkyeran wrote:
       | > 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.
        
         | mojuba wrote:
         | However once you learn that sed means stream editor, you won't
         | ever forget it. libsodium is forgettable.
        
           | jolmg wrote:
           | That's part of the point, I believe. It's not about being
           | always able to guess the function from first sight. It's also
           | about the function and name serving as mnemonic to each other
           | once you understand how it got named.
        
             | bigiain wrote:
             | I think perhaps the articles argument gets less strong
             | then?
             | 
             | It's claimed grep is "well named" because even though it's
             | not obvious when you first read it, that it being a
             | contraction for "global reg ex print" and hence memorable.
             | I'm not sure the same argument can't be made for libsodium
             | which assuming the reader is familiar with NaCl (the same
             | as the assumption that the previous reader is familiar with
             | regex) then it's an equally memorable name for your crypto
             | library.
             | 
             | There's always a consideration about the context the name
             | is intended and likely to be used in. The article mentions
             | engineering naming and "ibeam", but engineering has it's
             | own technical names an jargon as well. Most people wont
             | know what "4130 tube" means, but people who build bicycle
             | frames or roll cages will - and they're likely to use the
             | less specific term "chromoly" if the don't need to
             | distinguish between 4130 and 4145.
             | 
             | In my head "libsodium" is similar - if you don't know what
             | it (and NaCl) mean, you 100% should keep out of that part
             | of the codebase.
        
               | jolmg wrote:
               | Names fall on a spectrum on this argument. Sodium is not
               | really random because of the use of "salt" on crypto.
               | It's like saying that libsodium is part of your crypto.
               | awk is more random.
               | 
               | The argument goes stronger with projects where the
               | creator seemed to just roll the dice with the name.
        
             | pavel_lishin wrote:
             | "libsodium" -> "salt" -> "salting is something tangentially
             | related to cryptography" is significantly better as a
             | mnemonic than "awk stands for the author's initials".
        
           | bigiain wrote:
           | Same for grep - with, I guess, the proviso/assumption that
           | you know what regular expression means, which might have been
           | a fair assumption for the sort of people who had command line
           | access to Unix systems in the 70s/80s, but may no longer be
           | valid for developers under 30 who grew up with Windows and
           | were perhaps trained in 6 or 26 week "bootcamps" that didn't
           | have time to cover historical basics like that?
        
           | pavel_lishin wrote:
           | > _However once you learn that sed means stream editor, you
           | won 't ever forget it._
           | 
           | I feel like this is approximately the third time I'm learning
           | this.
        
           | forrestthewoods wrote:
           | lol no. There are literally a hundred plus Unix tools and
           | commands. I couldn't tell you what 90% of them mean. I sure
           | as hell couldn't have told you what sed stood for. And if you
           | asked me tomorrow I also wouldn't be able to tell you.
           | 
           | C programmers are great. I love C. I wish everything had a
           | beautiful pure C API. But C programmers are strictly banned
           | from naming things. Their naming privileges have been
           | revoked, permanently.
        
         | nonameiguess wrote:
         | 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 the web? The
         | author may or may not like those names, but they have a logic
         | just like grep and awk do.
        
         | bee_rider wrote:
         | I'm not sure I like awk, sed, or cat, I think these are just
         | names we're used to, not good really. diff seems ok.
         | 
         | grep almost has an onomatopoeic nature to it... like, it sounds
         | like you are grabbing or ripping the patterns out of the file,
         | right?
        
       | queenkjuul wrote:
       | End of the day you know what it means or you don't. I agree it's
       | helpful when a name is descriptive, but there's no helping the
       | fact that you're going to have to learn the names of things that
       | aren't obvious. Purely utilitarian names would constantly
       | collide.
       | 
       | I also think they overestimate how distinct terminology is in
       | other fields. Even their example of the I-beam is also known as
       | an H beam or an RSJ depending on who you're talking to. I don't
       | find it hard to imagine a mechanic referring to one of their
       | specialty tools by the name of its manufacturer, either.
       | 
       | Regardless, the battle was lost before it started. There has
       | never been good consistent descriptive naming as standard in
       | computing; there was no plot to lose.
        
       | gherkinnn wrote:
       | This reads like an extensive, and frankly exhausting,
       | rationalisation of a personal preference. Personal preferences
       | are fine, I have my own. But please stop thinking they apply
       | universally.
       | 
       | Laravel works better than Rails-but-PHP. Ruby on Rails beats
       | Opinionated-One-Person-Stack-Using-Ruby and I'm fine with the
       | name Ruby as well.
       | 
       | I shall name my next product larmn in honour of OP.
        
       | amelius wrote:
       | One more reason why Windows is better than OS X.
        
       | jasondigitized wrote:
       | Descriptive names are great until the thing you built starts
       | evolving and doing more or less than the description and then is
       | way more confusing that calling something somewhat general like
       | my favorite of all time: 'Conformity Beaver'. The same goes for
       | teams. Mythical creatures are good because they are fun and also
       | allow the team to evolve its mandate and custodianship and may
       | also help with Conways Law.
        
       | dist-epoch wrote:
       | Irrelevant. LLMs know all the names. In 1 year they will be doing
       | all the SSHing and terminaling.
       | 
       | Quickly: name the AVX2 instructions that the compiler emits for
       | math calculations
        
       | IshKebab wrote:
       | Preach! The worst excuse I hear is "but if we have a meaningless
       | name it can't become inaccurate later when the project changes!".
       | 
       | Uhm yeah. That's like saying "if stab myself to death now I can't
       | die of dementia in old age!"
       | 
       | Edit: look, it's here!
       | https://news.ycombinator.com/item?id=46237390
        
       | Beestie wrote:
       | First it was racehorses. Then it was prescription medications.
       | Then software.
       | 
       | I hope this goes no further.
        
       | hyperbolablabla wrote:
       | I understand the counterarguments, but I agree viscerally with
       | the arc of this argument. My company has a client who's named
       | there services random names like Chuck and Phobos -- absolutely
       | no inkling about it what they do, and when my colleagues talk
       | about them they may as well be talking Greek. The client I work
       | with names our backend services functionally, like "Royalties" or
       | "Workstation", and navigating the org as a newcomer was way
       | easier for me.
        
       | ModernMech wrote:
       | I can't call my new formula translation language FORTRAN because
       | it's been taken, as have many other names. So now to avoid
       | collisions, it's named after my cat.
        
       | randomNumber7 wrote:
       | C
       | 
       | C post increment
       | 
       | See sharp
        
       | dwaltrip wrote:
       | The author is vastly overestimating the general legibility and
       | familiarity of things they happen to know well and are used to.
       | 
       | Boring names are also very generic, by definition, and thus often
       | harder to remember. Especially when there are 10 other similar
       | tools. Is it sql-validator, sql-schema-validator, schema-
       | validate, db-validator, or god knows what else?
       | 
       | Edit: I am in favor of better "sub titles" / descriptive slugs /
       | and so on. As well as names that are a hybrid of creative and
       | descriptive. Sqlalchemy is a good example.
       | 
       | Why isn't there a command line utility called "whatisthis" with a
       | standard protocol that allows tools to give a brief description
       | of what they are?
       | 
       | It could be extended to package managers as well. E.g "pip
       | whatisthis foo_baz".
       | 
       | Shit we should create this...
        
         | p4ul wrote:
         | This might not be exactly what you mean by a CLI app called
         | "whatisthis", but I have been using cheat.sh and the pattern
         | below for a few years. It works really well!
         | 
         | curl cheat.sh/grep # fetches brief grep cheat sheet
        
       | Arubis wrote:
       | Just name everything Phoenix.
        
       | GMoromisato wrote:
       | Once again proving that there are two very hard problems in
       | software engineering: Naming things, cache invalidation, and off-
       | by-one errors.
        
       | casey2 wrote:
       | LMAO ok dude, don't like it? fork it and change the name. The
       | author has a DEEP misunderstanding of the science of human
       | language, not surprised he's a Chomskyite.
       | 
       | Rule of thumb, disregard every post that uses the phrase "context
       | switching"
        
       | jollyllama wrote:
       | Unfortunately this article misses the worst failure of naming:
       | name collisions.
        
         | wmf wrote:
         | Yeah, if we followed this advice every language would have four
         | different packages named http-client.
        
       | keybored wrote:
       | > The cognitive tax
       | 
       | > Every obscure name is a transaction cost levied on every
       | developer who encounters it.
       | 
       | It's not a mental burden, it's a cognitive tax. Moreover it's a
       | transaction cost? Levied on people? Which loads their RAM?
       | 
       | Where's the simple everyday English?
        
         | keybored wrote:
         | Anyway. We used MongoDB for a good while.
        
       | tracerbulletx wrote:
       | Why is Go a very silly name and not Python, C, Rust, or literally
       | any programming language name?
        
       | MerrimanInd wrote:
       | > This would be career suicide in virtually any other technical
       | field.
       | 
       | The cognitive load is unavoidable and in some ways worse in
       | industries with highly technical names.
       | 
       | At one point in my career I was an engine calibrator at a large
       | automotive OEM. Our lexicon included physics industry terms
       | (BMEP, BTDC, VVT, etc), a large software package where _every_
       | variable, table, and function was an acronym (we had about 75k
       | tunable parameters, each with an acronym), and all the internal
       | company jargon and acronyms you 'd expect in a large corporation.
       | But every name was as technical and functional as the author
       | would desire.
       | 
       | During my first month I was _exhausted_. I would doze off in
       | afternoon meetings or pass out in my car as soon as I pulled in
       | the driveway. I finally mentioned this to a more senior coworker
       | and his insight was that my brain was working overtime because it
       | was busy learning another language. He was entirely right! The
       | constant mental load was a very real and tangible load. He
       | relayed an anecdote when he went to S. America on his honeymoon
       | and despite him and his wife having taken ~4 years of HS /college
       | Spanish the mental work they had to do to function basically
       | nixed half the daily activities they had planned due to
       | exhaustion. That was what I was experiencing.
       | 
       | The idea that _more_ technical and specific names reduces mental
       | load does not track with my experience. The complexity is
       | intrinsic not incidental and I don 't think it has much to do
       | with the specific names chosen.
        
       | pvtmert wrote:
       | I agree for internal names but disagree for public
       | software/external names.
       | 
       | I disagree for public/open-source software, because: So many
       | kinds of software actually have good names. Yes they use mythical
       | names but with the similar function or relatedness.
       | 
       | Meanwhile, I agree for internal names, because: So many (legacy)
       | code I worked with had terrible naming. This goes beyond only the
       | names themselves but also their capitalization or consistency. I
       | kid you not, in a $FAANG company I saw "SpidermanActivity" and
       | "BatmanActivity" on a system that is used by Tier-1 services' on-
       | calls.
       | 
       | > (Although this thing was not a Tier-1 service, it was not also
       | completely Tier-2 either, as it was actively supporting
       | operations of Tier-1 services, depending on the incident, a
       | downtime could cause significant problems...)
       | 
       | Imagine you are trying to make sense of a large system, which has
       | maybe tens of dependencies and as much of dependents, you are
       | also trying to remember which API was Spiderman and how it
       | related to the business at all...
       | 
       | More on the naming conventions, the horrible case of acronyms
       | (which spans outside of software engineering) and PMs creating
       | polls/surveys for "fun names for our new shiny thing that does X
       | but we don't wanna call it that".
       | 
       | Going even lower-levels, engineers themselves are not careful. I
       | had way too many CDK stacks named with not only varying dash vs
       | underscore differences, but also with subtle "case-sensitivity"
       | differences.
       | 
       | Each year, I am solving issues of Java devs' issues. Some of
       | being "but it works on my machine" type of problems. And
       | significant percentage of that is most developers use a Mac &
       | macOS. Hence the filesystem is case-insensitive by default. But
       | the deployment target & CI being a Linux, filesystem is case-
       | sensitive. As you can see here, The camel-case combined with
       | inattentiveness can simply cause many hours of waste.
       | 
       | > It's a plague.
       | 
       | Yes, there is an AI slop, but there is also human sloppiness too.
       | I am quite happy with LLMs/GenAI that it is able to catch and
       | capture these and less prone to make such sloppiness in the first
       | place. (As it being a "predictive-text engine", next word
       | suggestion is a clone of existing copy of historically occurring
       | words)
       | 
       | At the same time, amount of "hallucinations" for various acronyms
       | are staggering. Obviously I cannot expect otherwise. Even as a
       | human, if I am missing the context, I would be either confused or
       | plug-in something I already know...
        
       | MisterTea wrote:
       | I agree, some names that come to mind are Celery and Windows. But
       | there are always silly names. I like Plan 9, an OS named after an
       | Ed Wood B movie. Its sibling, Inferno is full of puns and
       | references to Dante Alighieri's Divine Comedy. Its corporate
       | dullards who insist that neutral boring is appealing to most and
       | I again agree but its not a hard rule for me.
        
       ___________________________________________________________________
       (page generated 2025-12-11 23:00 UTC)