Mailing Lists: Apple Mailing Lists

Image of Mac OS face in stamp
 
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Apple should get behind Cocoa Java



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.


http://news.com.com/Apple+acquires+Next,+Jobs/2100-1001_3-256914.html

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.

http://www.sun.com/smi/Press/sunflash/1996-01/sunflash.960123.10561.xml

Java didn't even get database connectivity until Feb of 1997:
http://www.sun.com/smi/Press/sunflash/1997-02/sunflash.970219.0001.xml

And the original JSP and Servlet specs weren't published until late 1998-1999:
http://java.sun.com/products/servlet/2.1/servlet-2.1.pdf
http://java.sun.com/products/jsp/JSP-1_0-public-draft/JSP-1_0-public- draft-1.pdf


Java server-side technology didn't really take off until 2000, after which it began its rise as dominant force in the industry:
http://java.sun.com/products/jsp/pdf/f29feb2000.pdf
http://archive.apache.org/dist/tomcat/tomcat-3/archive/v3.0/src/


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:

http://www.joelonsoftware.com/articles/fog0000000069.html



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.

Let me reiterate:

http://www.joelonsoftware.com/articles/fog0000000069.html

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


This email sent to email@hidden
References: 
 >Re: Re: Apple should get behind Cocoa Java (From: Wagner Truppel <email@hidden>)



Visit the Apple Store online or at retail locations.
1-800-MY-APPLE

Contact Apple | Terms of Use | Privacy Policy

Copyright © 2007 Apple Inc. All rights reserved.