Anyone who wants to use words with the wrong intention (such as, sounding intelligent) will eventually realize they are only confusing themselves. It's having a spaghetti mind that occasionally voids itself. Pedantry aims to deconstruct spaghetti mind and carefully compose conceptual clarity.
You either drop a word like you know what it means in a sentence, or you continue to study to ensure you understand it. That's not a fight, it's something an individual must resolve within themselves.
Words change their meaning over time. Words with pretty clear and unambiguous definitions get re-purposed (often initially as a metaphor) or used in fuzzier and more ambiguous ways. This can happen as an import from one cultural context into another (where one use of that word develops entirely differently because there is no or only a small overlap between the population that originally used the word and the one that adopted it) or it can happen as a linear evolution in the same cultural context over time (see the euphemism treadmill).
Just as it is impossible to dictate one permanent definition across all cultures sharing (some variety of) the same language, it is also impossible to dictate the same across different sub-cultural jargons, even closely related ones (or even a single one, even if it involves only one person over time).
Isomorphic JS is a thing and its definition is unrelated to the definition of isomorphism in mathematics, computer science or anywhere else. And there's nothing you can do about it.
Just be happy that the term is relatively unlikely to collide with CS isomorphism because the context will generally make it clear which definition is being used. Other words weren't as lucky and lost their "original" meaning entirely.
Prescriptivism in linguistics is dead because linguists learned that it is futile and it's better to observe the actual meaning of words and how it changes than to insist that everybody is wrong about every word they use unless they follow a narrow set of rules derived from Latin (which, by virtue of being a dead language, is less likely to change a lot).
If you enjoy battling conflicting definitions, ponder the use of "transparency" in CS and politics some day.
> Just notice how function means something completely different in programming and math
Try telling Haskell that ;)
> The first thing I think when reading "isomorphic" is "same shape"
There are actual, mathematical isomorphisms extant in Computer Science with applications to programming. The Curry-Howard correspondence gives rise to logic languages (Coq, Agda, Idris), where the programs are proofs.
That's funny because Haskell has monads, which was firstly a philosophical term but has three different meanings in math and another one in music theory (which is just math too).
You can argue Haskell's monads are monads (in the category theory sense), but I'd argue in Haskell they mean "a way to express types of sequential computation" (they're one specific case of monads).
You know what these have in common? They all allude to "mono", which is an actual word in Greek. Just like iso and morph.
"Isomorphic Javascript" is a bad choice of word because coffeescript/typescript feels more "isomorphic" to Javascript than client/server js libraries.
What do you mean?
I use exactly the same shape (iso-morph) of JS business logic code in client and server and most libraries work out of the box in both environments (unless unable to, such as raw TCP/UDP connections from the browser).
And, that word they keep using to describe JavaScript, I do not think it means what they think it means.
See what I did there? Word usage changes over time. Deal with it.
Also: isomorphic meant something before the math term came to be. Isos = equal. Morph = shape. Isomorphic = same shape. It's used as a math term because it's trying to convey "same underlying shape", not the other way around.
Ranting about "isomorphic JavaScript" is like ranting about "group of people" because group means "a set of elements with a binary operation satisfying closure, associativity, identity and invertibility".
If you think that is my opinion, I think you are correct. I don't feel terribly isolated here, though. But I haven't begun to rant.
Ajax used to explicitly refer to the use of XMLHttpRequest to communicate with the web server without requiring a full page reload (incidentally, XMLHttpRequest doesn't require the use of XML). Eventually it went on to mean "interactive stuff on web pages" (probably because "Ajax libraries" like jQuery are as much about abstracting away the DOM as they are about abstracting away XHR).
HTML 5 used to refer to the HTML part of the Web Applications spec of WHAT WG. But WHAT WG dropped the version number (and the W3C has actually moved on to HTML 5.1 for the newer features) and most people say "HTML5" when they actually mean unrelated technologies like new browser APIs or "CSS3" (which isn't really a thing anymore because CSS was split into tiny modules, some of which are already at level 4 rather than 3).
The meaning of words changes. Especially when those words are used by groups outside of the (possibly much smaller) group that originally defined them. Resistance is futile. Deal with it.
Using this word as a complete sentence where it only make sense vaguely to an internet person ruins its original usage.
(It's like starting with "This." It's stupid, you sound stupid and you should stop doing it, especially when you're being pedantic about words.)
As an example, I could have left that comma out of the previous sentence. But having it there tells you how to read the sentence the way that I heard it in my head.