When is something language agnostic? Why is it called that way?
Language agnostic refers to aspects of programming that are independent of any specific programming language. At least, that's how I've heard it used for the last thirty years.
The word "agnostic" is derived from the ancient Greek for "don't know". So something which is "language agnostic" doesn't need to know about computer languages; it means the same thing as language independent. Things that would be language agnostic include algorithms, or Agile, or a runtime library with bindings to many languages.
Some Mac OS X features are not language agnostic, because they're really designed to be used from Objective C, can only be used with difficulty from C or C++, and don't even have bindings for many languages.
There can also be a subtext to using "language agnostic" rather than other terms.
In colloquial English, someone who says they're "agnostic" means they are neither religious nor an atheist: they "don't know" about God. This is usually verbal code for "I don't like to talk about religion, so don't try to convert me."
So sometimes when people talk about being "language agnostic", they're trying to stay out of arguments about what computer language is better.
Paradigms or features that aren't applied to only one language.
When a solution is called "language-agnostic" you are literally saying that your solution "doesn't know about" languages, meaning its universal or independent from language specifics (paradigms, language idioms, etc).
For example, design patterns are language-agnostic, because the way they are described the specific implementation doesn't matter as long it sticks to the whole or a subset of the pattern (v.gr. some design patterns can be implemented without OOP).
UML is language-agnostic, BPMN is language-agnostic, ERM is language-agnostic. An algorithm in pseudo-code is language agnostic...
Anything that is meant to be programmed but not described in a specific language can be called language-agnostic.
I haven't heard the term before, however, I would assume it means learning aspects of programming that are independent of any specific programming language.
protected by gnat Sep 22 '16 at 5:53
Thank you for your interest in this question.
Because it has attracted low-quality or spam answers that had to be removed, posting an answer now requires 10 reputation on this site (the association bonus does not count).
Would you like to answer one of these unanswered questions instead?