Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I think this is awesome? I'm not entirely sure though.


Write once, compile and run anywhere. Go is gaining traction. IBM doesn't want to lose a sale to an organization that has adopted Go.


IBM wants to be able to run Docker on zLinux. No Go, no Docker.


lol, last time I talked to IBM Linux was Linux was Linux.

Shouldn't Go stuff simply run on their LinuxVMs on Z?


Processor architecture is not processor architecture is not processor architecture. The Go compiler produces native binaries.


>Processor architecture is not processor architecture is not processor architecture.

Interestingly, I've come across multiple computer people who didn't know this basic fact. Hardware engineers, sysadmins and devs who were surprised when I said a binary/EXE for one processor architecture (and hence, machine instruction set) cannot run on another architecture (except for special cases that may exist nowadays, like maybe Apple related to PowerPC vs Intel CPUs?) But even then it is probably due to special extra steps being taken.

Edited to add hardware engineer category.


Apple used to support a "universal binary" format[1] to run a "single" binary on both PPC and Intel processors (as well as 32 bit vs 64 bit). This meant that both the PPC and Intel code was inside the same file, but a specific section of the file was executed based on what architecture the computer was using.

Of course, modern Macs are 64 bit Intel only, so this isn't really necessary anymore unless a developer needs to support older platforms.

[1] https://en.wikipedia.org/wiki/Universal_binary


Rosetta was cooler. I have an old Mac Pro running some process that was never upgraded.

https://en.m.wikipedia.org/wiki/Rosetta_(software)


Cool, that universal binary concept is what I vaguely remembered and meant, thanks. Will check that link.


They were always talking about their "bare metal" visualization, I thought they could virtualize CPUs too.


You can run virtual machines in z/VM, but you can also partition the machine at the firmware level. (Partitions are called "Logical Partitions" or LPARs.) Maybe that was what they meant by "bare metal virtualization".


Virtualization and emulation are not the same thing. You can have one without the other.

(Traditionally, virtualization precluded emulation: The hypervisor simply multiplexed hardware, and the guests got what looked like raw access to the real hardware, with no way of "seeing" the hypervisor at all. Very secure, very simple, and you could run a hypervisor as a guest with guests under it, recursively.)


Emulation is never going to be fast.


Sure it is. The s390x instruction set is microcode emulation on top of a POWER-derived microarchitecture, just as modern x86 chips are microcode on an underlying microarch.


Completely wrong. s390x runs on its own dedicated hardware, it is not emulated on POWER. POWER and s390x are completely separate.

source: worked at IBM on their compilers team.


Different processor architecture?


zSeries machines are awesome. Costly, but awesome nevertheless.




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

Search: