Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What does "implementation-agnostic" mean?

Tags:

terminology

I'm just wondering what "implementation-agnostic" means? I didn't find any explanation. I mean it in this context: "an implementation-agnostic engineering approach".

like image 976
holger359 Avatar asked Jun 10 '12 13:06

holger359


2 Answers

The opposite of "implementation-agnostic" is "implementation-specific". Some examples should make the difference clear:

Implementation-agnostic

Synonym: Implementation-independent

Examples:

  • Sorting algorithm "Quicksort"
  • Algorithms written in Pseudo-Code

The examples above can be implemented with every programming language
(Assembler, BASIC, C#, C++, Java, JavaScript, ...)


Implementation-specific

Synonym: Implementation-dependent

Examples:

  • Device drivers,
  • Machine language code for AMD (tm) or Intel (tm) Processors

The examples above run only on the hardware they are written for.

But also software that depends on or is using other software, dependency injection, interfaces, operating systems, services or frameworks is implementation-specific (for example, although .NETs intermediate language MSIL can run on different hardware or operating systems, it still depends on the .NET framework and hence is implementation-specific).

like image 183
Matt Avatar answered Oct 03 '22 01:10

Matt


This is often used to discuss a problem without committing to a particular implementation. Doing so may lead to choosing an implementation / tool that's best suited for the problem rather than having to worry about the limitations of an already chosen solution during the problem definition.

like image 38
Ja͢ck Avatar answered Oct 03 '22 00:10

Ja͢ck