Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Strongly Encouraging XCode Lets Apple Switch Architectures (stevecheney.posterous.com)
68 points by wallflower on April 14, 2010 | hide | past | favorite | 36 comments


This analysis is not yet mainstream

Good, because it's wrong.

but will add tremendous fuel to the fire that perhaps the A4 is NOT an ARM architecture.

No it won't

In fact, it’s highly possible that the A4 is a dual core Power Architecture

No it's not.

If you read other articles from that site claiming that the A4 is PowerPC, it becomes clear that the author came up with the PowerPC theory months ago (before the iPad was released - see http://markstechchat.blogspot.com/2010/02/ipad-saga-week-3-a... for example) and is now grasping at any straw to avoid being wrong.


The part about mandating Xcode allowing Apple to switch from ARM to something else is a good point.

The part about Apple secretly running iPhone apps under an ARM emulator seems a little crackpot.


The article seems to insinuate that everything on the iPad runs under an ARM emulator. It would make more sense that OS version 3.2 running on the iPad is already compiled for the A4 (hence the astonishing speed), and only iPhone-native apps were emulated.

But you're right, it does seem a little crackpot. Couldn't someone decompile an iPad executable and see if it's ARM code or not?


It is. Even the kernel.


Ah, but that doesn't matter, because they're emulating ARM, you see.


The jailbreakers are emulating ARM too? The conspiracy deepens!


They could be running the iPhone OS as a hardware-virtualized VM!


...and then it's turtles all the way down!


You keep using that phrase. I do not think it means what you think it means.


Hmm. I just looked through my last 170 days of comments and I found the word "Turtle" exactly once. And it's in this thread.

I don't believe I need to explain the joke. +7 kind of hints that some people agree.


You're taking that in a way I didn't mean


Unless I'm missing something, Apple didn't mandate that you need to use XCode. They said that you need to "originally write" apps in C, C++ or Objective-C. You can do that without using XCode, and conversely you can use XCode to compile something that's not "originally written" in one of those languages (by using C as an intermediate language).


Presumably you still need to use their compiler toolchain.


For the DRM signing stuff, yeah I would guess you almost certainly do need Apple's toolchain. I wouldn't be surprised if you can use other tools to do everything else though - indeed, Adobe was just using LLVM to output ARM assembly for their Flash-to-iPhone compiler.

From the legal side, I haven't seen any requirement that you use their toolchain - again, it's just been the "originally written in" stuff.


Valid point but the author misses the mark a bit. Apple probably won't move away from ARM but instead enhance and mutate their own ARM design. The A5, A6 and beyond could retain 100% binary compatibility but also offer many new features. At that point it would technically be an ARM CPU but to be used to its maximum you would need a compiler ready to support all those new features. In the case of a product like the iPad that was unveiled to the public only 2 months before it went on sale it would be difficult for third parties to keep up. From Apple's perspective sharing this type of information publicly on a reasonable time frame to support third parties could take away a significant advantage they have with in-house CPU development. If you're going to tell your competition 6 months ahead of time what you're doing by the time you ship a product they're going to be less than 6 months behind you.


Nobody is mandating XCode. You can use any editor you want as long as your code is C, C++, Objective-C, or Javascript.


Changed the title. I posted this because it made me think that Apple is truly becoming the most vertically integrated company in the world, from Silicon to AppStore.

In the movie, Objectified, by Gary Hustwit, the legendary designer Dieter Rams (of iconic Braun fame, the electric shaver), is asked if there is any company that really gets design today. He answers, after a moment's pause, "Apple".

My point here is Apple is integrating design down to lower levels anyone has done before. Some companies talk about corporate DNA but Apple is going to Jurassic Park levels.

http://www.youtube.com/watch?v=KBF1rOxWsxg


While you're right that Apple didn't explicitly mandate XCode, I imagine that was considered just a bit too blantantly monopolistic for serious consideration. It seems to me a lot like the change is influenced by Apple's desire to keep developers buying Macs. They stopped short of mandating such things explicitly because they probably didn't expect to be able to get away with it, but I believe that continually high Mac adoption rates (through developers buying Macs for XCode/Apple SDKs) was the main reason for the change.


I don't get it. As long as an ARM binary or a 'Super-Secret A4 Architecture' binary is produced, who cares? I can write Objective C code in TextMate and then use xcodebuild from the command line to build a fully functional iPhone or iPad app.


Apple cares, because they don't want any significant portion of their application marketplace on the iThings to be controlled by any single API vendor, which would give that vendor market and PR leverage that Apple doesn't want them to have. It's not about compatability or looks or anything else...

Just think about the transition from PPC to INtel. For Xcode users - this was pretty much cake. The had to add some code in some cases, but it was a fairly easy task. If, on the other hand, some other compiler run by someone else, hostile to apple, was the preferred platform for most apple developers, apple would have had a hell of a time pulling off a move like that.


Adobe cares, because Flash CS5 only generates ARM code, not secret-crackpot-processor code. In theory.


If this was their goal, they could just mandate a specific C compiler. You can originally write in Scheme, translate it to C with Chicken and use whatever C compiler you want to compile the result. There would be no affect on any platform-switching plans Apple might have.


I was under the impression that the A4 chip had been cut up, put under x-ray, etc and looked to be a fairly standard chip... not a C2D or similar.


> This incredible foresight will allow Apple to stay agile and maneuver in the face of what will be unrelenting competition

I mean, there's plenty of arguments on both sides of it — yay Apple can make changes on a whim, boo my custom-baked solution makes me so productive — but calling it "incredible foresight" is a little overzealous. From Apple's perspective, they want an additional element of control, and to call it a huge breakthrough is a bit magoo.

That said, Apple's not quite the type of company to be overly tied-down in the first place. These are the guys that ripped Carbon out from under a lot of people. Sure, it was clear Cocoa was getting all the TLC, but not a lot of companies would yank an established API quite that quickly (particularly with relative giants like Adobe sitting on it).


"Ripped Carbon out"? ... well, yes, but they gave people many years of warning, and still support it in 32-bit mode in 10.6.


Sound like bullshit. Apple didn't mandate the use of XCode, they mandated the use of C, C++, or Objective C. They also said you can't use a layer that generates C, C++, or Objective C.

If all they want is for you to use their compiler/linker, etc. then there should be no reason you can't use a tool that compiles actionscript, javascript, lua, etc down to C code which you then compile with Apple's compiler.

Face it, there are no credible explanations for the new TOS other than simply blocking a competitor (ie, Adobe) from having access to your platform.

Frankly, I'm more than a little surprised to see such a pro-free market crowd as HN so supportive of the new iPhone TOS.


The free markets argument in favor of the new TOS: it's a free market, and Apple should be able to ship whatever product they want.


I don't believe we've heard anyone calling for the government to step in and force them to. But people are free to express why they think its a bad idea, for them and for Apple (in the long term), just as you are free to disagree with them.


That's a straw man. Nobody's saying you can't have opinions. I'm just commenting about a particularly flimsy opinion.


The itouch had some undisclosed bluetooth in it that was enabled by subsequent software. Could the A4 chip be housing more than one core? ARM, and something else as well, to be activated by software later? They're already taking a bath on the unit as a long-term investment, so anything's possible.


I have doubts that Apple is planning to switch to ARM from Intel if for no other reason that ARM is not 64bit and from what I recall it's not in the roadmap. This works fine for small devices but obviously won't work for anything larger. I doubt a PAE-style kernel is a legitimate option.


Why would you need 64 bit addressing on an iPad?


Basing their OSs on Unix is what enables Apple to switch architectures rather easily. Moving OS9 to Intel would be a huge undertaking, much bigger than the 68K to PPC migration of OS7, mostly because the huge performance gap wasn't there. By that time, NeXT's environment had been successfully ported from 68K to SPARC, HP-PA and x86 (I can't remember if MIPS was in the lot too) running over at least three different kernels (Solaris, HP/UX and it's native kernel ported to x86). The PPC port and the resulting OSX was one more in a series of successful ports (and built on work that ported the Mach kernel to PPC that ran under MkLinux - I used it).

Having a clearly defined architecture-neutral API sitting over a portable kernel is the way to go. In fact, it has been the way to go in the Unix world since about the time I was born. ARM is the winning ISA this week, but betting the farm on it being the winning ISA forever is just silly.


What a load of tosh. XCode is an IDE, not some magical tool that spits out some iPhone/iPad compatible file.

Aside from that, if Apple planned to change architecture then having apps running on a translation layer (Flash etc) would actually be beneficial.


The iPad crash reports claim to be ARM. symbolicating an iPad crash report with the wrong architecture would produce garbage.


s/XCode/Xcode/g




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

Search: