Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Apple bans modular programming - Game of Life implementation not allowed (3dpancakes.typepad.com)
124 points by bensummers on April 12, 2010 | hide | past | favorite | 21 comments


Okay, this uproar has just passed the threshold of ridiculous. "No Private APIs" is well-understood to mean that you can't call undocumented system libraries, not that you can't implement your own. Can we as a community please go back to talking about something else now? Erlang, maybe?


I recommend you not ask people to post Erlang articles. I did that once and so many people submitted Erlang articles that pg banned me for causing an e-riot.


He banned you for that? Really? I was under the impression that such protests, when justly called for, were condoned by management.


Honest. I was a bit surprised myself. Oh well.

edit: This was my comment: http://news.ycombinator.com/item?id=775727


This time I'm half-anticipating a flood of articles about Apple banning Erlang from the iPhone.



What about an article about how you can't use erlang to write iPhone software?


Of course you can. The emulator is hand-coded in C so it is perfectly legal to run it. Now compiled erlang code is just binary data, the emulator handles it as such, and it isn't illegal for an app to generate data. So what is the problem?


The comments of the article say the term "Private APIs" isn't defined in the document. So, even if Apple actually meant "undocumented system libraries", that's not what its document strictly means. And until a judge says otherwise, we may want to stick with that strict (though silly) interpretation.

Anyway, this document changes nothing: Apple was able to arbitrarily ban any app from the very begining. They just want to appear legit.


This is a strawman, but an entertaining strawman, so have an upmod!

Sure, Apple theoretically could bar a Game of Life application if you actually built one with a board large enough to make a turing-complete automaton and then proceeded to demonstrate meaningful end user programs running on it.

I defy the author to tilt at the Apple Windmill: Write a Game of Life for the iPad with an actual Turing Machine running on it and write something that replicates some built-in functionality--like a calculator--running on top of that.

If the App Store rejects the Game of Life I'll publicly kowtow.


Nitpick:

AFAIK, the game of life (as a mathematical concept) is in itself a turing complete automaton, you don't need to explicitly simulate a turing machine with it, in the same way that you don't need to implement a turing machine on top of the lambda calculus to be able to express algorithms with it.

In practice, since all computers have a limited memory, they are in fact deterministic finite-state machines. So the size of the board/RAM/whatever constrains what you can do with it, but it is as true for Life as for any language or computer system.

From a practical standpoint, watching a board of Life is indeed about as interresting as watching a random memory block rendered on screen while your program is running... It's sometimes entertainging, but usually boring.

I'll admit I actually have Life on my iPhone :D


Not a nitpick at all, we are in agreement. I appreciate that in theory a GoL program is a turing complete automaton, just as in theory Apple could use one of its legal clauses to reject a GoL application from the App Store.

I was trying to hint that someone in practice writing an App using a GoL as a platform running a turing machine running an app is about as unlikely as Apple actually rejecting a GoL implementation for this reason.

Or in more pithy terms, "The gap between theory and practice is narrower in theory than it is in practice."

p.s. Speaking of theory... One of my favourite books is "The Recursive Universe: Cosmic Complexity and the Limits of Scientific Knowledge," wherein the Game of Life is used to discuss complexity, self-replication, and other fascinating topics:

http://www.amazon.com/gp/redirect.html?ie=UTF8&location=...


I think you're missing the point of a reductio ad absurdum argument. Very often, it's easy to overlook the flaws in something because we have a viewpoint that makes them look smoother than they really are. Reductio ad absurdum grabs your head and jerks it to an unnatural angle where you're looking at the flaw head-on. This precise case is not likely to happen in practice, but that doesn't matter, because the value of the situation is in helping us see a problem.

If you want to see an example of where this approach might have helped, look at the children convicted of making kiddie porn for taking cell phone pics of themselves. You could have brushed off reductio ad absurdum arguments by saying, "Oh, that precise situation is so unlikely," but the flaws are real just the same.


I feel like this is pretty clearly a joke, and should be taken in the spirit in which it was intended: for laughs.


[deleted]


Nitpick: You will probably not have enough RAM to make your GoL simulation an acceptable Turing machine.


As dfranke says, "private APIs" are CocoaTouch/NS_* objects and methods Apple uses that you aren't allowed to (yet).

This article is factually false and should be downmodded.


You know what would be funny? If someone makes a fully fledged javascript flash player - http://paulirish.com/work/gordon/demos/


That would actually be ok and I would be surprised if Apple cared one way or another. Why? because such a thing would run inside Mobile Safari and/or Webkit. It couldn't run roughshod with the CPU any more than Mobile Safari/Webkit already allows its JS interpreter.

The only way this could really irritate Apple would be if you wrapped the whole thing up with PhoneGap or something like it. have at it of that interests you!


Again, I know this is a sarcasm post, but do we really need another one on HN for Apple TOS 3.3.1. I think it's time to move on and until there an instance of Apple rejecting an app that violates 3.3.1. I honestly think Apple wouldn't ban tools like Unity3D, etc but Adobe CS5.


Well, he makes one useful point at the end. So why are turing machines allowed in the app store?

http://itunes.apple.com/us/app/turing-machine-simulator/id30...


Selective enforcement.




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

Search: