Posted 05 May 2018 - 03:43 PM
Post #4: ARM is an architecture of CPU, a competitor to the x86 architecture on which intel and AMD processors are built. These differences exist at a very low level, different instruction sets (little pieces of low level binary code to do the fundamental tasks of computing which involve shifting bits of data in and out of registers and stacks)are used in each architecture. When a programmer writes code they are writing source code, they compile* this source code to make an executable. The compiler converts human readable code to instructions for the CPU, and how it does this conversion varies according to the CPU which the compiler is designed to make software for. Not only must software be compiled differently for x86 versus ARM but also it often needs any libraries or prerequisites on which it relies to be recompiled and sometimes bits of the source code might need editing in the odd case. Compiling code can become quite a tricky task if not done exactly as it was originally designed to be compiled, and when changing from an original architecture for which code was written to a new one on which you now want to run code (for example microsoft converting their operating system that they developed for x86 computers, but now want to try on ARM) it won't be possible to compile it exactly the same way.
From what I hear apple might have more chance of working on ARM than ms does, because I think that a lot of mac software is generally distributed as something a little higher level than an executable so can survive the change of CPU architecture rather better.
*for simplicity I'm only talking about compiled languages like C rather than interpreted like python. Most software is distributed as an executable of some form, that is to say as code that has already been compiled before the user downloads it. Even with open source software most users just download the executables rather than try to compile the source code themselves. Note how x86 linux executable software won't run on your raspberry pi but will on a linux laptop/desktop, but the same piece of python code can generally run on both as long as it doesn't have to call special libraries which might want to get at low level stuff.
Back on this site, for a while anyway, been so busy the last year.
My systems:2 laptops, intel i3 processors, windows 8.1 installed on the hard-drive and linux mint 17.3 MATE installed to USB