After years of being infamously unfriendly to casual programmers, the Macintosh has suddenly become the machine of choice for out-of-the-box programmability—with tools that not only generate great-looking Macintosh applications but that also generate them in Java so you can take them anywhere.
Apples Java team showed me their latest work at last months JavaOne conference, where I discovered that the Apple Project Builder development suite is now included on every new Macintosh. Previously, these tools came only with the retail version of Mac OS X, but now, theyre available (though not pre-installed) on every new Apple machine.
Apple has done a tremendous job of making Java code run well—really well—on the Mac, supporting such refinements as hardware graphics acceleration and anti-aliasing in a way thats completely transparent to the programmer (www.apple.com/scitech/stories/java). Like the very first Macintosh, which gave priority memory access to the built-in ROM Toolbox user interface code, the Mac OS X Java implementation gives developers a lot of leverage. Dont be surprised if a Java application on Mac OS X—especially one with a lot of graphics—appears more responsive than a native-code application on a Windows machine with twice the clock speed.
Kudos to Apple for putting a "P" for programmability back into the definition of "PC." There was a time when any PC was, right down to its ROMs, a programmable device—with at least rudimentary tools built in. That tradition of "tools included" began to fade with Windows 95 and Windows NT 4.0, which made you rummage through legacy code directories even to find a text-mode BASIC interpreter. As of Windows 2000, even that facility disappeared.
By that time, I was writing Java rather than BASIC, and Java ran much better on Windows 95 or later than it did on the Mac before the arrival of OS X. I suppose thats why I didnt make a fuss. Today, though, theres a better way: a Unix-family operating system, with a first-rate graphical interface, supported by commercial applications, with a mainstream development language. Write on the Mac, "Run anywhere."
Tell me why not to go back to the Mac at email@example.com.