Hacker News new | ask | show | jobs
by jonpaine 3781 days ago
It's not that specific. It's everywhere. I see it all the time in programming terminology.

There are technical terms that annoy me when I first hear them. It appears people are trying to inflate their worth by using unnecessarily specific or complicated terms. Then on some random night when I'm bored I'll familiarize myself with the term and all its' nuances and from that point forward it's more efficient to use the formerly-annoying-and-seemingly-high-and-mighty term to communicate exactly what I mean in a single word or phrase.

That's just how language works. But like anything, some folks will latch onto anything to inflate what they bring to the table by over-complicating things.

Thankfully the divining rod for weeding these people out is often as simple as asking them two to three questions on the topic to discern if they're leveraging their vocabulary or hiding behind it.

1 comments

I've had the same experience. I'd add that after you learn and internalize the slang, you can usually see it falling into one of three broad categories:

1. It's a genuinely useful term, descriptively named, for which no good succinct alternative exists: eg, "outrage porn."

2. A genuinely useful term, poorly named, but excusable because it already has an entrenched history and community using it: eg, "monad" in functional programming.

3. A confusing term, poorly named, for which many good alternatives exist, but which continues to thrive on meme status, or for political reasons, within a particular community. A lot of marketing and business slang, and PC terminology, falls into this category.

So I think it's valid to criticize slang in category 3. That is, not all slang is created equal, or for equal reasons.

> monad ... poorly named.

Depends on your study of history. (https://en.wikipedia.org/wiki/Monadology#The_metaphysics_of_...).

... on second thought, I guess that's exactly what you were saying.

Do you have a suggestion for a replacement for "monad"? It's always been such an opaque term to me, even as I began to get a grasp of it.
This post (http://stackoverflow.com/a/194207/438615) makes a good case for "computation builder." Also, as there are abstract data types (stack, queue, etc), monads are abstract control flow types. Another answer there suggests "control type". Something even better is probably possible, but I like both of those better than "monad".
FlatMappable :-)
Very well put!