Hacker News new | past | comments | ask | show | jobs | submit login

People have been speculating for the past year if Apple could switch their Macs to ARM, and keep compatibility with a emulation layer like they did during the PowerPC->Intel transition. I guess Microsoft beat them to the point... Will be interesting to see how well it performs in real life.



I think Linux beat them both to the point... many years ago.


> I think Linux beat them both to the point... many years ago.

Nope. Windows NT was written to be cross-platform. It wasn't even developed on an x86 processor.

And NT development started at the end of the 1980s, before Linus even thought of writing his x86-specific operating system. (Because he only had x86.)


Windows NT ran on ARM? That is the platform being referenced. Not just cross-platform in general.


Initial development was on the Intel i860XR RISC processor, switching to the MIPS R3000 in late 1989, and then the Intel i386 in 1990. Later it ran on DEC Alpha, PowerPC, Itanium, x86-64 and ARM. (Wikipedia)

If you have developed a portable OS, it really doesn't matter whether ARM was first or last or inbetween.


No way. Linux has never had any sort of cross-architecture binary compatibility story. Certainly nothing that worked as well as Apple's Mixed Mode Manager or Rosetta.


> Linux has never had any sort of cross-architecture binary compatibility story.

You mean like qemu?

> Certainly nothing that worked as well as Apple's Mixed Mode Manager or Rosetta.

I think the parent was alluding to the fact that with GNU/Linux and/or free software in general there isn't the same kinds of requirement to get binary lumps of code running on alien architecture.


> You mean like qemu?

No.

> there isn't the same kinds of requirement to get binary lumps of code running on alien architecture.

Are you implying that this has something to do with the software being free?

In 2006, I used Time Machine to back up my G5, and then restore it onto my new Intel Core Duo (both iMacs!). The migrated apps just worked, regardless of whether they were free software or binary blobs.

This has nothing to do with software freedom. It's about having a good user experience: when your users migrate from an old machine to a new one, it just works, period.

Linux doesn't have this requirement because it prioritizes developers over end users. I'm not bashing Linux here, I use it often and appreciate it for what it is. But an honest assessment tells us it has never come close to Apple-level smoothness in architectural transitions.


You sure you don't mean like qemu - that lets you run different architecture binaries.

Perhaps I have misunderstood the use of the word 'story' in your first post.

> Are you implying that this has something to do with the software being free?

No, but I am asserting that I typically don't need to run non-native code on my computers because I can obtain or generate native code for any given architecture [1] I happen to be using.

I expect that where people are beholden to others, say if they are using non-free software, to create binaries that they can use on specific pieces of hardware, then yes in that case it will have 'something to do with software being free'.

> In 2006, I used Time Machine to back up my G5, and then restore it onto my new Intel Core Duo (both iMacs!). The migrated apps just worked, regardless of whether they were free software or binary blobs.

I'm not sure I appreciate the usefulness of this feature as much as you do -- you were obliged to run that software, in both instances, on hardware available exclusively a single vendor. In that scenario I would have expected to be able to run native code on both platforms.

[1] https://www.debian.org/ports/


Maybe he just meant that there have been arm based linux distros for quite sometime while windowsRT got canned


First off, I run Linux ARM code on x86 quite often, using qemu-system-arm and chroots.

Secondly, you only rarely need to because everything you use is in the package management system, thus compiled for the platform you are on (and against the same versions of the libs as everything else, thus only one, up to date, version of each lib and only the libs you need).

The only reason I've sometimes do qemu-system-arm and chroots is I'm a software developer often working on ARM Linux (from x86 Linux).

Third, I will also point you to: https://wiki.debian.org/Multiarch

But normally, you use a pure system. All 32bit, all 64bit or all ARM, etc etc. Closed crap can muddy your system, for instance requiring (normally old) versions of 32bit libs on a 64 bit system, but the solution to that is to not use closed crap.


Source code availability is the best cross platform compatibility story.




Registration is open for Startup School 2019. Classes start July 22nd.

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact

Search: