Sure I've had my moments of App Store frustration, but all in all, I haven't been as offended by it as a lot of folks. I think that's because I felt that Apple was giving me something that I couldn't easily find elsewhere (single point of distribution that everyone knows about, very few taps for users to install my apps, the ability to easily charge for apps), so I was okay if they were a little particular about the terms.
But this is different. Apple telling us programmers not to write source to source compilers, is telling us to ignore a totally fundamental technique in computer science. They're telling us not to be too clever, which us programmers don't take kindly to.
I'm puzzled, since Apple has been shutting off fundamental techniques in computer science since day one. Today it's Flash compilers. Yesterday it was access to the filesystem, things that run in the background, etc.
I half agree. The filesystem is just a device. No running in the background is kinda icky, but that doesn't seem like a computer science kinda thing. (not that multitasking isn't hard, it's just not the first thing that jumps to mind when thinking of simulating things on a turing machine)
Language to language translation, that's core. that's fundamental to CS.
The most popular virtual machine ever is the regular expression interpreter. It's such a, fundamental thing. Nothing to do with a particular set of hardware or instructions, just the concept of interpreting match, split, jmp, and char.
I'm having a real hard time understanding how to write C without unions of tagged structs... Maybe that's allowed? I just don't get where one language ends and another begins. how much can i abuse the macro preprocessor? have you ever seen the bash source with BEGIN END blocks? it's sick.
Of course #define is nothing compared to c++ templates. If i just write scheme as partially applied templates, am i cheating?
Yes, denying filesystem access (well, raw filesystem access--Apple gives you access to the "Documents" directory, etc), may be offensive to some, but for me this falls under the category of "sure, it'd be nice if it did more, but I'm not gonna be mad about it." The TI-82 programmable calculator didn't allow me to reprogram my keys or to redefine the built-in math operations, but that didn't make me love that device any less.
The "originally written" requirement is different because it's not something that Apple could restrict by means other than by telling us, "you can't do that." It's kind of like saying, "Don't program in a functional style", or "Use a model view controller architecture." Uhm, excuse me? I'll decide that for myself, thank you very much!
It's kind of like saying, "Don't program in a
functional style", or "Use a model view controller
architecture." Uhm, excuse me? I'll decide that for
myself, thank you very much!
I have some more examples, it is also like saying:
The easiest thing to do, is to simply refuse to
open any documents created with Microsoft Office
and Apple iWork, and then to send a short, friendly
email to whoever sent you the document, asking them
to send it again in OpenDocument format
The disconnect between the developer and customer is huge in the app store. Everything is skewed towards the customer having no relationship except with Apple. The deployment model, the communication channel, updates, everything goes through Apple. There have been a lot of blog posts (not sure of other sources) written about how to bridge this gap and connect with customers. I think in a lot of ways this is the same battle the TV networks are having with Hulu. Just like Hulu wants to be The Channel, Apple wants to be your one stop media and entertainment stop, and content producers are just anonymous and a dime a dozen.
True. That would be like Singapore telling us how to build a widget if we want to be able to ship it through their harbors and sell it on their territory.
Why does that really matter? If I sold chocolate covered bagels, and I was the only chocolate covered bagel store in town, do I have to serve you?
Or, if you wanted to open your own chocolate covered bagel store in the only mall within 30 miles, does the mall operator have to lease you space?
As a developer, I find the situation painful, but I think Apple views the appstore as their mall, and they want to control the image of their mall by holding the store keepers to a certain standard in order to promote a certain customer experience.
Depending on the country your store is in: yes, you would have to serve me unless you have a very good reason not to (like I'm a returning thief or troublemaker).
Have you read the damn article at all? Source to source compilers are now against the TOS. Sure you can do it and how would Apple know - but commercially you can't advertise a tool that does it. Forget what's going on INSIDE Apple, people are pissed off about what Apple is trying to do to those on the outside.
Pardon me? I was not commenting on the article, I was commenting on the comment which outrageously claims pure bullshit that:
… Apple has been shutting off fundamental techniques
in computer science since day one.
And it does not name "iPhone team", it says Apple. What I say is that the work Apple is doing on LLVM, Clang, GCD, OpenCL, Webkit, etc. proves otherwise. I would gladly forget what's going on inside Apple, but first, I don't know, and second, this was addressed to some commenter talking like as if he knows (which he don't).
So, thanks's for advice, but be advised to read the thread before commenting.
And apple is doing a lot in that field: Clang, LLVM, Grand Central Dispatch, OpenCL.
Amazing how many fail to see the forest behind the tree. Apple releases iPad and that's the end of computers, Apple bans Flash, and suddenly it's shutting down CS.
If you say Apple, even developers are going to talk about the iPhone, iPad or Macbook Pro before they get to any of that stuff.
If you say compilers and they somehow get to LLVM, how is it an Apple project? Because they hired some devs? That started years before Apple got involved. Is RoR an EngineYard project because some guys at EY worked on it? Is linux a google project because they hired some guys to work on it? And I highly doubt people are going to get all the way down to clang.
If people mention Webkit, few forget it is a fork of KHTML first.
If developers talk about the Mac OS X kernel they're going to at some point bring up BSD.
Apple is for open development only when it benefits them. And they are bad partners in it. They write bad software in general for other platforms.
We're not losing the forest because of the tree. It is a forest of trees that piss people off, and this just lit a match to the whole thing. If you found a couple flowers in there you like, it doesn't exonerate the forest. And frankly most of your examples are reasons to DISLIKE apple. Did you read Webkit's last release?
Where would be all these projects without Apple's involvement?
Why should I care, who started what?
In that case Adobe should be forever grateful to Jobs and Apple, because they helped them at the start, by suggesting business models and investing heavily while working on the project for LaserWriter and then creating the whole desktop publishing thing.
Adobe's Illustrator has its root in the work on Postscript, which was initially developed for Apple's LaserWriter.
Photoshop started as exclusively Mac product.
Adobe's (originally Aldus') Pagemaker at the start also was developed with Postscript and Apple's Laserwriter in mind.
By the same logic how is Flash a Adobe's product? Because they bought Macromedia?
And I highly doubt people are going to get all the way down to clang.
I think most people are missing the point. Of course this restriction is stupid. But in itself it's just that. Stupid.
But what is really incredible is the fact that apple enforces that at a moment where a whole lot of people's businesses depends on the features they just forbid. Every app developped with some sort of language layer is concerned, and there is a lot of them.
This is basically saying to every people doing business WITH them, we don't care about you, you're expendable. We don't care about your business and if something bothers us in the slightest fashion and you're in the way, we will drop you out.
I never developped for the iPhone. Thought about it sometimes. Unless things change, i never will.
But this is different. Apple telling us programmers not to write source to source compilers, is telling us to ignore a totally fundamental technique in computer science. They're telling us not to be too clever, which us programmers don't take kindly to.