Incompatibilité
Comme les rouages mécaniques, les logiciels et le matériel doivent se correspondre. En informatique, l’incompatibilité, une notion hélas courante, représente l’impossibilité pour un ordinateur d’utiliser des logiciels prévus pour un système autre que le sien. À noter que cette incompatibilité peut aussi toucher les données avec des formats de fichiers qui seront lisibles que par l’application d’origine qui elle-même ne peut fonctionner que sur un système donné ! Du côté de la cause, cette incompatibilité peut être logicielle et/ou matérielle notamment en cas d’architecture de microprocesseur qui utilise des jeux d’instructions différents ( CISC, RISC, notamment ). Dans les deux cas, l’utilisation d’un émulateur, à l’image de Rosetta utilisé lors des migrations d’Apple, ou encore d’une machine virtuelle contenant le système d’exploitation adéquat peut résoudre le problème, mais souvent au prix d’une baisse de performance ; pour éviter cela, une recompilation native (voire une réécriture) des logiciels est nécessaire. Ainsi, le logiciel devient multiplateforme, ce qui signifie qu’il est conçu pour fonctionner avec plusieurs environnements différents, chaque version étant compatible avec sa famille de systèmes d’exploitation et/ou d’architecture microprocesseur. Enfin, les systèmes d’exploitation, qui sont aussi des logiciels, sont eux aussi soumis à ce qui précède pour fonctionner correctement.