This is a norm to the point of being a rule for Elm packages. The names are things like elm-csv, elm-json-decode-pipeline, elm-iso8601-date-strings. There's a strong preference in the community to name a package for exactly what it does, and differentiate on the author namespace if needed e.g. you may choose among coreygirard/elm-nonempty-list, mgold/elm-nonempty-list, and v-nys/elm-nonempty-list depending on which meets your needs best
I remember working on a ruby project and running into some problem with our env setup tool and just hitting "could not find nokogiri" (or an error to that effect) over and over and getting a little mad that I had to read this cutesypoo not-at-all descriptive name over and over while failing to get a danged website to run.
---
To be sure, there are in-the-know parts of all the package names I just listed: what does JSON stand for? What does CSV stand for. What is the ISO and what is 8601? I guess the idea there is the descriptiveness ends at the edge of the language; the package name is too short a field to explain Javascript Object Notation, Comma Separated Values, or the ~~International Standards Organization~~ ok actually it's from "isos" meaning "same" date format.
I’m glad you cited Ruby, as it’s definitely the exact opposite of what you said about elm. Every damn gem has an idiotic cutesy name. I think it’s one reason why every mature Rails project I’ve seen in the corporate world has direct dependencies on five or six different http client wrappers. New developers would look in the Gemfile, find no “http” anything, then google “ruby gem http client” and, since that happens to be a diverse category, eventually developers will find and add all such libraries.
I’m hoping that with AI, maybe this will be less common, because an AI agent should easily see that you have, say, Faraday installed already, and not bring in the noob magnet that is httparty.
I remember working on a ruby project and running into some problem with our env setup tool and just hitting "could not find nokogiri" (or an error to that effect) over and over and getting a little mad that I had to read this cutesypoo not-at-all descriptive name over and over while failing to get a danged website to run.
---
To be sure, there are in-the-know parts of all the package names I just listed: what does JSON stand for? What does CSV stand for. What is the ISO and what is 8601? I guess the idea there is the descriptiveness ends at the edge of the language; the package name is too short a field to explain Javascript Object Notation, Comma Separated Values, or the ~~International Standards Organization~~ ok actually it's from "isos" meaning "same" date format.