Book sales mark shift toward Mac, iPhone development
A report on the computer book market, published by O'Reilly's Mike Hendrickson and based on Nielsen Bookscan retail sales data, reflects the overall status of the computer industry itself and the economy in general. Hendrickson described the report as "lots of bad news peppered with small glimmers of hope."
Growth in Mac programming book sales
Within the top 121 categories of computer books, the report cited only 8 subject areas that could claim a year over year increase in sales during the first six months of 2009.
Within that short list of recession-defying growth was Mac programming, Objective C, online video, mobile programming, and open source topics, providing additional evidence of the significant shift in interest toward iPhone development. While none of those growth categories could claim a place within the top twenty in terms of units sold, the historically popular subjects all experienced major declines.
The data showed that books related to 'Windows consumer' experienced the greatest decline year over year. Sales of books on the Mac OS also fell significantly, although the market for Mac-releated books is and continues to be significantly greater than half as large as the market for Windows books, a sharp discrepancy from published market share figures of actual PC sales, where Macs account for less than ten percent of US sales.
Objective C takes off
At the same time, interest in Objective C, the language used to develop both iPhone apps and Mac programs, has grown dramatically from a "a small (low unit sales) language into a large (high units sales) language," Hendrickson wrote.
Apple's unique use of the Objective C language has tended to isolate Mac development in contrast with more mainstream computer languages such as Java or C++/C#, despite Objective C being a superset of C that many programmers claim is relatively easy to learn. Mac applications can also be written using more common languages such as Java or plain C, although some knowledge of Objective C is needed to make full use of the Mac's Cocoa frameworks.
On the iPhone however, Apple has made Objective C the required development language, and has taken steps to prevent third parties from installing alternative runtimes. This complicates efforts to simply port over existing Java apps, for example, requiring developers to get familiar with Apple's own Xcode environment and the standard but often less familiar Objective C language.
Without an installed base of millions of eager software buyers using the iPhone and iPod touch, Apple's Objective C iPhone development strategy would likely have dampened developer interest outside of core Mac developers already familiar with the language, the same way Apple's very novel development environment for the 1994 Newton Message Pad, which was not even familiar to Mac developers, appeared to stifle interest in writing apps for it, which in turn did nothing to induce additional device sales.
Objective C is becoming a hot programming language. | Image credit: O'Reilly.
In creating a new generation of Objective C programmers with the iPhone, Apple is also widening the audience of developers qualified to write native Mac applications, which use identical development tools and very similar frameworks to those used to build iPhone apps.