11 ms·
I Disagree with you, in Computer Science we have things like: "Quick Sort", "Merge Sort", "Map", "Hashtable", "LRU", etc... etc... They are much more descrip
by ardit33 6y ago
I Disagree with you, in Computer Science we have things like: "Quick Sort", "Merge Sort", "Map", "Hashtable", "LRU", etc... etc...
They are much more descriptive and easy to remember, even though the Algorithms can be complex themselves. Event the name "Boolean", could be changed to "Conditional"... and be even more readable. Also, Dijkstra algorithm can be generalized to "Shortest Path Algorithm" (there can be more than one).
Math, and physics to some degree, have become self-referential to the point that start becoming more esoteric magic black books to beginners...
While CS was born out of Math folks, and unfortunately has adopted some of the same esoteric symbolics, I hope Computer Science doesn't follow that path on the long term, otherwise it will become divorced from day to day real life applications.
Let me give you a clear example:
Now, imagine if we called Double Linked Lists as "Darombolo lists", or whoever invented it. (I made up that name), Double Linked List is very easy to visualize and remember. "Giacomo Darombolo List", is not, and just adds to 'must cram/memorize' things to make things work.....
I personally don't like "cramming" useless trivia in order to work in my field. I hope Computer Science divorces from Math, and takes its own path to more logical naming of things and less useless symbols used in it.
It is like the whole field suffers because the authors' Narcissism, that they must name things after them.
- tr352 6y ago> Event the name "Boolean", could be changed to "Conditional"... and be even more readable. Definitely not. The term conditional is used for statements of the form “if X then Y”, in computer science as well as logic/philosophy.
- chongli 6y agoin Computer Science we have things like: "Quick Sort", "Merge Sort", "Map", "Hashtable", "LRU", etc... Those are trivial concepts though. The article brings up "perfectoid spaces", as if to suggest their superiority to "Scholze spaces", yet neither name gives any clue as to what they are: In mathematics, perfectoid spaces are adic spaces of special kind, which occur in the study of problems of "mixed characteristic", such as local fields of characteristic zero which have residue fields of characteristic prime p. A perfectoid field is a complete topological field K whose topology is induced by a nondiscrete valuation of rank 1, such that the Frobenius endomorphism Φ is surjective on K°/p where K° denotes the ring of power-bounded elements. [1] Oh, okay. See, the problem is that modern mathematical structures are built on top of centuries of prior work. Computer science, on the other hand, is still in its infancy as a field. I hope Computer Science divorces from Math, and takes its own path to more logical naming of things and less useless symbols used in it. That's silly. Computer science is a subfield of math. All computer scientists working in research are mathematicians by training. You won't get anywhere at all if you try to enter the field without a mathematical background. [1] https://en.wikipedia.org/wiki/Perfectoid_space https://en.wikipedia.org/wiki/Perfectoid_space
- xrisk 6y ago> You won’t get anywhere at all if you try to enter the field without a mathematical background. Unnecessary gatekeeping. There’s a lot of engineering-oriented research that has nothing to do with math.
- thaumasiotes 6y agoThere is no research anywhere, in any field, that has nothing to do with math.
- i-am-curious 6y agoNow this is most certainly wrong. Example (search "history research"): "Research in history involves developing an understanding of the past through the examination and interpretation of evidence. Evidence may exist in the form of texts, physical remains of historic sites, recorded data, pictures, maps, artifacts, and so on."
- thaumasiotes 6y agoTaking a very obvious example, you can't do much in the way of historical research without at least trying to establish which things happened before which other things. It's a serious problem in ancient history.
- afiori 6y agobut you can do that without any math background, for sure there are applications of math in history research but they are just applications
- chongli 6y agoI'm pretty sure modern historians use a lot of mathematical tools: statistics, information science, digital archives, computer imaging, etc. It's very hard to search for this, though, because all of the results concern the history of mathematics. You have to examine the tools and methods used. Pretty much every field in the social sciences and humanities requires their undergrads to take at least one course in statistics. Sure, these students may complain about it but they need to be trained to not make common statistical errors in their publications. Unfortunately, they still do, which highlights the importance of mathematical education even in these fields.
- dr_hooo 6y agoYet we still have Dijkstra's algorithm vs Belmann-Ford, because their differences cannot be captured well in a single word.
- jfoutz 6y agoMeanings of words drift over time, like, litterally.
- Godel_unicode 6y agoOh wow, I know this isn't what you meant but wouldn't it be great if we could use literally and litterally to mean literally and figuratively??
- jfoutz 6y agoHa! And punish my poor spelling even more.
- DonHopkins 6y agoI thought you were making a valid point that spelling drifts too!
- srtjstjsj 6y agoWe can, but everyone uses literally to mean litterally.
- dllthomas 6y agoA digression, but I don't think this is actually the case. I readily acknowledge that literally is often used when a sentence is figurative; that's not the same thing. For literally to be used to mean figuratively the utterer would be worried that, but for the presence of "literally", the sentence might be understood to be literal. I contend that the role "literally" usually plays is that of an intensifier. I believe it plays that role through ordinary application of hyperbole: the utterance "X is literally Y" is usually meant as "X is very Y; X is so Y it is almost as if it were literally Y; but of course you understand that it was not, in fact, literally Y - we're all reasonable people here." In much the same way, when someone says "You left me waiting for days" and it's been a handful of minutes, we don't say "'days' sometimes means 'minutes'" - we say that people exaggerate. I recognize that I'm disagreeing with at least one dictionary; I believe they got it wrong. And I won't claim that there is literally no single person who in fact uses "literally" to mean "figuratively" - but I have never encountered such an example and I believe it to be rare enough that we can consider it an error, even in a descriptivist treatment.
- FiberBundle 6y agoThe mathematical objects mentioned in the article are way more abstract than something like a sorting algorithm. There aren't any words in our vocabulary which would concisely help to describe these concepts.
- dragonwriter 6y ago> in Computer Science we have things like: "Quick Sort", "Merge Sort", "Map", "Hashtable", "LRU", etc... etc... And in quicksort, we have Hoare’s and Lomuto’s partition schemes. Not that “quicksort” is actually particularly descriptive. We also have Timsort. > Even the name "Boolean", could be changed to "Conditional"... and be even more readable Booleans aren't conditionals, conditionals in crisp binary (or, as it is commonly known, “Boolean”) logic operate on booleans (conditionals in fuzzy or nonbinary crisp logics do not.)
- hcs 6y ago> We also have Timsort. And Shellsort!
- knome 6y agoTim Sort, Hamming Codes, Huffman Coding, RSA keys, LZW encoding, Duff's Device, Bloom Filter, Carmack's Reverse, awk, linux, git. We have a lot of things named after those that discovered, invented or popularized a structure or technique. Certainly nowhere near as commonly as does mathematics, I will agree. In CS, no doubt, we often end up on the other end, where a single term means different things in different contexts and beginners may get confused at our reuse of terminology. Often the reuse gives some metaphorical understanding to the newcomer, even if it largely leads them astray in the details.
- ben_w 6y agoPage rank. I thought git was named by Linus, and to the extent that it is named after him, it was self awareness of his reputation? I remember when Duff's Device was a neat trick; does anyone still use it these days? Edit: a neat trick, not a bear trick.
- DonHopkins 6y agoSpeaking of Linus, did you know the embarrassingly invalid "Linus's Law" was actually made up by Eric S Raymond, and he just blamed it on Linus? https://en.wikipedia.org/wiki/Linus%27s_law https://en.wikipedia.org/wiki/Linus%27s_law >In software development, Linus's law is the assertion that "given enough eyeballs, all bugs are shallow". >The law was formulated by Eric S. Raymond in his essay and book The Cathedral and the Bazaar (1999), and was named in honor of Linus Torvalds. [...] >Validity >In Facts and Fallacies about Software Engineering, Robert Glass refers to the law as a "mantra" of the open source movement, but calls it a fallacy due to the lack of supporting evidence and because research has indicated that the rate at which additional bugs are uncovered does not scale linearly with the number of reviewers; rather, there is a small maximum number of useful reviewers, between two and four, and additional reviewers above this number uncover bugs at a much lower rate.[4] While closed-source practitioners also promote stringent, independent code analysis during a software project's development, they focus on in-depth review by a few and not primarily the number of "eyeballs".[5] >The persistence of the Heartbleed security bug in a critical piece of code for two years has been considered as a refutation of Raymond's dictum.[6][7][8][9] Larry Seltzer suspects that the availability of source code may cause some developers and researchers to perform less extensive tests than they would with closed source software, making it easier for bugs to remain.[9] In 2015, the Linux Foundation's executive director Jim Zemlin argued that the complexity of modern software has increased to such levels that specific resource allocation is desirable to improve its security. Regarding some of 2014's largest global open source software vulnerabilities, he says, "In these cases, the eyeballs weren't really looking".[8] Large scale experiments or peer-reviewed surveys to test how well the mantra holds in practice have not been performed. >Empirical support to the validity of Linus’s law [10] was obtained by comparing popular and unpopular projects of the same organisation. Organizations like Google and Facebook are known for their quality standards. Popular projects are projects with in the top 5% number of stars (7,481 stars or more). The bug identification was measured using the corrective commit probability, ratio of commits detected to fixing bug. The analysis showed that the popular projects had more bug fixing ratio (e.g., Google’s popular projects had 27% higher bug fix rate than Google’s less popular projects). Since it is unlikely that Google lowered its quality standard in it most popular projects, this is an indication of increased bug detection efficiency in popular projects.
- kevingadd 6y agoterms like "quick sort" and "map" are actively harmful because what they mean is VERY ambiguous, and in some cases becomes wrong over time. "quick sort" is no longer the quickest sort algorithm by any standard, it happens to just be quicker than some of the algorithms that came before it. "map" tells you nothing about the properties of the data structure other than that it 'maps' keys to values, but even the nuances of that could vary (can you have duplicate keys? duplicate values? do the keys have to be non-null?) "Boolean" and "conditional" are semantically very different, the difference is significant. The "there can be more than one" is specifically why it's important to call the algorithm Dijkstra. It's possible to look it up in Google or in a textbook and immediately find the algorithm in question. Generic terms don't have that property. Calling this narcissism does everyone a significant disservice.
- mattkrause 6y ago> Calling this narcissism does everyone a significant disservice. It’s not even really narcissism. Here’s the original paper describing what is now called Dijkstra’s Algorithm: http://www-m3.ma.tum.de/foswiki/pub/MN0506/WebHome/dijkstra.pdf http://www-m3.ma.tum.de/foswiki/pub/MN0506/WebHome/dijkstra.... Note that the algorithm isn’t called that anywhere in the paper. In fact, it’s not even named. When other people want to discuss that work, they need to call it something, and some natural solutions are “an algorithm proposed by Dijkstra” and, subsequently, “Dijkstra’s Algorithm”, as you can see in this contemporary paper. https://www.ams.org/journals/qam/1970-27-04/S0033-569X-1970-0253822-7/S0033-569X-1970-0253822-7.pdf https://www.ams.org/journals/qam/1970-27-04/S0033-569X-1970-...) As that second paper shows, you can’t really call it “the Shortest Path Algorithm” because others were developing other approaches for similar problems. “Shortest Path, Assuming All Edge Weights are Non-Negative and You Can Afford to Search Blindly Without a Heuristic, Algorithm” doesn’t really roll off the tongue either.
- rrobukef 6y agoIt is also introduced as Dijkstra's shortest path algorithm if the text is expected to be read outside the domain such as in textbooks.
- mattkrause 6y agoI’m not sure there’s a huge difference between fields: CS also has AVL trees and the RSA algorithm (both named after inventors), red-black trees (mnemonic, maybe, but not descriptive), and B-Trees (Boeing? Balance, Bayer? No one knows, not even the creators —- see 16:10 here https://vimeo.com/73481096 https://vimeo.com/73481096)
- 8note 6y agoYou could also generalize the person name "algorithm" with "method for solving things" and it would be more readable.
- hcs 6y agoNot sure if this is what you meant, but this reminded me that "algorithm" is ultimately named after a mathematician https://en.wikipedia.org/wiki/Muhammad_ibn_Musa_al-Khwarizmi https://en.wikipedia.org/wiki/Muhammad_ibn_Musa_al-Khwarizmi
- amw-zero 6y agoCS needs to move much farther toward math and not away from it. Naming things well is always a worthy goal, but just like DDD tells us, it’s a fool’s errand in a global namespace. The distinction between certain concepts are so subtle that it’s arrogant to think that just choosing a better word is all it takes to make the distinction more clear. Unfortunately, we rely on idioms and made-up terms for lots of complicated concepts, but I don’t believe that narcissism is to blame. I believe the magnitude of the number of concepts we need to know about overall is gargantuan, so much so that words would get overloaded if we tried to describe everything accurately. Which would be more confusing than it is now. Also, you’re assuming a minimum context of knowledge when you say something like “Shortest Path” is a better name for Djikstra’s algorithm. What if you don’t know what a graph is, or know what a graph is but don’t know what a path is? How is Shortest Path any less opaque? There’s no lowest common denominator of knowledge, so having agreed upon terms in a given domain is the only way to remain precise.
- OJFord 6y ago[c]onditional and Boolean both have meanings, and they are not the same.
- bjd2385 6y agoUgh I feel both sides.
- ENGNR 6y agoI still sometimes forget that currying is named after a person, thinking there’s some analogy to composing arguments as if they’re ingredients
- eximius 6y agoThe OPs point did point out that accessibility becomes less important in advanced topics. The things you've mentioned are largely elementary computer science concepts so they're both more amenable to descriptive naming and more important to have that. Consider coming up with a descriptive name for LLL basis reduction (where LLL is the initials of the 3 authors) or some other advanced algorithm. Someone more educated in CS might be able to give better examples.
- SubiculumCode 6y agoI can't think of a concise phrase that would capture a precise mathematical construct, while differentiating it from related constructs.
- Delk 6y agoVery few concepts or techniques, whether in mathematics, CS or elsewhere, are named after people by themselves. It's rather that others start calling the concepts by the person's name when discussing the concept or algorithm, after it has been introduced by that person in an article or elsewhere. It would be good not to accuse others of narcissism when there's actually no narcissism involved. Edit: omitted part that wasn't constructive
- fsckboy 6y ago> Even the name "Boolean", could be changed to "Conditional" ah, my pet peeve. When I invent my language, a "bool" is going to be a set, closed under the operations "union" and "intersection". if you want conditionals, you can use zero and nonzero, the way things were always intended.