Ed Burnette, regarding Steve Jobs’s statement that “Java’s not worth building in. Nobody uses Java anymore. It’s this big heavyweight ball and chain.”
Perhaps someone should tell Steve about one of the advantages of
supporting Java: managed applications in Java or .Net are inherently
safer than unmanaged applications. Unmanaged applications, written
in languages like C++ or Objective C (the standard OSX programming
language), are closer to the hardware and can suffer from problems
like wild pointers, buffer overruns, and incorrectly using
deallocated memory. Managed applications don’t have pointers and
leave memory management to the virtual machine they run in.
They also have the advantage of being compiled once into a portable
intermediate representation (bytecode) that can be run on any
hardware architecture. C/C++ applications must be built separately
for each and every architecture you want to support.
Steve Jobs doesn’t give a shit about pointers. And he most certainly
doesn’t give a shit about apps written for multiple platforms. What
would an app written for cross-platform compatibilty look like on an
iPhone? No other phone has a UI even vaguely like the iPhone’s. The
only apps on the iPhone are Dashboard widgets and apps written
specifically for the iPhone using Cocoa. This is to be considered a
feature, not a limitation. If you consider it a limitation, the
iPhone is not for you.
Jobs’s stated fear that opening the iPhone to third-party software
might bring down Cingular’s network, on the other hand, sounds like
poppycock. Plenty of other phone platforms allow third-party apps to
Also, regarding memory, it’s entirely possible that the iPhone’s OS
X supports Objective C 2.0 with garbage collection. That’s not the
same thing as Java-style managed code, but still.
★ Monday, 15 January 2007