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 18/08/2006, at 8:27 AM, Terry Simons wrote:

Claiming superiority is a slippery slope. ;-)

From a purely technical language semantics perspective, perhaps (though I consider that a subjective opinion), but it's certainly obvious that Apple's current successes with Mac OS X are at least in part due to the Objective-C runtime and all of the work that was (and has) been put into Cocoa, which unfortunately for the Java developers, is inherently tied to Objective-C.

I agree, tied to Objective-C, but inherently tied to Objective-C is too strong a statement. I did an entire Cocoa wrapper for Eiffel, which works pretty well. It also had garbage collection (a better implementation than Java's), which managed the underlying Objective-C reference counting paradigm. It also applied Eiffel's really consistent naming scheme to tidy up the Cocoa API. (Eg, all data structures use get and put, even stacks instead of push and pop, which is a bit of a shock at first, but it means you can easily change your data structure implementations for performance, without having to change all your calls, making say Stacks and Lists highly compatible. In cocoa, calls like [putObject: o withKey: k] which in Java become putObjectWithKey (o, k) have simply become put (o, k), making for a much simpler naming scheme, less typing and more readable.)


Anyway, Cocoa is admirably suitable for use with other languages, but more at a systems level (native code), but interfacing with Java is more difficult (I have also worked on interfacing Eiffel and Java in a project interestingly called project 'Bruce' for Monty Python fans). Java is well suited to applications, and you can build OS X apps with Swing, which uses Cocoa underneath. I don't believe Swing is going away.

Ian

Objective-C provides run-time capabilities that Java doesn't, that C doesn't, that C++ doesn't, etc... and it's those runtime capabilities that makes Cocoa so powerful. Sure, the memory model might be a bit goofy, and messaging conventions might look completely alien to some, but that stuff isn't really all that important when you look at the advantages that are provided by the runtime.


- Terry


On Aug 17, 2006, at 4:59 AM, Elliotte Harold wrote:

This thread convinced me to start reading about Objective-C. More soon, but the short version is GACK! This is not a modern language. Leaving library issues and VM aside, Java is a vastly superior language. Apple would have done themselves and their developers a big favor if they had based Cocoa on Java or C#-like knockoff rather than Objective-C.

--
Elliotte Rusty Harold email@hidden
Java I/O 2nd Edition Just Published!
http://www.cafeaulait.org/books/javaio2/
http://www.amazon.com/exec/obidos/ISBN=0596527500/ref=nosim/ cafeaulaitA/

_______________________________________________ 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: 
 >Apple should get behind Cocoa Java (From: Vince Marco <email@hidden>)
 >Re: Apple should get behind Cocoa Java (From: Ian Joyner <email@hidden>)
 >Re: Re: Apple should get behind Cocoa Java (From: "Shawn Erickson" <email@hidden>)
 >Re: Apple should get behind Cocoa Java (From: Elliotte Harold <email@hidden>)
 >Re: Apple should get behind Cocoa Java (From: Terry Simons <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.