[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Jargon [<- Re: On the "Darwinian Theory of Legal Obfuscation"]




>    That said, I would argue that the programming community needs to reconsider its own excessive reliance on jargon. Lambda's, Closures, and Continuations aren't much more accessible to End Users than Torts, Best Evidence, and The Rule Against Perpetuities.

	Just about every technical field gets accused at some point of using too much jargon, but that jargon usually evolved for a reason.  I would take issue with these particular examples because lambdas, closures and continuations are real concepts in computer science, and real entities in real programming languages.  We *need* words to describe these concepts; if not these words, than which ones?  It also obviously wouldn't be efficient to do a string-replace in every conversation of the words with sentences or paragraphs that explain them to the uninitiated.  I agree they seem obscure terms, but that is because they are obscure concepts outside of a small circle of computer scientists.  That they are still obscure after all this time is a symptom of the state of the art of languages in use in the "real world" versus the more advanced state of the art of languages in use in research, not something inherent in the jargon itself.

	This also brings up the issue of just who are these End Users that would benefit from simplifying these terms?  You can go an awfully long time in the IT business and not come across the term "continuation" even once.  The primary benefit I'd expect would be to professional programmers attempting to learn from reading research papers.  This is important but not on the same scale as the exposure business people have to legalese.

	On the other hand I do dislike arbitrary names in any field, especially the practice of naming an abstract concept after its discoverer (currying) or even after the Greek symbol used in the initial paper (beta reduction, lamda calculus...).  Closures and continuations are thankfully named in a way that actually describes something about the concept.

	However on the third hand one could take the point of view that when a new term needs to be defined what is needed first and foremost is an arbitrary but relatively unique string of syllables that can be used as a practical label for the new concept; after all, after using any term for a length of time it becomes just another word, regardless of its origin, in which case arbitrary names are just fine.  Thus I might title this digression "How I Learned to Stop Worrying and Love the Jargon." :-)