6 ms·
Ask HN: What are some examples of poor naming in computer science/programming?
They say naming things is one of the hard problems of computer science.
What are some examples of things that are poorly named?
And what would you rename them to?
- arduinomancer 5y agoPersonally I'd have to go with dynamic programming. I feel like it is the most generic name ever and tells you nothing about the concept. Not sure what a better name would be though. Runner up: condition variable
- arh68 5y agoIf you don't know the origin of the phrase dynamic programming, you are quite perceptive. You've landed quite close to its true definition.
- edoceo 5y agoHahaha, Wang Computer. Laughed the first time I heard it, still laughing today (+25 years later) And now, global internet, like every risks being a dirty word in some other language. Edit: also Google Go language. And it stomped on that one person's Go named language. F in the chat for them. Found the link - issue#9 https://github.com/golang/go/issues/9 https://github.com/golang/go/issues/9
- PaulHoule 5y agoC should be named C-thulu.
- ksaj 5y agoA lot of words we use for "the web" create mixed metaphors. Do spiders "surf" their webs? Does anything put a "post on the web"? How about "scraping the web" or "dark web"? We tack on so many different metaphors that we have completely forgotten the original "web" metaphor. Another related one is World Wide Web. So many sites still have www in front of their URL's, yet only allow connections from specific geographic areas. Not world wide after all.
- jonjacky 5y agoI recall being annoyed when Microsoft named its products with completely generic words like ... Word. Or Windows. I was incredulous: Can they really seize a common word for their own use and trademark it? I thought there would be an uproar and some official trademarks office would disallow it, but no. They got away with it and now everyone has forgotten how grabby and monopolistic it seemed. Also, I roll ny eyes at self-congratulatory names like Perfect Writer and Sublime Text. Isn't it for us to say if we think it's perfect or sublime?
- ksaj 5y agoHow about programs that insist that the user know what programming language was used? Most users won't care if their editor of choice was programmed in C or Go or whatever. Programming language is not a feature. The language used has nothing to do with the program's functionality. But these days there seems to be an annoying fad of making sure you know what language was used.
- AlDante2 5y agoLong Short-term Memory. I still don't know what the authors were thinking of. (To be fair, they weren't native English speakers). Maybe recurrent gradient flow network or recurrent propagating state network would have been better names.
- alpaca128 5y agoFIFO/LIFO etc. I have the impression it's just me, but I never remember which of those means what. Does "first out" mean the first/top-most element in the queue or the first one that was pushed in? No idea, I just can't help it but my brain refuses to memorise this detail and I have to look it up each time. A variation like "top in, bottom out" would be much clearer imho because it doesn't have this ambiguity.
- jaredsohn 5y agoIt might be helpful to think of it as "the first one in is the first one out"; 'first' describes the order of adding/removing. Also, it may be helpful to remember that FIFO means you'll get data back in the original order while in LIFO they'll be reversed.
- compressedgas 5y agoI avoid these abbreviations just call them queue and stack.
- xupybd 5y agoIntel's i series processors. An i3 from 10 years ago is not the same as an i3 today. Trying to figure out what your buying is not fun.
- cpach 5y ago“Slice” in Go feels confusing to me. There ought to be a better name for that. Not sure exactly what would be better though.
- open-source-ux 5y agoSo much in software is badly named. Some labels or terms will never change regardless of whether they are well-named or not e.g. 'Pull Request' (see the links below discussing this). Naming examples: - Product or service names that convey little or nothing about their purpose e.g. AWS (Amazon Web Services) - Well-understood dictionary words turned into fuzzy and imprecise computer science terms because no-one could think of anything better. Examples: 'composition' (as in 'composition over inheritance'). Or 'concern' (as in 'separation of concerns'). - Feature names, command-line names, API names - too many examples to list. But an interesting related article: Comparing confusing terms in GitHub, Bitbucket, and GitLab (2017) https://about.gitlab.com/blog/2017/09/11/comparing-confusing-terms-in-github-bitbucket-and-gitlab/ https://about.gitlab.com/blog/2017/09/11/comparing-confusing... - The GitLab link above was discussed on Hacker News. It includes an interesting first comment on the term 'Pull Request': https://news.ycombinator.com/item?id=11095652 https://news.ycombinator.com/item?id=11095652 - On a more sinister note: choosing words designed to obfuscate their purpose and to sound benign e.g. telemetry, analytics, web beacons. No company or developer would use the more honest label 'user tracking' would they? Finally, although every profession has a professional vocabulary, why does it feel that Computer Science is particularly amenable to the ugliest possible professional vocabulary? e.g. idempotence (not impotent!)
- arh68 5y agoThey're not necessarily confusing, but "constant variable", "local import", "randomized sorts" probably all sound weird to outsiders. Also, I wonder where "linting" came from (de-linting?). Some terms are just so popular that the names will always be a blur without context (index, object, array, function)–you can always "rename" them but it wouldn't help.
- linguae 5y agoIt took me a while to understand the X Window System’s definitions of client and server. An X client refers to an application that uses the X11 protocol, such as Firefox or GIMP. An X server implements the X protocol and connects to a display. On many computers, both the client and the server run on the same machine. However, if I’m launching an instance of Firefox that is running on a remote machine, then the X client is running remotely while it is using my local X server. Some people get confused, however, since usually we think of servers as remote machines. I have no issue with the terminology, but different naming could ease confusion.
- deleted 5y ago[deleted]