nichtportable
Nichtportable bezeichnet in der Softwareentwicklung Software, Code oder Systeme, die sich nur schwer von einer Umgebung in eine andere übertragen lassen. Ursachen sind plattformabhängige APIs, Hardwareabhängigkeiten, der Einsatz proprietärer Laufzeitumgebungen, Architektur- oder Compiler-spezifische Merkmale sowie spezielle Datenformate oder Endianness. Solche Systeme arbeiten in der vorgesehenen Umgebung oft zuverlässig, lassen sich aber in anderen Umgebungen kaum oder nur mit großem Aufwand migrieren.
Auswirkungen sind erhöhte Wartungskosten, eingeschränkte Verfügbarkeit und Vendor-Lock-in sowie Schwierigkeiten bei Verteilung und Support. In sicherheitskritischen
Beispiele umfassen Windows-spezifische Desktop-Anwendungen, Software, die direkt Windows-APIs nutzt; Embedded-Software für konkrete Mikrocontroller oder System-on-Chips; Programme,
Vermeidung oder Reduktion von Nicht-Portabilität erfolgt durch Abstraktionsschichten, plattformunabhängige Programmiersprachen, standardisierte Schnittstellen, Containerisierung oder Virtualisierung; regelmäßiges