Did Apple Make A Mistake Choosing Objective-C For iPhone SDK?

One of my favourite sayings is a quote from Sun’s CEO, Jonathan Schwartz – different isn’t always better, but better’s always different. So, I’m a fan of a lot of the super-innovative work that Apple does. However, their thinking is sometimes different to the point of not making any commercial sense. The iPhone is a case in point.
For example, it took a long time for Apple to even realise that it needed to release an SDK for the iPhone. What they were thinking, I have no idea, given it’s a blindingly obvious requirement. Surely everyone knows by now that “innovation happens elsewhere”. Or, to put it another way, it was clear from the word go that Apple wouldn’t have the resources to develop every iPhone application people would want to use; witness the popularity of third-party apps on “jail-broken” iPhones.
Recently, Apple bowed to the inevitable, and has released an SDK for developer testing. The language they chose to base the SDK around is Objective-C. This wasn’t a complete surprise – after all, it’s the “native” language of Mac OS X. However, while it’s not a surprise, I wonder if it’s not a major strategic error on Apple’s part. The point is this: the Mac is a niche platform, and is especially niche in terms of numbers of developers building applications in Objective-C. Compare that to iPhone, which because of its technological lead, has the chance to become a major volume player in the mobile phone space. If Apple wants iPhone to succeed, it seems strange to attempt to force developers to use an unpopular language for programming it. That isn’t the way to win – developers have many, many choices of platforms they can spend time developing for.
Note that I’m not saying that Objective-C is a bad language. I’m just saying it’s unpopular. How unpopular? Well, the TIOBE Programming Community Index for April 2008 has just been released. Here’s the list, in order (most popular first), of programming languages that are more popular with developers than Objective-C.
- Java
- C
- Visual Basic
- PHP
- C++
- Perl
- Python
- C#
- Ruby
- Delphi
- JavaScript
- D
- PL/SQL
- SAS
- Pascal
- Lisp/Scheme
- FoxPro/xBase
- COBOL
- Ada
- ColdFusion
- Logo
- Lua
- ActionScript
- Fortran
- RPG
- MATLAB
- Prolog
- Awk
- Transact-SQL
- ABAP
- LabView
- Erlang
- Groovy
- Smalltalk
- Haskell
- PL/I
- Bash
- Objective-C
By this measure, almost any language would be a better choice than Objective-C if the goal is to attract developers to a platform. I think it would be smart for Apple to now to think about releasing SDKs in more popular programming languages. Which one should be next? Look at the list above. Decisions like this really aren’t, or certainly shouldn’t be, rocket science. And no – the answer isn’t Tcl/Tk


Did Apple Make A Mistake Choosing Objective-C For iPhone SDK? at Simon’s Blog » Weblog of a "Switcher" on 26 Apr 2008 at 3:33 am
[...] Did Apple Make A Mistake Choosing Objective-C For iPhone SDK? at Simon’s Blog: “DID APPLE MAKE A MISTAKE CHOOSING OBJECTIVE-C FOR IPHONE SDK? [...]
Simon Sez (ObjC flame) « frameworker on 26 Apr 2008 at 3:40 am
[...] Sez (ObjC flame) This is “duh!” on so many [...]
TomsTechBlog.com on 26 Apr 2008 at 7:53 pm
Objective-C: Savior of the iPhone…
All leading to the question: Did Apple make the right choice by using Objective-C?
My answer, of course they did.
In fact, they made the choice that will probably save the platform in the long run. You see, developers can be a greedy lot. Th…
Closer To The Ideal » Blog Archive » Maybe hecl is the new Applescript? on 09 May 2009 at 1:43 am
[...] I would love to be able to write apps for the iPhone. But I don’t want to have to learn the Object C language. I don’t have the time. I agree with Simon Brocklehurst’s criticism of this decision: [...]
Starting iPhone Devlopment « factornine weblog on 25 Aug 2009 at 9:25 pm
[...] language for writing iPhone applications is Objective-C, I previously heard bad things about the language but after a little confusion I’m getting used to it and it’s seems [...]