Perché le nuove versioni di Windows non sono retrocompatibili con il software fatto per le vecchie versioni di Windows?

Per la maggior parte, lo sono

Le versioni moderne di Windows, a partire da XP, hanno il supporto per il software legacy, permettendoti di eseguire il software in una "modalità di compatibilità"

Per esempio, diciamo che hai un software progettato per funzionare su Windows 98, hai deciso di installare il software su un computer con, diciamo, Windows 7, lo installi e noti che non funziona bene, puoi andare nelle proprietà di quel programma (cliccando con il tasto destro sull'eseguibile del programma) e selezionare la modalità di compatibilità e scegliere Windows 98

Questo è un colpo o un fallimento però, non tutti i software funzionano in quella modalità, e ci possono essere limitazioni hardware, se un software richiede, per esempio, una porta parallela e il computer non ne ha una, il software non funzionerà

Per alcuni software legacy (come alcuni programmi DOS), potrebbero non funzionare affatto su un sistema moderno, i sistemi moderni con una CPU a 64 bit, con un sistema operativo a 64 bit supportano solo software a 32 e 64 bit e non supportano software legacy a 16 bit

È ancora possibile eseguire software a 16 bit su una CPU a 64 bit, ma deve essere fatto usando un sistema operativo a 32 bit, ci sono due modi per farlo

Dual Booting-Partiziona il tuo HDD/SSD a metà e installa un sistema operativo a 64 bit su una partizione e un sistema operativo a 32 bit sull'altra, quando avvii, apparirà una lista dove potrai scegliere se eseguire il sistema operativo a 32 bit o quello a 64 bit, il sistema operativo a 32 bit supporterà software a 16 e 32 bit, il sistema operativo a 64 bit supporterà software a 32 e 64 bit

Ipervisore-Un ipervisore è una macchina virtuale, come VMWare o VirtualBox, è possibile installare un sistema operativo a 32 bit in un programma ipervisore che è in esecuzione sul sistema operativo a 64 bit, quindi eseguire il software a 16 bit all'interno di questo, o si può anche installare un sistema operativo a 16 bit direttamente nell'ipervisore

Questo non ha nulla a che fare con il fatto che Microsoft non supporta la retrocompatibilità a 16 bit, infatti, questa è una limitazione anche con *nix e macOS, una CPU a 64 bit semplicemente non può eseguire software a 16 bit in modalità a 64 bit (senza essere emulata in qualche modo)

I sistemi operativi più recenti di Microsoft (incluso Windows 10) includono una versione a 32 bit (sì, c'è un Windows 10 a 32 bit, in realtà è abbastanza comune vedere Windows 10 a 32 bit sui tablet Windows basati su Intel Atom nonostante Intel Atom sia una CPU a 64 bit), e Windows 10 a 32 bit supporta software a 16 bit