Language-agnostic
{{Short description|Software paradigm independent of language}}
{{For|the language independent approach to translation|Interlingual machine translation}}
Language-agnostic programming or scripting (also called language-neutral, language-independent, or cross-language) is a software paradigm in which no particular language is promoted.
In introductory instruction, the term refers to teaching principles rather than language features.
{{cite web |url=https://github.com/EbookFoundation/free-programming-books/blob/main/books/free-programming-books-subjects.md#programming|title=Free Programming Books By Subject / Programming |last= |first= |date= |website= |publisher=EbookFoundation|access-date= |quote=}}
For example, a textbook such as Structure and Interpretation of Computer Programs is really a language-agnostic book about programming, and is not about programming in Scheme, per se.
As a development methodology, the concept suggests that a particular language should be chosen because of its appropriateness for a particular task (taking into consideration all factors, including ecosystem, developer skill-sets, performance, etc.), and not purely because of the skill-set available within a development team.
For example, a language agnostic Java development team might choose to use Ruby or Perl for some development work, where Ruby or Perl would be more appropriate than Java.
"Cross-Language" in programming and scripting describes a program in which two or more languages are used to good effect within a program's code, with each contributing its distinctive benefits.{{cite web|url=http://queue.acm.org/detail.cfm?id=2543971|title=The Challenge of Cross-language Interoperability - ACM Queue|website=queue.acm.org}}
Related terms
- Language-independent specification
- Cross-language information retrieval, refers to natural languages, not programming languages
- Language independent datatypes