5 ms·
There are many good applications written in something other than C, Objective-C, C++ or JavaScript available for iPhone. Any examples? I'm genuinely curious s
by mrduncan 17y ago
There are many good applications written in something other than C, Objective-C, C++ or JavaScript available for iPhone.
Any examples? I'm genuinely curious since I've heard that a few times already today but haven't heard of any specific examples.
- tumult 17y agoAnything with a parser. Anything that uses Quartz 2D (a drawing library that uses the C preprocessor, in Cocoa/UIKit.) Anything with C preprocessor macros above a certain unknown threshold (hey, Objective-C was originally just a bunch of macros!) Anything that implements its own memory management scheme. Probably 90% of non-trivial games, and 100% of the good ones. (Almost all good games utilize their own runtime implemented in either C++ or other fast language, abstracted into a higher level set of primitives for the game designers to work with.)
- joubert 17y agoAnd you think Apple will institute a policy that kills off 100% of the good games on their platform?
- tumult 17y agoThey already did. Now they get to choose when to apply it, arbitrarily.
- barrkel 17y agoIt appears that the lawyers want to, yes.
- doki_pen 17y agoAnd why have you concluded that the clause is made by evil lawyers (who Apple hires) and not by the business? Can I really do anything I want in life, and if I'm criticized, I can just claim, "my lawyers made me do it"?
- flyosity 17y agoQuartz 2D is Apple's C-based graphics drawing framework, mentioning that is irrelevant here. I still haven't seen anything specifically mentioned that's not written in C. You mentioned using Lisp & Haskell to write iPhone apps, which ones are those? Who else is doing this and which apps have they published?
- tumult 17y agoQuartz 2D is Apple's C-based graphics drawing framework, mentioning that is irrelevant here. Quartz 2D is written in the C preprocessor language, not primarily C. To use it, you mostly use C preprocessor directives, not C. It's then translated into C by a compiler, before being compiled by the actual C compiler. I still haven't seen anything specifically mentioned that's not written in C. Other people have. Tons of applications, probably tens of thousands at the very least make direct use of some kind of abstraction tools. Hundreds of thousands (or all) if you take Apple's clause literally. You mentioned using Lisp & Haskell to write iPhone apps, which ones are those? I'm not obligated to tell you. Who else is doing this and which apps have they published? Is this a serious question?
- erydo 17y agoYou're making a lot of claims without citations. flyosity's absolutely correct to question them, and if you're serious about what you say, then yes, you are obligated to back them up in some way.
- tumult 17y agoCitations: Quartz 2D: Read Apple's library docs or headers. Publicly available. No other devs have stepped up to question this claim. Dead obvious if you use it. My own apps: I'm not obligated to tell you. If that pisses you off, sorry, then just ignore that part of my claim, I don't care. Who else is doing this: Any game made with Unity. Any game made with Mono. Any game made with Lua. Any game made with its own runtime. Any game made with Python. Any game with an advanced preprocessor. Any game that manages its own memory. Any software with a parser not written directly by hand with C arrays (i.e. any that are worth a shit.) Any software that uses C macros (all of them.) Any software that uses garbage collection. Any software that uses Core Data (violates their own rules.) Any software that has linked in a regex library. Things that would not have been created had their creators had to work with the same limitations they now impose on others on their platform: every single part of their toolchain. Objective-C, graphics, the compilers, everything.
- ryanpetrich 17y agoA specific example: Canabalt (fresh take on the "platformer" genre)
- ericjohnson 17y agoThough the flash version of Canabalt is written in ActionScript 3, the iPhone version is written 100% in Objective-C. Take my word for it, I personally did the iPhone port.
- tumult 17y agoDo you think you could have ported a non-trivial game with Objective-C? How about something like Braid, which is slightly less straightforward?
- ericjohnson 17y agoI don't think it necessarily matters how trivial the game is. If the game is more complex, then it is just a matter of requiring more time to do the port. Canabalt took just under two weeks to port. Something like Braid would likely take significantly longer.
- ryanpetrich 17y agoI was unaware of that. From what I gleaned using class-dump, it appeared that you were using a custom version of flixel that retargeted Objective-C. My mistake. (also, nicely done. the iPhone port is very slick)