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.
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
Java is one of the Greater Sunda Islands in Indonesia. It is bordered by the Indian Ocean to the south and the Java Sea (a part of Pacific Ocean) to the north. With a population of 156.9 million people (including Madura) in mid 2024, proje ...
development team might choose to use
Ruby
Ruby is a pinkish-red-to-blood-red-colored gemstone, a variety of the mineral corundum ( aluminium oxide). Ruby is one of the most popular traditional jewelry gems and is very durable. Other varieties of gem-quality corundum are called sapph ...
or
Perl
Perl is a high-level, general-purpose, interpreted, dynamic programming language. Though Perl is not officially an acronym, there are various backronyms in use, including "Practical Extraction and Reporting Language".
Perl was developed ...
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.
Related terms
*
Language-independent specification
A language-independent specification (LIS) is a programming language specification providing a common interface usable for defining semantics applicable toward arbitrary language bindings.
LIS's are language-agnostic; they mitigate the risk t ...
*
Cross-language information retrieval, refers to natural languages, not programming languages
*
Language independent datatypes
See also
*
Bilingual (disambiguation)
*
Language-independent (disambiguation)
*
Glue language
In computing, a script is a relatively short and simple set of instructions that typically automate an otherwise manual process. The act of writing a script is called scripting. A scripting language or script language is a programming language t ...
*
Language binding
In programming and software design, a binding is an application programming interface (API) that provides glue code specifically made to allow a programming language to use a foreign library or operating system service (one that is not native to ...
*
Middleware
Middleware is a type of computer software program that provides services to software applications beyond those available from the operating system. It can be described as "software glue".
Middleware makes it easier for software developers to imple ...
*
Polyglot (computing)
References
{{Reflist
Software development
Programming paradigms