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.
_______________________________________________
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