On Aug 23, 2006, at 6:32 AM, Wagner Truppel wrote:
Elliotte Rusty Harold wrote:
But it's not 1987. It's 20 years later. Given the lack of legacy
code in Objective C and the few programmers who know it, wouldn't
it have made sense for Apple to choose a more modern language for
their platform? One that had learned from the mistakes of C, C++,
and Objective C?
If Apple had chosen to go with C++, then I would have understood
their reasoning. They were choosing familiarity over perfection.
However since they chose a language almost everyone was going to
have to learn for the first time anyway, they could have made a
much better choice than Objective C.
Cocoa is really an outgrowth of NeXTStep (and that's why many of
the Cocoa classes start with NS).
Recall that Apple bought Jobs' NeXTStep company in Feb 1997 and
that Jobs became Apple's interim CEO only a few months later, at a
time when Apple was not doing so well due to Amelio's abysmal
performance as CEO (Apple had missed beating Windows 95 to the
market, and Copland was a big failure).
This is an understatement. The Copland fiasco nearly killed Apple.
They had spent so much money, wasted so much time, and lost so much
market share that there was no other feasible alternative but to
acquire an existing operating system to replace the Mac OS 7
codebase. At the time, BeOS and NeXT were both candidates, and they
chose NeXT. This was at the end of 1996.
At this time, Java was just gaining awareness as a technology for
adding interactivity to static HTML pages, and was primarily
positioned as a browser plug in for providing graphical animations
and sound to web sites.
My point is, that in 1997 when Apple began to integrate NeXT
technology into what would become OS X and Cocoa, Java was not the
huge success story that it is today. There would have been no
compelling reason for Apple to rewrite the NeXT libraries from
scratch using a still-emerging and untested new language, especially
given their recent experience with the failure of Copland. There are
many good articles on the net that discuss why rewriting a working
application from scratch is a bad idea, not the least of which is the
classic Netscape fiasco:
Thus, Apple had already invested quite some money into NS when it
was in a dire financial situation and, so, from a purely financial
standpoint, it makes sense that Apple would choose to stick to Obj-
C rather than spend time and money re-writing all their NS code in
a new language.
That, I believe, is the ultimate reason why they did so, not how
great Obj-C's runtime model is (which is what I keep hearing,
despite the fact that (I believe) all of Cocoa could very well be
written in Java or some other similarly modern language).
I think Apple is now doing sufficiently well financially that they
could afford to start a parallel project to re-write all of Cocoa
using a more modern language, perhaps Java or perhaps a language of
their own design (incorporating the best of all previous efforts).
I think it would ensure a larger developer base and, in the long
run, benefit the company.
To rewrite an entire operating system framework would compound the
above story by several orders of magnitude.
Rob Ross, Lead Software Engineer
E! Networks
email@hidden
---------------------------------------------------
"Beware of he who would deny you access to information, for in his
heart he dreams himself your master." -- Commissioner Pravin Lal
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Java-dev mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/java-dev/email@hidden