3 ms·
"Binary compatibility" is routinely applied to libraries as well. The point of contention is not the meaning of "binary compatibility", but that of "iPhone OS 5
by Camillo 14y ago
"Binary compatibility" is routinely applied to libraries as well. The point of contention is not the meaning of "binary compatibility", but that of "iPhone OS 5.0".
SomeCallMeTim's assumption that this would include the upper layers of the system is reasonable, especially given that the lower layer has its own name (Darwin) and it was not used. OTOH, given that there's no such thing as "iPhone OS 5" (it's been called iOS since version 4), I'd chalk it up to confusion rather than deception.
- SimHacker 14y agoThe fact that there aren't very many widely available useful programs other than iPhone apps that run on the iPhone goes a long way to implying that it runs iPhone apps. It's not like you can download grep from the app store.
- batista 14y ago>"Binary compatibility" is routinely applied to libraries as well Wrongly. Only the lower lever is or is not "binary compatible", basically only how the code is loaded and how functions are called. All the other stuff (libraries, apps) just take advantage of that, and whether higher level libraries exist or not has no bearing on whether a system is binary compatible with another. Not only that, but a system can have all the libraries that another has, but still NOT be binary compatible with it. For example, a simple OS X QT app can be ported to Windows with just a recompile, but the two environments are not binary compatible. Availability of the same APIs and binary compatibillity are two things are what hackers (as in "Hacker News") call "orthogonal".
- Camillo 14y agoWhat you're trying to describe in the first paragraph is "having the same ABI". But that's not the only context where "binary compatibility" is used. In fact, in the fourth paragraph you are referencing the difference between source compatibility and binary compatibility: but in this case, binary compatibility requires not only a compatible ABI, but also the right set of system calls, libraries and assorted machinery that allows the compiled program to run.