4 ms·
Gruber gets this mostly right, especially about vendor lock-in and abstracting on top of the platform as a whole (i.e. multiplatform, write-once apps.) Where h
by tumult 17y ago
Gruber gets this mostly right, especially about vendor lock-in and abstracting on top of the platform as a whole (i.e. multiplatform, write-once apps.)
Where he gets it wrong is here:
IPHONE DEVELOPERS: No change. If you’re a developer and you’ve been following Apple’s advice, you will never even notice this rule. You’re already using Xcode, Objective-C, and WebKit. If you’re an iPhone developer and you are not following Apple’s advice, you’re going to get screwed eventually. If you are constitutionally opposed to developing for a platform where you’re expected to follow the advice of the platform vendor, the iPhone OS is not the platform for you. It never was. It never will be.
There are many good applications written in something other than C, Objective-C, C++ or JavaScript available for iPhone. In Apple's hubris to strike down Adobe and other opponents, they've caught many well-meaning developers in the crossfire. Especially in regards to independent and startup developers, being able to choose your tools -- tools that otherwise obey every other rule in the developer program -- is hugely important. I think most HN readers will resonate with this claim.
I can't stand Flash. I also don't much like plain JavaScript. I prefer to write applications in a mix of C, Scheme/Lisp, or Haskell. I can probably write faster and more stable iPhone apps with these tools than a 10-man-strong team can with C and Objective-C. I definitely cannot write faster and more stable iPhone apps with C and Objective-C than a 10-man-strong team can with C and Objective-C.
Apple's banning of languages other than "The Three Cs" strikes developers as egregious because we know how much the language you use affects how you think. Apple is telling us, now, how we should be thinking when we solve problems. They are asking us to agree to use only an approved set of thoughts.
They have a right to, it's their platform. We also have the right to walk away from this self-imposed kiddie pool, and go back to the ocean to ride the big waves.
- mrduncan 17y agoThere 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?
- jrockway 17y agoIf Microsoft said "No Windows 7 Mobile apps that aren't C++ or C#" we'd just shrug, and say, "well, that's Microsoft for you." Microsoft would never do this. They are the "developers, developers, developers" company, after all. They even invest money in programming language research and actually make the academic stuff production capable. Apple just adds half-baked features to dead languages. "Yay."
- tumult 17y agoYou're right, but I had already removed that paragraph before you commented.
- joubert 17y agoI prefer to write applications in a mix of C, Scheme/Lisp, or Haskell. I can probably write faster and more stable iPhone apps with these tools than a 10-man-strong team can with C and Objective-C. Have you?
- tumult 17y agoYes.
- patgarner 17y agoWe should just take your word for it?
- tumult 17y agoIf you don't want to, you can just ignore my comment.
- joubert 17y agoCan you probably, or have you actually build in shorter time (or did you really mean apps that run faster) apps that are more stable than that created by a 10-man strong Obj-C team for the iPhone? If so, would you say it was a function of the quality of the other programmers, or could it be distilled to purely tools? Genuine interest (since I love languages for their own sake and the expressiveness they allow): what tools + languages did you use?