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.
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.
I've lamented this for a long time, but on the other side, I doubt if mathematicians would ever get sufficient recognition if their names weren't immortalized thus, since they can't get patents on their works. They totally deserve recognition. Would you even remember Leonard Euler if his work was named factually? Most of us I guess have no idea who came up with sin/cos/exp/log etc. I'm glad for the names of these functions, but lament the loss of knowledge about the one (or many) who discovered them.
Longer names are a candidate .. along the lines of "Einstein's theory of general relativity". "Euler's relative prime counting function" .. but they too will likely, depending on familiarity, collapse over time.
edit: If I want to talk about distance in a curved space, we already have a well named "Geodesic distance".
That depends on your native language, though. For Non-English speakers sounds no different than 'Shell sort'.
I don't think it really "proves the point", though, except for the point that sometimes names are confusing. So maybe it would be nicer if someone had happened to consider whether a specific naming might be confusing, but that's not the same as "names that aren't directly descriptive are automatically bad".
[1]: https://en.wikipedia.org/wiki/Filter_(signal_processing)
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.
rank (adj):
1. (of vegetation) growing too thickly and coarsely.
2. having a foul or offensive smell. very unpleasant.
3. (especially of something bad or deficient) complete
and utter (used for emphasis).Yes, I included that one as a joke. "git" is a British slang term. Linus once quipped that he names all his projects after himself.
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.
Citation needed, especially for Facebook. The parts I saw are full of vile hacks, committed by an endless stream of new clueless devs --- young developers are of course better by the dictum of Mark Zuckerberg. I'm curious how his code looks or if he ever wrote anything substantial.
Common enough (though there's a diversity of pronunciation and spelling of the name), though for any practical purpose probably "edit distance" works better. (And Hamming distance would probably be better called XOR distance or something.)
Funny coincidence, there was a comment on HN the other day when someone called Euclidean distance "bird distance", and everyone agreed it was a great coinage. I think "Manhattan distance" is similarly evocative, and no less precise than any alternative.
Gaussian noise.
The list in physics could go on for quite a long time. Terms like "gaussian noise" are used as short versions to describe something that would need an entire paragraph if described in a verbose way, as if the reader did not understand the fundamentals of the concept.
At least Gaussian noise is easily googled.
Often the closest thing we do to the whole 'Thurston maps are Thurston-equivalent to polynomials, unless they have Thurston obstructions' thing is that we qualify our statements about programming entities by the programming language or platform to which the statement applies. So you might reasonably have a statement like 'A JSON value consists of an array of JSON values, a map of string keys to JSON values, or a primitive value', which sounds just as self-referential as the Thurston example, but because it's called a JSON value, not a Crockford value, it sounds less conceited.
But back in 1909, it was also the name of the guy who signed the patent. Whose company name was his surname.
I meant it followed the branding pattern, so it happened the brand was derived from the name.
> ... Thus, I thought dynamic programming was a good name. It was something not even a Congressman could object to. So I used it as an umbrella for my activities.
http://www.eng.tau.ac.il/~ami/cd/or50/1526-5463-2002-50-01-0...
Just because it's a common practice does not mean it's good.
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.
There isn't a lot of theory-building in algorithms, compared to the more traditional fields of maths, but the combinatorics are formidable.
I agree on your first point though, I think the concepts named after people are usually so abstract that the hard part is to really understand the concepts, not to remember the name.
I wonder what Alan Turing would say about this.
On more serious note... Most people confuse software engineering with computer science.
Computer science is a branch of mathematics, software engineering might not be.
Oh and by the way, there's a bunch of mathematics and logic (again, a branch or mathematics) into language recognition and compilers...
Edit: think that many prominent computer scientists were/are mathematicians: think of Donald Knuth or Claude Shannon, for example. They laid the ground for other stuff to happen.
He grew up in a world where he could only beg an hour a week of compute time off the Americans so his community put a remarkably high emphasis on software quality and clear semantics.
And that’s really what advanced mathematics is all about: clearly communicating otherwise intractably complex ideas by letting the symbols do the work.
I agree, and I think you nailed the point perfectly.
The point that the article misses completely.
Thank you.
I rather enjoyed that!
I think there's truth to it though, even at as high a level of situations where you have logic that leaves you thinking 'ok, this works... but it doesn't actually make sense' where something's hard to understand or debug because it's got tangled up into a functional but illegible mess.
Programming is math. I’m not sure why this bothers people so much. When you cross a bridge and it’s able to keep standing, you don’t feel gratitude to math? When you write any program, you should feel the same gratitude.
Engineering is not a subfield of math either, it merely uses math as a tool. As a field, engineering evolved in parallel with math, only borrowing mathematical methods when their suitable applications were discovered.
Computer Science is a subfield of math because it was developed by mathematicians as a direct descendent of algebra and the study of algorithms, which date back to the ancient Babylonian and Greek methods for division, computing the GCD of two numbers, finding square roots, etc.
Your classification seems as reasonable as any, but the lines seem fairly arbitrary to me.
Those topics might seem to have nothing to do with math but all of their components have mathematical underpinnings. Algorithms, data structures, complexity theory, and even the physics of end-to-end latency, colour perception, etc.
There probably are some people out there, working in these fields with only a high school math background, but I'd imagine they're exceedingly rare. Anyone who's completed a CS degree has done their fair share of math.
(I think there is a discussion to be had about making the distinction "CS" vs "theoretical CS" as the GP comment does, or if it should be "CS" vs some other term ("computing"? feels a bit general))
Computer science was developed by mathematicians as a study of algorithms, procedures for computing, and methods of abstraction. In the words of Hal Abelson, computer science is not a science and it's not really about computers in the same sense that geometry is not about surveying instruments [2].
Numerical methods and algorithms are fields of math as old as geometry, especially if we focus on the Babylonian or Chinese styles.
Hermann Grassmann sought to formalize arithmetic, not wishing to assume them as granted. In doing this, he also connects recursion, induction and the natural numbers (he would have known of recursion from its early application in the theory of combinatorics). Peano, Dedekind, Frege, Zermelo and many others would also work on the foundations and axiomatization of mathematics and deduction. Computing began as a side-effect of attempts to formalize just how far such an approach could be taken. The Turing Machine arose to tackle Hilbert's Entscheidungsproblem. The lambda calculus as an approach to the foundation of mathematics. Functional programming languages were originally part of tools meant to study formal mathematical objects while Logic programming sought to apply ideas from formal logic and the axiomatization of mathematics to automatically search for programs.
Dedekind said: "In speaking of arithmetic (algebra, analysis) as a part of logic I mean to imply that I consider the number-concept entirely independent of notions or intuitions of space and time, that I consider it an immediate result from the laws of thought."
What we find is computing reaches right to the foundations of mathematics. Whenever we try to systemize thought, we end up with ideas which seeming inevitably also lead to the foundation of computation.
(Mostly joking. Mostly!)
It is not. Applied Computer Science has as much common with math as Chemistry does with math.
I view theoretical computer science as mostly self-masturbatory, to the point that is very very divorced from real life applications and is benefiting very little to us.
Also the market has spoken as well. Someone with CS degree, and 5 years of experience can command a higher salary than someone that took 5 years to get his/her phd in CS. A phd degree is not seen as valuable, mostly because it is not seen as beneficial and it is very divorced to reality of applied computer engineering.
The computer science that helps big companies get more control is the most useful by this metric. Oh look big data and AI are popular. Programming language theory to help create less buggy programs is less so.
You wouldn't have complexity analysis of algorithms, with which most of us don't need to directly involve ourselves, but you do apply its results when choosing an algorithm based on the knowledge that was originally obtained through that analysis. Or if you're not choosing your algorithms, at the very least someone who chose them for your platform did.
You probably wouldn't have lossless data compression (and an understanding of it) at its present level without someone having done mathematically-based work on things like arithmetic coding [1] and range encoding [2]. Again, you probably don't write that code yourself (I haven't), but it's there.
The list goes on.
A PhD degree isn't really a good investment in terms of just salary in almost any field that I can think of. That just means work that's closer to (and directly applicable for) direct revenue streams tends to pay better than work that's further away from them. That doesn't directly mean work that's further away from revenue streams is less valuable down the road; it just means there's less certainty about its ability to help generate revenue, and that there are more steps, more interim work and a greater financial risk involved. While most businesses don't, and shouldn't, bother, that doesn't mean they might not benefit at some point if someone else does it. "The market has spoken" is a shortsighted way of looking at these kinds of things.
Sure, there are areas of theoretical computer science that are more similar to pure maths in terms of abstraction and applicability, and which are pretty much a pure intellectual pursuit. They are very far from engineering or applications. But theoretical work in CS is broader than that, and some of it underlies much of what we have in the practical world.
It's also true that most of software development and engineering work don't really require involvement with much of the theory, partially because someone else is already doing that work within the platform, and partially because most business software is actually theoretically more or less trivial.
Still doesn't mean the theoretical side is useless, because not all software is trivial.
Unnecessary gatekeeping. There’s a lot of engineering-oriented research that has nothing to do with math.
"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."
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.
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.)
And Shellsort!
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.
"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.
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.... 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-...)
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.
a) It'd need to be called that by Dijkstra himself to be even arguably narcissistic and
b) The qualifier "Dijsktra's" is important because there are other algorithms for finding a shortest path (Bellman-Ford, Floyd-Warshall, A*), with different trade-offs (Bellman-Ford is slower, but can handle negative weights; Floyd-Warshall gets you all pairs and may be better when the graph is dense). Accordingly, I think the grandparent's suggestion of purely descriptive names isn't feasible.
Definitely not. The term conditional is used for statements of the form “if X then Y”, in computer science as well as logic/philosophy.
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.
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.
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
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.
1. The Romans spoke Latin 2. Catholic church based in Rome, did everything in Latin 3. Between tithes and indulgences, church got rich and powerful 4. The rich and powerful keep learning Latin to keep up to date with news from the other rich and powerful
Rather, what really happens is that mathematicians are a community, and they refer to things in whatever way is convenient. Davis's colleague refers to such-and-such theorem as "Davis's Theorem" not because of some committee on naming, but rather because they were there at the conference where Davis announced the theorem, and everyone at said conference excitedly talked about "Davis's Theorem" for the whole rest of the conference because it was so exciting.
https://www.tek.com/blog/window-functions-spectrum-analyzers
>Hamming and Hanning
>These two similarly-named Hamming and Hanning (more properly referred to as Hann) window functions both have a sinusoidal shape. The difference between them is that the Hanning window touches zero at both ends, removing any discontinuity. The Hamming window stops just shy of zero, meaning that the signal will still have a slight discontinuity.
The Hamming Window is named after Richard Hamming.
https://en.wikipedia.org/wiki/Richard_Hamming
But the Hanning Window is named after Julius von Hann, and lots of people just throw in an extra "ing" to make them sound alike, but its excruciatingly correct name is Hann Window.
But it seems fitting that they're almost but not quite alike, and so is their spelling. Maybe for symmetry there should be a Halling Window that stops just below zero.
https://en.wikipedia.org/wiki/Julius_von_Hann
https://en.wikipedia.org/wiki/Window_function#Hamming_window
https://en.wikipedia.org/wiki/Hann_function
https://numpy.org/doc/stable/reference/generated/numpy.hanni...
https://numpy.org/doc/stable/reference/generated/numpy.hammi...
https://en.wikipedia.org/wiki/Cepstrum
>References to the Bogert paper, in a bibliography, are often edited incorrectly. The terms "quefrency", "alanysis", "cepstrum" and "saphe" were invented by the authors by rearranging some letters in frequency, analysis, spectrum and phase. The new invented terms are defined by analogies to the older terms.
>Thus: The name cepstrum was derived by reversing the first four letters of "spectrum". Operations on cepstra are labelled quefrency analysis (aka quefrency alanysis[1]), liftering, or cepstral analysis. It may be pronounced in the two ways given, the second having the advantage of avoiding confusion with "kepstrum", which also exists (see below). [...]
>The kepstrum, which stands for "Kolmogorov-equation power-series time response", is similar to the cepstrum and has the same relation to it as expected value has to statistical average, i.e. cepstrum is the empirically measured quantity, while kepstrum is the theoretical quantity. It was in use before the cepstrum.[12][13]
For the most part I agree with you, however there are some notable edge cases where someone's name can be heavily overloaded (e.g. https://en.m.wikipedia.org/wiki/List_of_things_named_after_L...)
One side feels the intended audience is of the same field and sufficiently sophisticated enough to understand the somewhat obscure naming. Others don’t understand it because it simply isn’t for them.
The other side may come from other tangential domains with their own unique language. They don’t understand why those specialists use such obscure language meanwhile they do the same in their own field.
You see the same in any large organization. Seemingly random acronyms get created as lazy shorthand that conflict with other orgs understanding. It’s of course no consequence to those in the “in crowd” but it hampers communication between groups. Considering communication is one of the ever present hurdles between groups it seems reasonable to me to optimize communication between groups rather than within groups.
It's more that people take material from our fields and misuse them in casual contexts.
>If "contractualism" were just known as "Scanlon's theory" it would be a lot easier.)
It would also be wrong as it isn't his theory, he's just a philosopher with a recent in-vogue formulation of it. The source of the theory in modern western philosophy is Rousseau. There's no issue with discussing "Scanlon's theories"; but that term refers to his theories, not contractualism at large.
Social contract theory is known as contractarianism. [1] (And the source was first Plato, but is best known through Hobbes. Rousseau was then the next best-known iteration after Hobbes.)
But "contractualism" is generally used to refer to T.M. Scanlon's theory specifically. [2]
This is my point. They're too easy to mix up. ;)
The preambles of the articles that you're citing do not agree with your position, neither does a number of other definitions found easily online, neither does the academic publication record (you'll easily find 500+ articles on Contractualism penned before Scanlon).
See: "There is no necessity for a contractarian about political theory to be a contractarian about moral theory, although most contemporary contractarians are both. It has been more recently recognized that there are two distinct strains of social contract thought, which now typically go by the names contractarianism and contractualism."
[...]
"Contractarianism argues that we each are motivated to accept morality “first because we are vulnerable to the depredations of others, and second because we can all benefit from cooperation with others” (Narveson 1988, 148). Contractualism, which stems from the Kantian line of social contract thought, holds that rationality requires that we respect persons, which in turn requires that moral principles be such that they can be justified to each person. Thus, individuals are not taken to be motivated by self-interest but rather by a commitment to publicly justify the standards of morality to which each will be held. Where Gauthier, Narveson, or economist James Buchanan are the paradigm Hobbesian contractarians, Rawls or Thomas Scanlon would be the paradigm Kantian contractualists. The rest of this entry will specifically pertain to the contractarian strain wherever the two diverge."
In other words, this isn't about Scanlon the person, it's about two different schools of thought regarding people and their relationship with society. To dumb them down significantly, one's about the selfish, desperate flight from the state of nature, the other is about the crafting of a persuasive encompassing rationality of co-operation.
----
Also, just as an aside, while this difference might seem like it's a small nitpick, it's actually one of the fundamental theoretical divides between continental European and American/British legal systems. So yes, there's a reason why the terms are distinct.
I think this trend needs to die, and luckily it seems to be falling out of favor.
Similar to naming companies after the founder. Tesla Motors could easily have been "Musk Motors" if it was started in the era of Ford and Lockheed.
This is definitely true. It doesn't matter as much as a technical person learning it but at a certain point it becomes absolutely impossible to communicate with regular people not steeped in the terminology about it (e.g. object, property, event, part, substance, sort, kind, type for analytic ontology).
There is also an argument that for experts names are even more accessible than the alternative - if a descriptive name is used but is wrong, then it becomes more confusing. Math already has a problem with overloading common words with special meanings.
> Many of these entities have been given simple and ambiguous names such as Euler's function, Euler's equation, and Euler's formula.
> In an effort to avoid naming everything after Euler, some discoveries and theorems are attributed to the first person to have proved them after Euler.
You are absolutely on point with the contrast to Law; I have degrees in both subjects, and this has also been my experience.
Jargon exists for a reason. The deeper the field, the better the jargon needs to be to allow proper communication. The fact that we can communicate complex mathematical ideas in language at all is a minor miracle.
Because I don't give a shit about who discovered something allegedly first. I do care about what it means/does. Maybe it's a language problem, because some languages make it more easy to add words into a new word describing that new thing.
edit: Otherwise it's just protocol overhead, line noise, gibberish to me.
If you use three words, you're in real danger of forming acronyms, but I think two words are a sweet spot.
If you really want to build knowledge barriers, then yes.
This might have been true decades ago when advanced academic concepts really might have been relevant for a small group of experts - but today, advanced math is the foundation of huge industries - and not everyone working with it can be assumed to have a formal education in the field: Often, you want to make use of an algorithm and simply need to know the concepts necessary to understand that algorithm.
Also, being precise doesn't have to mean being opaque - a name should give an uninformed reader at least enough information to roughly categorize the concept: Even "Timsort" is better than "Tim's algorithm", because this at least gives me a hint that I deal with a sorting algorithm.
I strongly disagree that accessibility doesn't really matter. It always matters. Maybe not during draft time, but in the long run. There are strong economic incentives to make things less accessible for non-experts, but in no way does that help advance the field, or force experts to reduce elements to their most basics, it is just rent seeking.
And in what multiverse is "Calabi-Yau manifold" a precise terminology? Literally all that can be gleaned from that is that it's a manifold and it's the invention of some mathematicians (or maybe one mathematician with a hyphenated surname).
> If "contractualism" were just known as "Scanlon's theory" it would be a lot easier.
My disagreement would make diamonds look soft in comparison.
"Contractualism" at least conveys it might have something to do with contracts. "Scanlon's theory" tells me absolutely nothing about what it might be. That is worse by every objective measure.
The term “polymorphism” is a good example. It isn’t named after someone, but could anyone without a background in computer science have any clue what that term actually refers to? Sure, they could examine the root words and try to figure it out, but would they be any closer to the actual meaning of the word?
I don’t think it makes sense to make field-specific jargon accessible to the masses. Instead I think it makes more sense to make it easily researchable and distinct from more commonplace words.
Because it helps me wrap my head around what it is, what it does, and why I should care about it.
And by "me", I more importantly mean a rhetorical "me", i.e. a random layperson who happens to be a politician or someone else with disproportionate power over things like scientific endeavors. More on that in a sec...
> Sure, they could examine the root words [of "polymorphism"] and try to figure it out, but would they be any closer to the actual meaning of the word?
I mean, a little bit, yes. "Poly" = "many", "morph" = "form", "ism" = some kind of state of being, and from that someone could figure out that if something exhibits "polymorphism" it means it has many forms (and this does indeed provide at least some intuitive understanding of e.g. how a function can have many different implementations under the same name, and that implementation being decided by the form of its arguments).
> I don’t think it makes sense to make field-specific jargon accessible to the masses. Instead I think it makes more sense to make it easily researchable and distinct from more commonplace words.
And this is why the masses write off science and "them nerds telling us how the world works" as useless, and in turn why our planet is dying and humanity's decline into stupidity is accelerating. It's precisely why so few people trust science: because they don't understand it, because every effort seems to have been made to make it entirely opaque to anyone without decades of academic background that the vast majority of people cannot afford (schoolwork doesn't put food on the table).
Maybe - just maybe - we could instead try to remove barriers to entry into making STEM some elitist Kool Kids Klub that deems laypeople as unworthy because they don't have the time or energy to memorize the names of a bunch of dead white men, and maybe then we can live in the world we all want: one where science and scientists are taken seriously, and where we don't wait until it's already too late before we even start thinking about addressing a self-induced extinction event.
For naming things after their inventors, you are very much losing accessibility to outsides (that includes mathematicians working outside the field). I could see the trade-off for clarity (for most people) not being big enough to off-set the loss in accessibility. The easier a field is to get into, the quicker it will grow. Moreover, it also makes the field a lot more fruitful to work in.
Long articles and opinion pieces are written by people who saw something with these words and it never occurred for them that they should check out what these words mean in the context.
Once you get to the advanced levels of any field, terminology being "accessible" doesn't really matter, but being precise does.
Areas like philosophy and law actually suffer in my opinion when they overload common words with uncommon meanings, or descend into weird disambiguations that depend on suffixes.
For example, in philosophy there's "contractarianism" and "contractualism", and trying to remember which is the general term and which refers to a specific theory drives me nuts. (If "contractualism" were just known as "Scanlon's theory" it would be a lot easier.)
Naming things after their creator is actually super-helpful because it's really easy to disambiguate, helps situate things historically, and once you're at that level there often isn't a single unique word or phrase that can easily encapsulate the idea anyways and isn't easily confused with something else.