[HN Gopher] Writing ARM64 Code for Apple Platforms
___________________________________________________________________
Writing ARM64 Code for Apple Platforms
Author : ingve
Score : 141 points
Date : 2021-06-24 11:07 UTC (11 hours ago)
(HTM) web link (developer.apple.com)
(TXT) w3m dump (developer.apple.com)
| kingsuper20 wrote:
| I wonder to what extent the M1 has been designed with thoughts
| towards vendor lock-in?
| api wrote:
| I don't think it matters, since MacOS itself is a compilation
| target that differs completely from others. If they made the
| CPU different, that would just make its differences yet another
| aspect of MacOS as a target.
|
| In other words I don't think it would be any more of a special
| snowflake than it is.
|
| If they dropped ARM64 compatibility (in other words stopped
| making Apple Silicon a superset of ARM64), this would be stupid
| in that it would make the platform less useful. It would make
| it impossible to e.g. run ARM64 Linux or Windows in a VM which
| is a fundamental use case of the machine for developers. I
| doubt they'd do this.
| pjmlp wrote:
| Why not?
|
| As long as Swift and Objective-C development is the same as
| always, that is their public, not people that should be
| giving money to Linux or Windows OEMs.
| saagarjha wrote:
| People write C and C++ for those platforms too. And a lot
| of programming languages that Apple doesn't ship compilers
| for.
| spacedcowboy wrote:
| The Apple ABI was burnt into physical hardware while ARM was
| still finalizing some of the 64-bit details, which is why there
| are minor differences.
|
| X18 is very specifically called out as "for the platform: do
| not use", though, so things like GNU MP [1] moaning that Apple
| hasn't specified how they use x18, and them using it _anyway_
| are just ridiculous.
|
| 'While we added support for Apple's new Arm based computers,
| our support has a problem. The problem is that Apple reserves
| CPU register x18, but GMP's mpn/arm64 assembly code uses that
| register. While GMP runs fine in our tests, we expect things to
| go awry in some execution situation. (Apple has not been kind
| enough to specify how they use x18. Therefore, we don't know
| what the consequences of using x18 might be.)'
|
| [1] https://gmplib.org/
| nneonneo wrote:
| Now that these differences are documented, are they going to
| have to be maintained forever? Or is there any chance that
| the Apple ABI could converge to the AArch64 ABI over time?
| gjsman-1000 wrote:
| Probably forever. AFAIK IANAE (I am not an engineer), to
| change this would require breaking compatibility with all
| iOS and macOS ARM binaries and telling developers that for
| optimal performance without using Rosetta 3, they need to
| compile toward "(new) Apple Silicon." It's probably not
| going to happen.
| somebody_amzn wrote:
| You don't need a translator. The ABI is a software
| construct, not an hardware one.
|
| What would be needed though is to have two copies of the
| system libraries in such a case, targeting different
| ABIs. That's of course very unlikely to happen.
| saagarjha wrote:
| There are already two different ABIs for Apple silicon,
| although one (arm64e) is mostly reserved for Apple's use
| at the moment. Apple could choose to finalize the ABI for
| that with x18 being available to applications, although
| this is quite unlikely.
| olliej wrote:
| No there aren't and you know that.
|
| Arm64e has the exact same abi as arm64, but in arm64 mode
| the pac instructions are no ops.
|
| Otherwise as the parent says apple would need multiple
| copies of the system libraries.
| [deleted]
| benou wrote:
| I think it was fixed 2 weeks after the announcement:
| https://gmplib.org/repo/gmp/rev/5f32dbc41afc
|
| I am more reading this as 'we just enabled compilation for
| Apple M1 but it is highly experimental, use at your own risk
| until it is properly fixed'.
|
| I think you misinterpreted their stance.
| chrisseaton wrote:
| Are they not able to stop using the register? Why keep
| touching a rail that you've been told might be electrified?
| vetinari wrote:
| Their code is older than M1. That rail, when supplied by
| other vendors, was not live.
| chrisseaton wrote:
| Yeah I get that... but that doesn't meet the current ABI
| so change it.
| zorgmonkey wrote:
| It is already fixed
| https://gmplib.org/repo/gmp/rev/5f32dbc41afc
| stephencanon wrote:
| But younger than Apple's arm64 ABI, and younger than
| ARM's ABI docs which reserve it for platform use. Any
| software intended to target multiple platforms should
| never have been using it.
| smoldesu wrote:
| Unless Apple can produce a sufficient explanation of _why_
| you wouldn 't use that register, I see no reason why
| developers wouldn't.
| aarch64 wrote:
| Here is ARM's explanation in the AAPCS64 (ARM 64-bit
| Architecture Procedure Call Standard):
|
| > Software developers creating platform-independent code
| are advised to avoid using r18 if at all possible. Most
| compilers provide a mechanism to prevent specific registers
| from being used for general allocation; portable hand-coded
| assembler should avoid it entirely. It should not be
| assumed that treating the register as callee-saved will be
| sufficient to satisfy the requirements of the platform.
| Virtualization code must, of course, treat the register as
| they would any other resource provided to the virtual
| machine.
|
| From: https://github.com/ARM-software/abi-
| aa/blob/2bcab1e3b22d5517...
| somebody_amzn wrote:
| To elaborate:
|
| On Darwin, x18 is used as a scratch register in context
| switches on hardware where Meltdown mitigations are
| needed.
|
| As such, it is cleaned on each ctx switch on that
| hardware.
|
| On M1, it's currently usable by applications, but that is
| not part of the ABI contract and might change at any time
| without notice.
|
| On Windows, x18 is the TEB (thread environment block)
| register. It must as such _not_ be touched by apps
| either.
| saagarjha wrote:
| x18 happens to also be used by Rosetta, and is restored
| in those cases.
| NobodyNada wrote:
| > On Darwin, x18 is used [...] on hardware where Meltdown
| mitigations are needed. [...] On M1, it's currently
| usable by applications
|
| I'm confused. x18 is an ARM register, but I thought
| Meltdown only affected x86 chips. Were iOS devices
| vulnerable to Meltdown too? Or did you mean not x18
| specifically but some equivalent OS-reserved x86
| register?
| somebody_amzn wrote:
| Yeah, Meltdown did affect quite some Arm CPUs, including
| the Cortex-A75 too.
|
| However, due to specific features of the Arm
| architecture, it was patchable without a significant
| performance hit.
|
| (see this section:
| https://siguza.github.io/KTRR/#meltdownspectre-
| mitigations-1..., which made the need for actually doing
| a page table switch avoidable)
| NobodyNada wrote:
| Interesting, thanks for the link!
| adevx wrote:
| I'm in the market for a new laptop, but can't get myself to buy
| an Apple laptop despite some nice innovation on the CPU front.
| The lock-in, the dragging their feed and outright stalling web
| innovation with Safari, the "Sideloading in this case is
| eliminating choice" newspeak. It's just not something I want to
| support.
| least wrote:
| > outright stalling web innovation with Safari
|
| Not adopting technologies at the rate of the market leader
| who is pushing for more and more control over the web might
| be "stalling web innovation" but the alternative universe is
| one where Chrome has no meaningful check against its hegemony
| of the web and can freely create new technology in support of
| Google's mission to harvest private information and serve
| advertisements to its users.
|
| > Sideloading in this case is eliminating choice
|
| There is nothing on MacOS that is preventing installing and
| running arbitrary code on your machine. Elevation of
| privileges is required for some of that code, but it is there
| for those that need or want it and a sane default exists for
| everyone else. This is the case with every modern operating
| system, including free ones.
| Jcowell wrote:
| > There is nothing on MacOS that is preventing installing
| and running arbitrary code on your machine. Elevation of
| privileges is required for some of that code, but it is
| there for those that need or want it and a sane default
| exists for everyone else. This is the case with every
| modern operating system, including free one
|
| Actually, there is but not In the way you expect. When the
| M1 Mac's we're released, you could sideline iOS and iPadOS
| apps but that was blocked by Apple in a later update. On
| the surface this is a means of clamping down on app piracy
| and unauthorized use of an app but also a a blockage all
| the same.
| djrogers wrote:
| Any app creator can release their iOS / iPadOS app for
| Apple Silicon Macs if they choose to, I'm not sure I'd
| paint Apple as the bad guy here if a vendor doesn't want
| their iOS app running on macOS.
| Jcowell wrote:
| I'm not taking about Availability of iOS App in the MacOS
| App Store that devs can opt in and out of. I'm talking
| explicitly about side loading iOS/iPadOS apps to MacOS.
| This was possible when M1 apps were released and then
| explicitly blocked by Apple after an update.
| least wrote:
| That's a good point and it's something I did overlook,
| despite complaining about it when they changed this. I
| would argue though that this is DRM just like Denuvo is
| for video games or widevine for a lot of streaming
| content and wouldn't really consider it the same thing as
| Apple restricting running arbitrary code in the
| traditional sense. If something like Gatekeeper made
| things unsigned by Apple impossible to run rather than
| simply being annoying (which I mean, is kind of the point
| of it) then I'd be more inclined to agree with the
| sentiment.
| jmull wrote:
| > ...dragging their feed and outright stalling web innovation
| with Safari...
|
| You aren't entirely wrong here, but we are one thin plank
| from the web being whatever Google says it is.
|
| I know we don't live in an ideal web development world, but
| we are awfully close to something much worse.
| rickdeckard wrote:
| I feel you. I'm at a point where I can't go on and support
| that ecosystem with my money, as they envision a future of
| the whole IT/CE industry which I increasingly disagree with.
|
| But it's hard to explain the implications of Apple's business
| model to someone who is just happy how well his AirPods are
| integrating with all his other Apple stuff, and offended how
| other companies simply don't make anything equally well
| integrated with his iPhone...
| nickpp wrote:
| I believe side-loading on Mac OS is not a problem. It is only
| restricted in iOS.
| gjsman-1000 wrote:
| Sideloading on the M1 is fairly easy. @marcan42, who is
| developing Linux for M1, is very clear that Apple _actively
| went out of their way_ to make sideloading possible in a
| secure manner.
|
| Also, for everyone who says Apple is going to lock MacOS
| down, that's not going to happen with the M1 at least. The
| ability to run older versions of MacOS, alongside Linux
| support coming, means it's not happening. Despite what the
| conspiracy theorists say.
| ericflo wrote:
| Linux on M1 and sideloading OSX apps are fairly
| orthogonal. Bootloader/sideloading term mixup maybe?
| johnwalkr wrote:
| It's 2 separate points, Apple explicitly said they allow
| sideloading (I wouldn't even call it side loading, it's
| just "install from outside the app store" and "allow
| unsigned applications if you want") and booting any other
| OS is allowed, there is even some amount of Apple
| documentation on how to do it, and success with both BSD
| and linux. Drivers are of course an issue.
| notriddle wrote:
| They are not orthogonal. If you can install Linux, then
| you can sideload apps on macOS. It might involve invasive
| XNU patching with a hex editor, but it can be done.
|
| It's not that involved, by the way. There's a command
| that you run to turn off gatekeeper [1].
|
| [1]: https://disable-gatekeeper.github.io/
| chipotle_coyote wrote:
| I think the OP is pointing out that installing Mac apps
| from places other than the App Store is not what most (if
| any) Mac users would call "sideloading". We just call it
| "installing." :)
| Wowfunhappy wrote:
| Exactly, and this goes beyond mere self-signed code
| (Gatekeeper) and into things like SIP and private
| entitlements. As long as the user controls the
| bootloader, the user can also patch the OS to do whatever
| they want.
| criddell wrote:
| Have you given much thought to the opposite idea - that web
| innovation is ultimately bad for users?
| adevx wrote:
| I think having an open, equal opportunity platform not
| policed by any specific vendor is a good thing. It could
| pave the way for a mobile OS like Mozilla envisioned with
| the discontinued Firefox OS. There is of course this
| massive influence of Google which could steer web
| innovation in the wrong direction.
| criddell wrote:
| I've been talking about this a lot lately, so maybe I'm
| repeating myself, but Ellen Ullman's (very good) book
| _Life in Code_ she writes about Whitfield Diffie 's (of
| Diffie-Hellman fame) speech at the 2000 Computers,
| Freedom, and Privacy conference in Toronto.
|
| > "We were slaves to the mainframe! he said. Dumb
| terminals! That's all we had. We were powerless under the
| big machine's unyielding central control. Then we escaped
| to the personal computer, autonomous, powerful. Then
| networks. The PC was soon rendered to be nothing but a
| "thin client," just a browser with very little software
| residing on our personal machines, the code being on
| network servers, which are under the control of
| administrators. Now to the web, nothing but a thin, thin
| browser for us. All the intelligence out there, on the
| net, our machines having become dumb terminals again."
|
| I think yielding control back to remote administrators is
| ultimately a mistake if you care about freedom and
| privacy. It's why I've come to believe the web, as a
| platform, is in some ways a giant step backwards (and I
| do realize that's not a popular opinion here).
|
| I like that Apple is slowing things down. Users are
| better served by well written native apps IMHO. It makes
| life more difficult for those of us who write software
| but also for those who want to sell to, spy on, or
| control users.
| smoldesu wrote:
| I'm in a (similar) boat. I'd probably be a lot more
| interested if Apple gave me more control over the hardware.
| EricE wrote:
| What control are you lacking? Are you positive you are
| lacking control or just espousing a knee jerk opinion?
|
| Indeed, a comment in this thread points out that others
| have reported Apple went out of their way to allow secure
| access to the hardware on peer with what apple does with
| macOS - your generic concerns seem utterly without merit.
| wayneftw wrote:
| Perhaps you're not sure what kinds of controls you're
| missing because you haven't often left the Apple bubble?
| Here are the types of control that I enjoy as a
| Linux/Windows PC user:
|
| - All of my non-Mac PCs have a BIOS interface that lets
| me control very low level behaviors of my motherboard and
| CPU. Macs expose just the bare minimum.
|
| - Windows, and to a much greater extent Linux both offer
| vastly more API hooks to customize things that I want
| about the OS. Apple does things like making
| NSScreen.visibleRect readonly so that only their Dock
| program can change it and nobody else. Meanwhile, on
| Windows/Linux I can programatically do just about
| anything I choose to, so I can replace the taskbar (and
| even app window chrome/menus) with something else if I
| want.
|
| - Macs have extremely limited GUI configuration options.
| You can't even change the color of your mouse pointer
| from black to white if you wish to! You can't have
| "themes" that change anything significant. You can only
| put the Dock left/right/bottom. You can't move the menu
| bar. For a long, long time you could only resize app
| windows by the lower right corner until they finally
| implemented that. It's very often Apple's way or the
| highway - and there's a reason why that phrase is often
| associated directed towards Apple; because they just
| don't offer nearly as much control to users...
|
| - Even if you try to customize these things by using
| third party hacks, there's no guarantee that your hack
| will continue to work after an update - and that's a loss
| of control. My Macs have broken many times from updates,
| way more than any of my real PCs. Even if I do hack
| Windows to do something that I want, Microsoft bends over
| backwards to stay compatible. Obviously Linux offers even
| more control, i.e. you can get right into the source code
| of almost anything on your desktop.
|
| - I can only run macOS on Apple hardware. This is a
| severe loss of control for users. If Apple decided to
| stop making Intel machines tomorrow, I'd be screwed.
|
| - If I'm running a cloud business, I can't even rent out
| a cloud Mac for an hour at a time. I have to rent it out
| for 24 hours at a time. That's a loss of control.
|
| I'm sure I missed some things because I wrote this pretty
| quickly. I thought at some point that I should keep a
| running list of things that Macs just can't do, but that
| would be a waste of time - better to just accept things
| and relegate my Macs for doing iOS/Mac things only. So
| that's exactly what I did.
| Wowfunhappy wrote:
| > Apple does things like making NSScreen.visibleRect
| readonly so that only their Dock program can change it
| and nobody else. Meanwhile, on Windows/Linux I can
| programatically do just about anything I choose to, so I
| can replace the taskbar (and even app window
| chrome/menus) with something else if I want.
|
| If you turn SIP off, you should be able to swizzle those
| methods with your own implementations. I admittedly
| haven't tried with NSScreen.visibleRect specifically, but
| I've swizzled plenty of other low-level objective-c
| stuff. When I need to go even deeper, there's dyld
| interposing.
|
| You just need to turn off SIP. It's the magic switch that
| lets you do whatever you want. Some people argue "letting
| the user do whatever they want" is poor security, and
| perhaps it is, but you can't have it both ways--either
| grant yourself control and accept the security
| consequences, or leave Apple in control and accept the
| restrictions.
| chipotle_coyote wrote:
| A whole lot of what you're describing -- not all,
| obviously, but a good chunk -- have to do with not being
| able to significantly affect the _aesthetics_ of the
| operating system, or in some cases, the functionality of
| the widgets. This is fair, but I think people who haven
| 't really gotten deep into "the Apple bubble" don't
| really understand how much control Apple does, in fact,
| give you over the _functionality_ of the operating
| system, whether through OS-level features or hooks third-
| party applications _can_ latch onto. When I think of
| "customizing my environment," I think of running things
| like Alfred and Keyboard Maestro. I think of using
| Automator (and soon, Shortcuts) to control applications
| and create system-wide services like "select any Markdown
| text in any application and convert it to BBCode, HTML,
| or Rich Text". I think of editing the default keyboard
| finding file to add ^W as "select word" in every
| application that uses standard system input. None of
| these are "hacks" that are going to go away tomorrow.
| Personally, I don't care whether I can "move the menu
| bar" (where the hell would I move it?) or turn window
| chrome purple, and I don't _really_ care that I can only
| put the dock in one of three places. :)
|
| As for some of the others, well, again, yes and no. I
| mean, in the history of computing, "I can only run
| FooCo's OS on FooCo's hardware" was the norm"; I don't
| think it's Apple's fault if you can't rent out a cloud
| Mac for an hour at a time; I think it's debatable whether
| the lack of fine-grained editing of BIOS settings is a
| material loss on the Mac platform.
|
| Also,
|
| > If Apple decided to stop making Intel machines
| tomorrow, I'd be screwed.
|
| I have bad news. :)
| nonameiguess wrote:
| I'm mostly a big fan of my Macbook Air, first Mac I've
| owned in 15 years. But I'd jump for joy if they'd just
| let me control the auto-open feature of Music.app that
| forces it to the front every time I take my headphone off
| and put them back on. I'm in a damn meeting. How on earth
| did they ever come to the decision that they should
| assume everyone using headphones is listening to music?
|
| I scoured the Internet and this has apparently been a
| problem for at least six years, and Apple keeps breaking
| all the workarounds people find to disable the behavior.
| jamespo wrote:
| Why would Apple want to join the Chrome arms race that Google
| is pushing for their own benefit?
| rickdeckard wrote:
| It was for sure designed to bring the locked architecture and
| tight value-chain control from iOS into the macOS space, in a
| slow transition which doesn't alienate the existing userbase
| (like the frog in a pot analogy).
|
| For example, I don't expect them to address the situation with
| the Hackintosh market (people running macOS on custom PCs).
| They will simply fade-out OS-support for Intel CPU's, AMD GPUs
| and so on at one point, and then basically close the door
| behind all the M1/Mx users...
| gjsman-1000 wrote:
| They never supported Hackintoshes, and you need to remember
| there was a 20-year period before Intel where hackintoshes
| weren't possible. Apple is closing something they never
| supported and that wasn't there for the two decades prior, so
| I can hardly fault them.
|
| For how well-known "hackintoshing" is, remember that the Mac
| has spent the majority of its existence without this ability.
| pram wrote:
| The description of Hackintosh as a "market" is pretty amusing
| lucasyvas wrote:
| Probably to the same level of everything else they do - "We are
| doing what we want, so get on board if you are interested"
|
| If that leads to lock-in, it's a happy accident.
| smoldesu wrote:
| Can anyone else name an industry where this would be allowed?
|
| Imagine if John Deere decided to switch all of their tractors
| to a proprietary gasoline formula, and said "We're doing what
| we want, so get on board if you're interested".
|
| They would be sued before the sun went down.
| gjsman-1000 wrote:
| Except here's the twist: Imagine if John Deere made their
| tractors _from day one_ with the proprietary gasoline
| formula. And that people liked their tractors _from day
| one_ and grew them into the behemoth they are today despite
| the formula.
|
| That's more like what the current situation is.
| macintux wrote:
| A better analogy would be if Deere required a new fuel
| formulation that all the industry players had access to but
| no one else had sufficient clout/"courage" to use.
| defaultname wrote:
| Do Apple devices use special Apple Electricity? No? Then
| your analogy is nonsensical, as analogies always are.
| rdsnsca wrote:
| John Deer tractors are locked down... just go talk to a
| real farmer and see what he says.
| nonameiguess wrote:
| John Deere unfortunately does do this. To the court's
| credit, at least they keep losing right to repair lawsuits.
| To law enforcement's discredit, they don't change the
| behavior and suffer no punishment.
| burlesona wrote:
| I think many will interpret this as sarcasm, but it's
| actually spot-on. If you watch Apple's history, they're
| strongly opinionated and they always do what they believe is
| best for users, regardless of what developers or critics
| think.
|
| This usually works out well. I think the one big conflict is
| that Apple is also very diligent about it's profit margins,
| and while this _usually_ doesn't conflict with "what's best
| for the user," where Apple gets in trouble is when it does.
|
| One prominent example: there's really no reason to think that
| the 5GB of free iCloud storage is sufficient anymore.
| Maintaining cloud storage isn't free, so I understand why
| they don't want to offer more than a "free trial" so to
| speak, but I would guess this hurts a lot of users who have a
| degraded user experience on their phone because they don't
| have enough storage for iCloud backups, for example. It would
| make more sense to me if they would offer something like
| "system backups don't count against your storage cap" and
| then include two years of iCloud 50GB with the purchase of
| the phone. That conflicts with the profit margins, though, so
| the 5GB teaser stays around.
| gjsman-1000 wrote:
| I think it's part of an onboarding strategy, because
| remember that the next tier is $1/mo., or $12 a year.
| Peanuts. It could easily be rolled into the purchase price
| of the device for a year or two. Apple TV+ which come with
| a year free with purchasing an iPhone would be $60 a year,
| or 5 years of iCloud 50GB.
|
| _However_ , by charging peanuts, you got the user into a
| subscription, which is the important bit. A person in a
| subscription who jumped the hurdle of not paying vs paying
| a little is much more likely to upgrade later.
|
| It also plays into a Steve Jobs strategy, for better or
| worse. Many people don't hear about this, but Steve Jobs
| had a view that people don't value things that are free. He
| made the Cafe at Apple HQ subsidized but require payment,
| not that Apple couldn't afford it, but because he knew
| people wouldn't respect free food. This view of Apple's,
| that people don't value things they didn't pay for, seems
| to permeate many of their business decisions.
| smoldesu wrote:
| > This view of Apple's, that people don't value things
| they didn't pay for, seems to permeate many of their
| business decisions.
|
| This would explain why their users are so quick to defend
| the 30% cut, with sunken cost taken into account.
| burlesona wrote:
| Yes, I think you're exactly right. Overall it's a good
| business strategy. I just personally think that in this
| case, it's an example of "what's best for profit margins"
| conflicting with "the best user experience for most
| users," and the awkward place they've landed today is how
| they've split that difference.
| madia_leva wrote:
| Accident, yeah
| burlesona wrote:
| To exactly the same extent as everything Apple does. If they
| genuinely believe that they can create a custom X that works
| better than all the other options, and that compatibility with
| the rest of the world would hold back the user experience, then
| they go for it and don't worry about compatibility.
|
| Whether you, as a user, agree with their decisions, is a
| different story. Apple doesn't care about making products for
| _everyone_ , so to them if 70% of the market doesn't like their
| design but 30% absolutely loves it - and they can make
| sustainable profits selling to that 30% - then that's fine.
|
| Apple thinks of it's products like game consoles. We don't get
| mad at Sony that PlayStation games don't run on Windows... we
| understand that Sony has designed a complete package offering
| and then we either like it and buy it... or we don't. And
| that's fine.
|
| People get confused about Apple's choices because they make
| Macs, which are a lot like PCs and partially compatible. But
| Apple doesn't see the Mac as part of the PC ecosystem, it sees
| the Mac and all its products as the distinct, standalone, Apple
| platform, which is a complete package offering. And Apple
| expects users to either like that and buy it, or not.
| smoldesu wrote:
| > Apple doesn't care about making products for everyone
|
| Can you give me a quote from the company or an otherwise
| official statement that supports this?
| pjmlp wrote:
| Anyone that has been around long enough to remember the
| days of Atari, Amiga, PC, Archimedes, PC.
| least wrote:
| It doesn't require a statement from Apple for someone to
| ascribe intent from a company's actions. It's of course
| just speculation and may not align with what the company
| officially states or what the intent is internally. It's
| simply an opinion.
| macintux wrote:
| They've certainly said on multiple occasions they won't
| make cheap computers, which by definition excludes a big
| percentage of the potential market.
|
| https://www.huffpost.com/entry/apple-ceo-tim-cook-
| expensive-...
| xuki wrote:
| https://youtu.be/gnU9Vgt8Hmg?t=9
| jayd16 wrote:
| >We don't get mad at Sony that PlayStation games don't run on
| Windows...
|
| Actually there was much rejoicing when the Playstation moved
| to x86_64.
| gogopuppygogo wrote:
| That was due to how horrible it was to program an app for
| the cell processor.
| amelius wrote:
| > Apple thinks of it's products like game consoles.
|
| And at the same time Apple expects me to build my business on
| those products.
| bobsomers wrote:
| Plenty of games run on multiple consoles, despite having
| completely different operating systems, graphics APIs, etc.
|
| It's certainly a pain, but cross-platform development has
| always been a thing so it's not a unique pain to Apple
| platforms.
| amelius wrote:
| It's not just the development. It's the fact the Apple
| takes control over the distribution of software on their
| platform.
| [deleted]
| incanus77 wrote:
| I have been an Apple ecosystem developer for the past 19
| years and this is the best, most succinct explanation of
| Apple's outlook re: openness for the HN crowd that I've seen.
| I don't always agree with the stance, more so in recent
| years, but understanding that it is what governs things, not
| a nascent PC market world view, is important to factor in
| when making hardware, lifestyle, and career choices.
| pjmlp wrote:
| Linux devs giving money to Apple instead of GNU/Linux OEMs
| are the ones that got mixed up what Apple eco-system is
| supposed to be.
|
| Most of them never used the old Mac OS, GUI based, with
| Object Pascal/C++ tooling, and zero POSIX.
| gjsman-1000 wrote:
| It's also important to remember that Apple doesn't want to be
| like a PC or Android phone. They've said so in court filings.
| They view themselves as separate, and they also say that if
| you want sideloading, _you have that choice_ by joining the
| other side.
|
| In Apple's view, they are encouraging customer choice because
| customers have the ability to choose an open experience, or a
| closed experience, and the desire to force all experiences to
| be open removes choice. It's an argument very contrary to us
| on Hacker News but that's what Apple tries to get at.
| djrogers wrote:
| > they also say that if you want sideloading, you have that
| choice by joining the other side.
|
| That's a bit of a stretch of what they said - they were
| specifically referring to iOS there, and pointing out that
| there are other choices (including macOS) that offer side-
| loading or direct installs.
|
| Taking that one comment to imply that Apple doesn't want to
| build any platforms that aren't completely locked down is,
| imho, a step too far.
| realusername wrote:
| That argument would work a little better if they did not
| market their phones as a computer replacement in the first
| place...
|
| Apart from that, I think with only two companies on the
| mobile market, even them can't really argue against the
| obvious lack of competition.
| Jcowell wrote:
| I've seen the iPad marketed as such but never the iPhone.
| realusername wrote:
| Just have a look at the difference between an Iphone ad
| and a PS4 ad. On one side you have screen, processor, new
| apps & all the productive things you can do with the
| phone, on the PS4 side you have games games and more
| games. The marketing difference is obvious.
| burlesona wrote:
| This is subtle, but they're not advertising the iPad as a
| replacement for a PC or Mac.
|
| They're advertising an iPad as a replacement for _the
| things most people use a PC or Mac for._
|
| An iPad is certainly not a viable PC replacement for me,
| nor most of HN I would guess. But for a lot of "casual
| users," who really just surf the web, watch videos, etc,
| it's great.
|
| What's way more interesting is how iPad has become
| appealing to a lot of "semi-power users," like
| photographers and videographers. These are people who,
| twenty years ago, really needed to be computer savvy to
| do their work, but didn't (and still don't) think of
| themselves as "computer people." Or to put that a
| different way, they "use a computer for work," but they
| don't "work on computers." That audience has been greatly
| expanded as iOS devices have lowered the cost and skill
| barriers to entry making a lot of content creation
| possible.
|
| For those of us who actually "work on computers," I don't
| see iOS devices ever being a great fit... or at least not
| any time soon. But for others, an iPad might do
| everything the user wants from a computer, and maybe do
| it faster and easier as well. That's what Apple is
| advertising.
| realusername wrote:
| > This is subtle, but they're not advertising the iPad as
| a replacement for a PC or Mac.
|
| > They're advertising an iPad as a replacement for the
| things most people use a PC or Mac for.
|
| To me that sounds pretty similar, they advertise it with
| similar features, functions and in practice it's also
| used similarly.
| goalieca wrote:
| > That argument would work a little better if they did
| not market their phones as a computer replacement in the
| first place...
|
| It's a very effective alternative model. Steve jobs said
| no stylus and no separate keyboard and it did quite
| effectively replace PCs at a lot of boring office tasks
| that any manager would need.
| saagarjha wrote:
| This is mostly true but it is also almost entirely irrelevant
| to answering the specific question. The actual answer is
| "it's pretty much standard 64-bit ARM".
___________________________________________________________________
(page generated 2021-06-24 23:01 UTC)