Forgot your password?
typodupeerror
Iphone Programming Apple Your Rights Online

Steve Jobs Weighs In On iPhone Programming Language Mandate 711

Posted by timothy
from the he's-in-favor dept.
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.'"
This discussion has been archived. No new comments can be posted.

Steve Jobs Weighs In On iPhone Programming Language Mandate

Comments Filter:
  • Good Stuff (Score:2, Interesting)

    by QuantumG (50515) * <qg@biodome.org> on Sunday April 11, 2010 @08:17AM (#31806942) Homepage Journal

    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.

  • Old trick (Score:1, Interesting)

    by Anonymous Coward on Sunday April 11, 2010 @08:19AM (#31806952)

    And how about the old trick of a meta-language that generate C source code?

  • by verucabong (1008319) on Sunday April 11, 2010 @08:23AM (#31806970)
    With decisions like this, I tend to give the benefit of the doubt and assume good intent. Given that, is it possible that Apple just wants the best thing for their platform? Yes, some of the AppStore policies are draconian and not so dev-friendly, so it's hard to assume that here. But, it could be said that the iPhone got so far ahead because of its intuitive interface, stable apps, and overall good quality. Given that, wouldn't ratcheting the list of app frameworks down to the native ones be the best way to start with great apps and that consistent iPhone experience?
  • by WrongSizeGlass (838941) on Sunday April 11, 2010 @08:30AM (#31807010)

    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

  • by cbreak (1575875) on Sunday April 11, 2010 @09:01AM (#31807206)
    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.
  • by bcmm (768152) on Sunday April 11, 2010 @09:02AM (#31807216)
    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.
  • by PortHaven (242123) on Sunday April 11, 2010 @09:09AM (#31807256) Homepage

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

  • by linds.r (895980) on Sunday April 11, 2010 @09:24AM (#31807344)

    Forcing me to use a specific programming language is insane. Imagine Microsoft demanding all windows apps to be written only in C# and compiled only with Visual Studio. It would be an outrage. But hey, it's Steve Jobs, the Big Brother himself, and he knows what's best for us, right?

    Is this asinine? You are aware Microsoft is demanding all Windows Phone 7 apps be written in C#/Silverlight, right? I may not agree with their move, but to say it puts them alone on a pillar of evil seems to show your own bias more than any factual opinion.

  • Re:c# / monotouch? (Score:3, Interesting)

    by elnyka (803306) on Sunday April 11, 2010 @09:29AM (#31807370) Homepage
    http://www.youtube.com/watch?v=bB93-xeFJ40&feature=related [youtube.com] 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.

  • by moonbender (547943) <moonbender@gmai l . com> on Sunday April 11, 2010 @09:31AM (#31807378)

    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.

  • by Mr. Spontaneous (784926) on Sunday April 11, 2010 @09:31AM (#31807380)

    Flash on OS X is crap because Apple refused to give the plugin the kind of low-level access it needed. The newest version does a lot to ameliorate that. Flash 10.1 (now in RC) uses Core Animation, so you should see a significant improvement in performance.

  • by tk77 (1774336) on Sunday April 11, 2010 @09:46AM (#31807464)

    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).

  • by jonwil (467024) on Sunday April 11, 2010 @09:48AM (#31807478)

    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?

  • by John Betonschaar (178617) on Sunday April 11, 2010 @09:55AM (#31807520)

    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?

  • by drinkypoo (153816) <martin.espinoza@gmail.com> on Sunday April 11, 2010 @09:58AM (#31807550) Homepage Journal

    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.

  • by the_raptor (652941) on Sunday April 11, 2010 @10:03AM (#31807564)

    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.

  • by dotwhynot (938895) on Sunday April 11, 2010 @10:10AM (#31807616)

    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 [flickr.com].

  • by TheRaven64 (641858) on Sunday April 11, 2010 @10:38AM (#31807786) Journal
    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.
  • Apple screws Adobe (Score:3, Interesting)

    by rxan (1424721) on Sunday April 11, 2010 @10:38AM (#31807790)

    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.

  • by bigstrat2003 (1058574) * on Sunday April 11, 2010 @11:08AM (#31808004)

    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.

  • by Anonymous Coward on Sunday April 11, 2010 @03:57PM (#31810586)

    There really is no "computer science" basis for Apple's decision.

    True, but there is a Software Engineering rationale for Apple's decision.

    I run a software engineering department. Yep, many of my guys have computer science degrees, but we're in the business of putting rubber on the road.

    The more good, reliable, maintained tools, the better. However, by far, most tools are not good, reliable or maintained. These tools are rarely good for the practice of software engineering. And almost every software engineer I know has been screwed at one time or another by such pretenders.

    The short answer is that designs last for a long time, but if your product needs to have a life, be nimble enough to shift away from any 3rd party tool at any time. Otherwise, an acquisition, bankruptcy, or mere business decision by a 3rd party can literally kill your business. There are almost zero businesses that want to lock themselves into any platform... including Flash, Sharepoint or the iPhone.

    Developers that were able to quickly get their sophisticated game software on the iPhone did it because they have awesome design practices that let them reuse their designs on any platform. The easy part was writing the code.

  • by shutdown -p now (807394) on Sunday April 11, 2010 @04:09PM (#31810702) Journal

    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.

  • by ensignyu (417022) on Sunday April 11, 2010 @05:55PM (#31811606)

    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.

  • by exomondo (1725132) on Monday April 12, 2010 @12:50AM (#31813916)

    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'.

  • by Kryptonut (1006779) on Monday April 12, 2010 @12:57AM (#31813950)

    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.

"In order to make an apple pie from scratch, you must first create the universe." -- Carl Sagan, Cosmos

Working...