Apple pushes devs to deliver 64-bit support with new Snow Leopard beta

12467

Comments

  • Reply 61 of 127
    mdriftmeyermdriftmeyer Posts: 7,503member
    Quote:
    Originally Posted by shadow View Post


    In Apple developer docs you could see references to a 2-way universal binary or a 4-way universal binary. These corresponds to the number of architectures used. If the binary is described as 2-way, you would expect 32 bit Intel/PPC, but I am not sure the PPC part is a requirement.



    Tthere is a simple shell tool which reports what the binary is. I tested a small 32/64 bit intel binary and that's what it says:



    Code:


    user$ file /testbinary

    /testbinary: Mach-O universal binary with 2 architectures

    /testbinary (for architecture i386)tMach-O executable i386

    /testbinary (for architecture x86_64)tMach-O 64-bit executable x86_64







    Apparently, Apple's utility refers to the 32/64 bit intel binary as a Universal binary. I agree that this might be confusing for the end user, though, so Apple may choose to market this feature using different name, just as they did not reuse the "Fat binary" term.



    The Mach-O has two strings. They are hard coded that proclaim two distinct architectures. They aren't two distinct architectures. Intel decides what is or is not a different architecture on it's platform. This string value was added to make a distinction so people would have a transition from 32bit to 64bit down the line. This allows Apple to proclaim an change in architecture without getting into the weeds of explaining just what is x84_32 vs. x86_64.
  • Reply 62 of 127
    addaboxaddabox Posts: 12,665member
    Quote:
    Originally Posted by jazzguru View Post


    And why do we call goods transported by land a "shipment", yet goods transported by sea "cargo"?



    And why do we call the place we park a driveway and the place we drive a parkway?
  • Reply 63 of 127
    shadowshadow Posts: 373member
    Quote:
    Originally Posted by mdriftmeyer View Post


    Intel decides what is or is not a different architecture on it's platform.



    You are confused here by the ambiguous use of the term architecture. Core 2 Duo and i7, aka Nehalem, are called different architectures sometimes, but the term microarchitecture should be used here. i386 and x86_64 are different architectures because the compiler needs to generate different code for them. x86_64 can execute i386 code in a separate process because it is backwards compatible but the binary code for x86_64 and i386 is different, the size of the operands, instruction alignment etc. are different. Intel can not "decide" to call x86_64 and i386 the same architecture.
  • Reply 64 of 127
    dfilerdfiler Posts: 3,420member
    It does seem that there is a shortcoming in our lexicon for referring to these binaries.



    Depending on who you talk to "universal binary" means "runs on any mac" or "runs on PPC or intel". There's the official Apple stance and then various interpretations in actual usage. There's the literal interpretation from a layman's or developer's perspective. Then there's the people who try to reason through how the term would be most useful. Then there is the by-the-book (apple's definition) perspective as well.



    I don't claim to know what the solution is, but it is obvious that Apple will need to be pro-active to avert confusion.



    If we had a time machine, we could go back in time and not use the term "universal" in the first place. Going forward, such a term almost always necessitates the literal and official definitions being in contradiction. This same exact problem exists in more fields than just computing. Various fields have things like "universal wrenches" or "universal adapters"... that aren't universal. I think it must all be a conspiracy by the people who make bulleted lists for websites. These naming scheme flaws are a boon for the specification list on just about any website, where it is necessary to explain in detail just how "universal" "universal" is.
  • Reply 65 of 127
    jazzgurujazzguru Posts: 6,435member
    Quote:
    Originally Posted by addabox View Post


    And why do we call the place we park a driveway and the place we drive a parkway?



    If "pro" is the opposite of "con", is Progress the opposite of Congress?
  • Reply 66 of 127
    melgrossmelgross Posts: 33,510member
    Quote:
    Originally Posted by dfiler View Post


    It does seem that there is a shortcoming in our lexicon for referring to these binaries.



    Depending on who you talk to "universal binary" means "runs on any mac" or "runs on PPC or intel". There's the official Apple stance and then various interpretations in actual usage. There's the literal interpretation from a layman's or developer's perspective. Then there's the people who try to reason through how the term would be most useful. Then there is the by-the-book (apple's definition) perspective as well.



    I don't claim to know what the solution is, but it is obvious that Apple will need to be pro-active to avert confusion.



    If we had a time machine, we could go back in time and not use the term "universal" in the first place. Going forward, such a term almost always necessitates the literal and official definitions being in contradiction. This same exact problem exists in more fields than just computing. Various fields have things like "universal wrenches" or "universal adapters"... that aren't universal. I think it must all be a conspiracy by the people who make bulleted lists for websites. These naming scheme flaws are a boon for the specification list on just about any website, where it is necessary to explain in detail just how "universal" "universal" is.



    And that's why I think we should stick to what most everyone thinks it means due to Apple's promotion of it going back to 2006, which is PPC/Intel code.



    When a couple of programmers, or would be programmers, get upset about an exact definition, an issue that was NEVER before raised here that I can remember, I think that we can safely ignore it.
  • Reply 67 of 127
    dfilerdfiler Posts: 3,420member
    Quote:
    Originally Posted by melgross View Post


    And that's why I think we should stick to what most everyone thinks it means due to Apple's promotion of it going back to 2006, which is PPC/Intel code.



    When a couple of programmers, or would be programmers, get upset about an exact definition, an issue that was NEVER before raised here that I can remember, I think that we can safely ignore it.



    "Everyone thinks it means" is probably a bit too strong of phrasing. If anything, I'd say pretty much nobody knows what a binary is, let alone a universal binary.



    It isn't just programmers that interpret "universal" to mean "universal". Hell, a lot of mac users don't even know what PPC is. When they see universal binary, they vaguely recall that it runs on new and old macs.



    But I suppose since most people don't know what a binary is, then they'd have to look it up anyway. Which I'll admit supports the general gist of your stance.



    The only thing clear in my opinion is that universal binary wasn't the best term ever coined by apple. Why didn't they just say something more like "PPC/Intel Program"? Granted, most people would probably have to google that term too because they owned a "G3", "G4", "G5"... not a pee pee cee.
  • Reply 68 of 127
    kim kap solkim kap sol Posts: 2,987member
    Quote:
    Originally Posted by dfiler View Post


    "Everyone thinks it means" is probably a bit too strong of phrasing. If anything, I'd say pretty much nobody knows what a binary is, let alone a universal binary.



    It doesn't matter if they don't know what it means. Like you said, they'll Google "Universal Binary" and they'll find Apple's definition. And they'll understand the term from then on. Nowhere does Apple say that UB means 32/64 binaries. In fact, and although I haven't checked, I'd be pleasantly surprised if there was a UB definition anywhere on the internet that mentions 64 bit support.
  • Reply 69 of 127
    dfilerdfiler Posts: 3,420member
    Having to google does matter to some people. As amazing as it might sound, plenty of people won't do so. Most people are around a lot of computer terms they've never googled. Some people will guess something different based upon "universal". I present this thread as evidence.



    In my opinion, Apple did a lot better with their "fat binary" term used two transitions ago. I'm curious to see what they land on this time around.
  • Reply 70 of 127
    kim kap solkim kap sol Posts: 2,987member
    Quote:
    Originally Posted by dfiler View Post


    Having to google does matter to some people. As amazing as it might sound, plenty of people won't do so. Most people are around a lot of computer terms they've never googled. Some people will guess something different based upon "universal". I present this thread as evidence.



    In my opinion, Apple did a lot better with their "fat binary" term used two transitions ago. I'm curious to see what they land on this time around.



    The point is that it doesn't matter if people know what it means. UB means that it runs on PPC and x86. And even if most people don't understand what it means, it doesn't mean that it should be misused.



    I don't see anyone trying to change definitions of words in the english language because they're too lazy to look it up. Why should it be different for "UB"?
  • Reply 71 of 127
    dfilerdfiler Posts: 3,420member
    Quote:
    Originally Posted by kim kap sol View Post


    The point is that it doesn't matter if people know what it means. UB means that it runs on PPC and x86. And even if most people don't understand what it means, it doesn't mean that it should be misused.



    I don't see anyone trying to change definitions of words in the english language because they're too lazy to look it up. Why should it be different for "UB"?



    It certainly does matter if apple is able to successfully communicate which programs are compatible with which of their computers. Transitions like this are largely viewed as a success or failure based on whether they go smoothly for users. Users understanding these terms is a key part of the transition going smoothly.



    As for your second paragraph, languages drift over time. Sometimes the changes are an improvement, sometimes not, and sometimes neither. Saying how words _should_ be used is reasonable. Languages also splinter or are used inconsistently between regions. Are you really denying this happens?



    How words _should_ be used, and how they're _actually_ used, are both worthwhile topics. Ignoring either is burying one's head in the sand.
  • Reply 72 of 127
    shadowshadow Posts: 373member
    Quote:
    Originally Posted by kim kap sol View Post


    The point is that it doesn't matter if people know what it means. UB means that it runs on PPC and x86. And even if most people don't understand what it means, it doesn't mean that it should be misused.



    I don't see anyone trying to change definitions of words in the english language because they're too lazy to look it up. Why should it be different for "UB"?



    Sorry, Kim, but look back at my post above and see what Apple's own utility reports for a 32/64 bit Intel only binary.

    Also take a look at this link or type man arch in the terminal (you need to have Developer tools installed I guess).



    It definitely states that 32 bit Intel and 64 Intel are different architectures:



    Quote:

    The arch_name argument must be one of the currently supported architectures:
    • i386 32-bit intel

    • ppc 32-bit powerpc

    • ppc64 64-bit powerpc

    • x86_64 64-bit intel




    It does not explicitly state that 32/64 bit Intel is a universal binary but this is implied from the description. Then again, as I mentioned before, Apple is likely to use different term to avoid confusion, but your comments regarding "anyone trying to change definitions of words in the english language" is stupid. It is not an english word to begin with (there are two words) but a marketing/technical term. What the term means is a matter of convention and this particular term is perfectly acceptable for developers (hence the terms 2-way universal binary, 4-way universal binary) but might be confusing as a marketing term. Note that (assuming SL does not run on PPC Macs) there is some room for consideration reusing the term for 32/64 bit apps that require Snow Leopard, but I don't think it is likely.
  • Reply 73 of 127
    kim kap solkim kap sol Posts: 2,987member
    Quote:
    Originally Posted by shadow View Post


    Sorry, Kim, but look back at my post above and see what Apple's own utility reports for a 32/64 bit Intel only binary.

    Also take a look at this link or type man arch in the terminal (you need to have Developer tools installed I guess).



    It definitely states that 32 bit Intel and 64 Intel are different architectures:







    It does not explicitly state that 32/64 bit Intel is a universal binary but this is implied from the description.



    Nope, it's not implied.



    Quote:

    Then again, as I mentioned before, Apple is likely to use different term to avoid confusion, but your comments regarding "anyone trying to change definitions of words in the english language" is stupid.



    Why would it be stupid? Apple decided that Universal Binary meant a PPC/x86 fat binary and people like yourself and others here are saying that it can be something else. The fact is that no it can't.



    Quote:

    It is not an english word to begin with (there are two words) but a marketing/technical term.



    So are you saying marketing terms can't have definitions? Or are you saying that marketing terms can have definitions modified by anyone? I was using words in the english language as the perfect example since words have definitions and so do marketing terms, scientific lingo, technologic lingo, etc.



    Quote:

    What the term means is a matter of convention and this particular term is perfectly acceptable for developers (hence the terms 2-way universal binary, 4-way universal binary) but might be confusing as a marketing term.



    Come on, dude. You know it would be confusing. That's what melgross and I have been saying in every single post here. Universal Binary means PPC/x86. End of story. Since you're so found of finding implied meanings, you could imply that the Yin Yang represents a balance between PPC and x86. If a 4-way UB was to be marketed the logo would probably have to change to reflect 4 architectures...PPC-32, PPC-64, x86-32, x86-64.



    Quote:

    Note that (assuming SL does not run on PPC Macs) there is some room for consideration reusing the term for 32/64 bit apps that require Snow Leopard, but I don't think it is likely.



    Or Apple could just be absolutely explicit about it and put a fuckin' "64-bit" logo for developers to use for their product. No need to create a 32-bit logo or to specify that the binary is 32/64 considering that in 99.9% of cases the app will be compiled for x86-32 (and if it has the UB logo, PPC-32) which every Intel Mac can run.



    Apple created the term Universal Binary for the PPC -> x86 transition. This shouldn't change as it would cause confusion for the people that actually knew and cared about what the term and logo meant.



    If an app runs on PPC and x86 Macs then it should sport the UB logo...if it's also compiled for x86-64 then a shiny "64-bit" logo should be put on the box. That would certainly remove *any* confusion about whether the app is 64-bit or not.
  • Reply 74 of 127
    dfilerdfiler Posts: 3,420member
    Quote:
    Originally Posted by kim kap sol View Post


    Universal Binary means PPC/x86. End of story.



    That is currently the official Apple definition. But that is far from the end of the story. This thread alone should be evidence of that.
  • Reply 75 of 127
    melgrossmelgross Posts: 33,510member
    Quote:
    Originally Posted by dfiler View Post


    "Everyone thinks it means" is probably a bit too strong of phrasing. If anything, I'd say pretty much nobody knows what a binary is, let alone a universal binary.



    It isn't just programmers that interpret "universal" to mean "universal". Hell, a lot of mac users don't even know what PPC is. When they see universal binary, they vaguely recall that it runs on new and old macs.



    But I suppose since most people don't know what a binary is, then they'd have to look it up anyway. Which I'll admit supports the general gist of your stance.



    The only thing clear in my opinion is that universal binary wasn't the best term ever coined by apple. Why didn't they just say something more like "PPC/Intel Program"? Granted, most people would probably have to google that term too because they owned a "G3", "G4", "G5"... not a pee pee cee.



    I doubt anyone could point out instances of anyone thinking anything other about a "UB" than PPC/Intel (or, as you say, old/new) compatibility here over the past few years, than a couple of posts from "programmers".



    Apple has taught people to think PPC/Intel when thinking UB.



    Yes, it's true that there are Mac owners who didn't think about it all all, because they are so very untechnical. But what does that have to do with it? People who DO think of a UB have a way of understanding what it is, and we're speaking to them.



    Did Apple make a mistake in their naming scheme? I don't think so.



    We have sets, and subsets. The set would be UB = PPC/Intel. The subsets would be PPC 32/64 and Intel 32/64.



    Apple talks up the set, not the subsets. It's valid, and for most people enough to know.



    Since it's even easier to say 32/64 for Intel code (just as we used to do for PPC 32/64 bit coding), I can't see why a couple of people are so upset about it.



    If we refer to it as a UB, then I guarantee that many people are going to ask what we're talking about, because they will be confused, as has already happened here.



    Then, we'll have to go off to explain what it means in reference to Intel code as well.



    I'd be willing to bet, that with few people bothering to do the right thing when getting into a thread, and reading back to know what's going on, that we'll have to explain this every 20 posts or so. We've all experienced this happening.



    It's not worth it. Let's keep UB for PPC/Intel as Apple has done, and use 32/64 bit for Intel.



    It isn't incorrect.
  • Reply 76 of 127
    melgrossmelgross Posts: 33,510member
    Quote:
    Originally Posted by dfiler View Post


    Having to google does matter to some people. As amazing as it might sound, plenty of people won't do so. Most people are around a lot of computer terms they've never googled. Some people will guess something different based upon "universal". I present this thread as evidence.



    In my opinion, Apple did a lot better with their "fat binary" term used two transitions ago. I'm curious to see what they land on this time around.



    As I said, people will come here, get confused, and, if they bother at all, ask us.

    And what will we say? Exactly what we're saying now.



    Over and over and over and over...
  • Reply 77 of 127
    melgrossmelgross Posts: 33,510member
    Quote:
    Originally Posted by shadow View Post


    Sorry, Kim, but look back at my post above and see what Apple's own utility reports for a 32/64 bit Intel only binary.

    Also take a look at this link or type man arch in the terminal (you need to have Developer tools installed I guess).



    It definitely states that 32 bit Intel and 64 Intel are different architectures:







    It does not explicitly state that 32/64 bit Intel is a universal binary but this is implied from the description. Then again, as I mentioned before, Apple is likely to use different term to avoid confusion, but your comments regarding "anyone trying to change definitions of words in the english language" is stupid. It is not an english word to begin with (there are two words) but a marketing/technical term. What the term means is a matter of convention and this particular term is perfectly acceptable for developers (hence the terms 2-way universal binary, 4-way universal binary) but might be confusing as a marketing term. Note that (assuming SL does not run on PPC Macs) there is some room for consideration reusing the term for 32/64 bit apps that require Snow Leopard, but I don't think it is likely.



    Don't you get it?



    It doesn't matter!



    You're all hung up on a definition that doesn't really exist, but that you think should exist.



    None of this matters for the purpose we're talking about HERE.



    And that means for the daily discussion in which many people who don't know about the intricacies of the definitions, and don't really care.



    All they want, is an easy to understand, and use, definition that they've been using for years because it's the one we've all used for years, because it's the one APPLE has used for years.



    Get over this "it's buried deep down on the developer website" stuff, and come out into the light.
  • Reply 78 of 127
    melgrossmelgross Posts: 33,510member
    Quote:
    Originally Posted by dfiler View Post


    That is currently the official Apple definition. But that is far from the end of the story. This thread alone should be evidence of that.



    It is the end of the story. But a couple of you have decided to attempt to prolong it with an epilog.
  • Reply 79 of 127
    dfilerdfiler Posts: 3,420member
    Quote:
    Originally Posted by melgross View Post


    It is the end of the story. But a couple of you have decided to attempt to prolong it with an epilog.



    Nice try Melgross, but it takes two to have this conversation. There is no need to personalize the argument.



    It is clear what you're stating. There really isn't a need to keep posting the definition of UB. What I've been trying to point out is that not everyone in the world will be aware of the meaning of UB, no matter how many times you post it to this thread.



    Obviously you don't believe that there are people who misinterpret the phrase because of the words that comprise it. About this I disagree.



    My criticism has been leveled squarely at using the term "universal" as a marketing phrase or consumer oriented specification. Sooner or later the "universal whatever" is no longer "universal".



    (Perhaps you've lumped my point in with those from other posters and are arguing against everyone simultaneously. )
  • Reply 80 of 127
    melgrossmelgross Posts: 33,510member
    Quote:
    Originally Posted by dfiler View Post


    Nice try Melgross, but it takes two to have this conversation. There is no need to personalize the argument.



    I'm not personalizing it any more than you are.



    We're talking to others here, and that personalizes it to that extent anyway.



    But as we have all seen, it's just a couple of people who are keeping this argument working from the perspective of "There are four UB's."



    These guys can end it by saying that they understand that most all people don't see it that way.



    Quote:

    It is clear what you're stating. There really isn't a need to keep posting the definition of UB. What I've been trying to point out is that not everyone in the world will be aware of the meaning of UB, no matter how many times you post it to this thread.



    Obviously you don't believe that there are people who misinterpret the phrase because of the words that comprise it. About this I disagree.



    I'll repost the definition as long as the other "definition" is being reposted.



    We've been here a long time. Ever since Apple came out with the term, we've seen how it's been used. It's not just my feeling about this here.



    How has anyone misinterpreted the term, other than to use "fat binaries"?



    I've never said that "everyone in the world" world know what it means. That's your misunderstanding of very clear statements I've made several times.



    I said that of people who used the term, the understanding was that of which Apple had defined. Mostly people who go to tech web sites have heard of, and used the term. Those are the people we're concerned about, because those are the people who discuss it here. Most others don't really matter as much, because they don't come here to read what we're saying, or don't care one way or the other. They just want to buy a machine and use it.



    Quote:

    My criticism has been leveled squarely at using the term "universal" as a marketing phrase or consumer oriented specification. Sooner or later the "universal whatever" is no longer "universal".



    (Perhaps you've lumped my point in with those from other posters and are arguing against everyone simultaneously. )



    It is a marketing phrase, because it's being used that way.



    When transistors first came out, it was not only the technical term, but a marketing phrase for every manufacturer who wanted to get on the "modern" bandwagon. I'm sure you can think of many other instances of this over the years.



    I don't see the big deal here about that. Apple uses it as a marketing term, and that's fine. It has a very clear meaning as one, and that's good. I'm just objecting to people trying to muddy up the waters by trying to insist that there are technical reasons why it means other, more obscure things, as well, even though they can't find a reference to it in the developers areas where those other areas of programming are located.



    Sometimes statements we make in response to a post are used to talk to a larger audience, as the poster being replied to isn't the only one reading the reply. I'm not the only one who does it.



    Also, sometimes a reply doesn't make sense unless the argument is drawn out more fully.
Sign In or Register to comment.