Slashdot Mirror


Steve Jobs Weighs In On iPhone Programming Language Mandate

Dotnaught writes "Greg Slepak, founder of software company Tao Effect, wrote Apple CEO Steve Jobs to complain about Apple's mandate that iPhone applications be originally written in C/C++/Objective-C. Job's response was to endorse a post by John Gruber on the Daring Fireball blog. Jobs called it 'very insightful,' suggesting Gruber's prediction that third-party iPhone development tools are out might be right. Jobs sent a second reply that also doesn't bode well for third-party iPhone development tools: 'We've been there before, and intermediate layers between the platform and the developer ultimately produces sub-standard apps and hinders the progress of the platform.'"

20 of 711 comments (clear)

  1. Good Stuff by QuantumG · · Score: 2, Interesting

    As Jobs can do no wrong, I suggest that he load some more requirements and restrictions on iPhone developers.. oh, and maybe someone can let me know, can Apple remotely delete apps off iPhones? If not, they should get on that. Customers *love* that.

    --
    How we know is more important than what we know.
  2. Re:They want devs to choose by WrongSizeGlass · · Score: 3, Interesting

    the real choice is "write for iPhone, or write for every other platform".

    Unfortunately, this is result of Apple's decision (whether it was their intent or not). Until the Apple App Store isn't the "biggest market available to the mobile developers"* they will have to make a decision: iPhone first, iPhone only or everything else.

    I still think Apple will blink on this issue (a very small 'blink') and give up a little bit of this ridiculous effort. Small dev tools will still be allowed but Adobe will still be out.


    * the largest market place to sell their apps, not the largest mobile platform

  3. Re:Welcome to the new world! by cbreak · · Score: 2, Interesting

    Since when is the size of a company measured on the stock market? That makes no sense at all... User base, number of employees, that would be a reasonable measure.

  4. Re:They want devs to choose by bcmm · · Score: 2, Interesting

    It doesn't need to become "not the largest single marketplace", it only needs to become "not more than 50% of the app market". At that point, it would become more effective to use cross-platform tools to target everything else at the same time.

    --
    # cat /dev/mem | strings | grep -i llama
    Damn, my RAM is full of llamas.
  5. Re:They want devs to choose by PortHaven · · Score: 3, Interesting

    A little less than you hear gamers whine (or brag) that a game is only available on one platform.

  6. Re:c# / monotouch? by elnyka · · Score: 2, Interesting
    http://www.youtube.com/watch?v=bB93-xeFJ40&feature=related Just to clarify, it is technically feasible. It is technically "just there". But from Apple's standpoint, it makes sense to thwart it (and Flash). Not that we have to like it but it is Apple's right to make that decision.

    For all those people who don't like that (I can see some going NERDRAGE!!! APPLE BAAAAD!), then do your best to develop kick-ass applications on Android and BlackBerry above and beyond whatever technical problems those platforms might have.

  7. Re:They want devs to choose by moonbender · · Score: 2, Interesting

    Exactly! But there is no shortage of apps. The iPhone market is too large and wealthy to ignore.

    Developers have a choice: develop natively for iPhone OS, develop cross-platform (or natively) for other systems, or they might just do both*. Apple is betting many devs will either do both, or they'll drop the other platforms. Given how juicy a target iPhone OS is, particularly for commercial development, that's a fairly safe bet.

    And I have to agree that the average native application is of higher quality than the average cross-platform application; some examples to the contrary notwithstanding. This has been my experience on platforms -- for instance, Picasa (ported via winelib) is one of the better photo management apps for Linux, but the interface and integration is terrible. Many Java apps on my phone (Nokia 5800XM) suck compared to the native ones; and in fact having a touch screen phone makes using a lot of cross platform apps almost impossible. It's difficult to design a (phone) app in a way that it's polished on all platforms -- heck it's difficult enough to do it if the only difference is the screen resolution.

    --
    Switch back to Slashdot's D1 system.
  8. Re:Apple's hindering itself by tk77 · · Score: 2, Interesting

    Please explain how Objective C is god-awful. I actually find it a pleasure to use and find the Cocoa API's way more intuitive then the MFC ones. Please don't bring up C# and .Net. I can't stand THAT god-awful hack of a language and framework. I don't want to include, or make my users download such a large install just to to run a 1mb application.

    I've actually found the intellisense in Visual Studio fails on me way more often then in Xcode. Sure, in past versions intellisense in Xcode was horrible. But after doing a project in Visual Studio 2008 recently, I just gave up on the intellisense and kept the MFC documentation open on a second monitor. (Yes, it may be better in VS 2010, but that JUST came out. I still had issues with it occasionally and had to keep resetting it). Not to mention I find Apple's documentation and samples way better then Microsofts.

    Also, because Objective-C is just straight C with object oriented extensions (message passing), I can include just about ANY C library I want. I'm able to take libraries I've written for apps on Linux/Unix and link to them for iPhone apps (statically of course, but I can still use them as is).

  9. How will this affect emulators? by jonwil · · Score: 2, Interesting

    There are a number of emulators on the App Store such as the C64 one and IIRC some Genesis stuff (emulators that are OK under the previous rules because they don't have any way for the user to control the code being run by the emulator). Will such things be removed from the App Store by Apple?

  10. Re:Apple's hindering itself by John+Betonschaar · · Score: 3, Interesting

    1. Syntax is something subjective, and actually the way methods are invoked through messages is one of the key strengths of Obj-C that makes it so flexible without requiring all the complexity and pitfalls of of C++
    2. What do you not like about the way you have to define methods? You basically declare the method name and its signature and that's it. Which is like every other programming language
    3. How is XCode 'primitive'. It's actually the only graphical IDE that I've ever used and found to be somewhat tolerable. In my day-to-day job I use strictly gvim and the CLI, because no IDE I know of has enough positives to counter the many negatives that any IDE will have compared to having a powerful editor like gvim. But XCode comes pretty close, closer than anything I've used before. Calling it primitive makes no sense to me whatsoever
    4. There is no garbage collection in iPhone OS because it would be a bad choice for memory-constrained applications. You use the retain/release memory model, optionally with user-defined autorelease pools to mimic garbage collection while still having full control over object lifetime. Much like using smart pointers in C++.
    5. What is 'weird' about the way properties are defined? Just like your 'the way methods are defined is weird'-argument, your statement is basically void. Declaring a property basically involves declaring its name, type, its attributes and optionally any accessor methods. How is this weird and how would you expect this to work without sacrificing features like atomicity and automatic retain/release semantics?
    6. What di you mean 'the IDE is not integrated'? Integrated with what? The debugger is integrated, the editor is integrated, the build control is integrated, the interface builder is integrated, the instruments tools are integrated, I really don't get what you're talking about?

  11. Re:They want devs to choose by drinkypoo · · Score: 4, Interesting

    This is the one. He wants apps written for the iPhone, not apps that try to shoehorn some kind of cross-platform abstraction on top of the iPhone, because that usually sucks, and (at least in his eyes) it makes the iPhone look bad if the apps look bad.

    That's stupid because the iPhone does not differ substantially from other smartphones. It has a big touchscreen, just like the rest. There's no reason why an app written for a range of smartphones wouldn't look and work just fine on it.

    How many times do you hear gamers complain that a game is a crappy port because it is not properly written for the platform it is on, but instead tries squeeze in the functionality of some other platform? That is the exact thing he doesn't want on his platform.

    His platform? He can have it. I'd like a platform that belongs to the users, thanks. And Thank Google for providing one based on Free Software and Open Standards, not to mention Open Source.

    --
    "You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
  12. Porting is a totally different issue. by the_raptor · · Score: 4, Interesting

    The problem with console to PC ports is that consoles are designed with the limitations of game controllers in mind and so therefore are often "simplified" compared to native PC titles. That isn't what this is about. This is about porting between the different touch based smart phones which are all so similar in capability that it is like porting between Windows, Linux, or OSX (which works fine if you don't target a propriety platform to begin with). This is solely about Steve Jobs trying to turn his beachhead in the mobile market into an occupation.

    --

    ========
    CINC, 4th Penguin Legion
  13. iTunes for Windows is using non-native APIs by dotwhynot · · Score: 5, Interesting

    We’ve been there before, and intermediate layers between the platform and the developer ultimately produces sub-standard apps and hinders the progress of the platform.” -- Apple

    Is Apple actually calling iTunes for Windows for a sub-standard app? That perhaps should be banned from the platform? Apple themselves are using non-native API intermediate layers such as CoreFoundation and CoreGraphics in their implementation of iTunes for Windows.

  14. Re:They want devs to choose by TheRaven64 · · Score: 5, Interesting

    Not sure about Google, but we (GNUstep) have a project to implement UIKit. We already have pretty much all of the Foundation framework that the iPhone exposes, and our CoreGraphics implementation will hopefully to be finished as a result of this year's GSoC. A lot of UIKit is very similar to stuff we've already implemented for AppKit, so there's a lot of potential for code reuse. We've approached Nokia for funding the development of UIKit, with the N900 as a primary target, but if anyone at Google (or anywhere else) is interested in funding some of the work then please let me know.

    --
    I am TheRaven on Soylent News
  15. Apple screws Adobe by rxan · · Score: 3, Interesting

    Isn't Apple being a hypocrite here? Apple allows apps written in C/C++ but those, when designed correctly, can be ported to/from another supporting platform (ie: Android) in a matter of days. Furthermore Apple has a web browser and has been touting support for web apps and HTML5, yet the web is a definition of cross-platform content. There are plenty of tools and frameworks in web development (ie: Dreamweaver) that allow you to make websites easily. Apple allows those websites.

    It seems it comes down to a screw Adobe move.

  16. Re:Blink on this issue? by bigstrat2003 · · Score: 2, Interesting

    I'm torn, because while I don't really have the nerves to stomach another episode with those terrifying bastards... the episode is going to have River Song, so it'll have important story material (and it's a two-parter, as well :/).

    Honestly, that's my least favorite thing about having Steven Moffat write the show... he always wrote the really scary episodes, and I have no stomach for that sort of thing.

    --
    "16MB (fuck off, MiB fascists)" - The Mighty Buzzard
  17. Re:Qt was hit hard as well by shutdown+-p+now · · Score: 2, Interesting

    Qt requires several extensions to C++ (signals/slots and RTTI, mostly) which are implemented by a translator from "Qt C++" to plain C++ - the tool called "moc". And Apple banned all translation tools, with no regard to what language is fed as an input to them.

  18. Re:Welcome to the new world! by ensignyu · · Score: 3, Interesting

    It's not really that new of a market. Windows Mobile and PalmOS allowed you to install any apps you want.

    The only real difference is that the iPhone has a central app store. I think it makes sense for Apple to have rules about what they sell on the App Store. The problem is that you can *only* get apps from the App Store, you can't install apps from anywhere else.

    I don't buy the argument that people really want a locked down platform. They might be willing to put up with it, since it's the only way you can play (true for both consoles and now the iPhone), but it's mostly only Apple who's benefiting, not us.

    People who really want a walled garden can just stick to installing stuff from the app store and not do any sideloading. Android I believe has a toggle switch to allow installing non-market apps.

  19. Re:None of this would've happened... by exomondo · · Score: 2, Interesting

    Just because you can do something doesn't mean you should. Phones aren't gaming consoles. Yet they are used as one now. Does that make games a good fit for phones? No, it just means you can do it. I didn't say the games weren't good. I said they aren't a good fit for the medium (which is poorly supported on any non-Windows platform).

    But that depends solely on what games you are talking about, many games ARE fit for and even SUPERIOR on that platform. For example Angry Birds, great on a touchscreen phone, would be awful on a console. Conversely Nazi Zombies, great on a console, rubbish on a touchscreen phone. There is no rule that 'games suck on X platform and are great Y platform'.

  20. Objective-C to Language X instead? by Kryptonut · · Score: 2, Interesting

    People are complaining "I can't write my app in precious language X and cross compile it (or whatever conversion they do) to run on iPhone" whether language X be Java, Flash or whatever.

    Has anyone ever considered going to other way? Write something in Objective-C and cross compile to other platforms? Hell, most of the specifications are open, we even have GNUStep! It's really not THAT complicated a language, C with a Smalltalk style OO model strapped to it and a few libraries.

    Why not have a converter that takes an Objective-C iPhone app's code and converts it to Dalvik, .NET or whatever your other targets are, instead of moaning because you can't write your app in Java or whatever you pick?

    Seems to be all one sided, even lazy, if you ask me. Objective-C isn't THAT hard to learn, and the majority of specs are open.