Reputation: 131
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".
Upvotes: 12
Views: 9091
Reputation: 26997
The opposite of "implementation-agnostic" is "implementation-specific". Some examples should make the difference clear:
Synonym: Implementation-independent
Examples:
The examples above can be implemented with every programming language
(Assembler, BASIC, C#, C++, Java, JavaScript, ...)
Synonym: Implementation-dependent
Examples:
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).
Upvotes: 10
Reputation: 66
To say that a solution is implementation-agnostic is to say that it's not reliant on specific technologies, programming languages etc. Pseudocode would be a good example of an implementation-agnostic tool, as would UML for modelling.
Upvotes: 2
Reputation: 173602
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.
Upvotes: 3
Reputation: 1646
Agnostic, in this context, means "doesn't care about". So implementation agnostic is something that does not care about the implementation.
Upvotes: 2