In questi giorni Linus Torvalds, partecipando ad una discussione in merito a dei nuovi datacenter basati sull'architettura ARM Neoverse N1 e E1, ha affermato che le CPU ARM non riusciranno mai ad imporsi nel mercato server.
"Molte gente credere che "cloud" significhi che il set di istruzioni non importi. Sviluppa a casa ed esegui il deploy sul cloud. Questa è una bugia, se sviluppi su architettura x86 allora dovrai fare il deploy su piattaforme x86. Questo perché potrai eseguire solo il codice che hai testato e sviluppato nel tuo ambiente di sviluppo."
Diversi anni fa anche Steve Jobs si disse contrario a queste corsa non necessaria al codice cross-platform, per il fondatore di Apple infatti, questo fattore poteva rappresentare uno svantaggio competitivo.
A parere di Torvalds, dover supportare anche il codice per ARM determina ulteriori complicazioni durante il processo di sviluppo del kernel Linux. Infatti il supporto a tale architettura richiede più lavoro e più sorgente che, potenzialmente, può anche ospitare nuove vulnerabilità e nuovi bug.
È di certo possibile ricompilare software per diverse architetture, tuttavia può capitare che qualcosa non vada per il verso giusto o che magari manchi quale dipendenza. Senza contare che dopo la ricompilazione possono verificarsi problematiche di performance inaspettate.
Gran parte dei SoC ARM vengono implementati sui device mobile e sui dispositivi IoT. Non c'è invece una grande richiesta di tali CPU per i PC di fascia alta e questo, almeno secondo Torvalds, è segno dello scarso interesse degli sviluppatori per la creazione di applicazioni ad altre prestazioni su SoC ARM.
"Il Cross-development viene spesso eseguito per le piattaforme che hanno scarse risorse hardware, ovvero quando risulta inutile sviluppare direttamente su di esse. Nessuno infatti sviluppa applicazioni per sistemi embedded o per device IoT direttamente su di essi, ma parte sempre da un sistema x86.
Tuttavia non appena tali piattaforme diventano abbastanza potenti da permettere lo sviluppo nativo tutti passano a tale soluzione. Questo perché il cross-development model è relativamente fastidioso"
Via Linus Torvalds