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: ObjC vs Java -- NEWBIE



I wrote:
| Also, your questions suggest that you're not making the very
| important distinction between *language* and *libraries*. Most of
| your questions aren't about the languages themselves, but about what
| libraries are available for each language. (Objective-C isn't Cocoa,
| and Java isn't Swing.)

Rolf Howarth wrote:
| Well... strictly speaking of course you're right. But for me, and I
| suspect many other people, one of the main attractions of Java is
| precisely that is *does* specify a cross-platform API, and therefore
| is much more than *just* a language.

Unfortunately, even *Sun* doesn't consider the API part of the language. Nowhere in "The Java Programming Language" is that API mentioned as anything more than example. Like it or not, the distinction remains. A language is not the same as its libraries, even if those libraries are widespread. Even for C++, defined by an international standard, with a library defined by the same international standard, the library is still a separate entity, and requests to extend the *language* are often answered by "Why change the language? You can do that with the library."


| That was always the argument from the Microsoft world: "Java is a
| neat language, but it's just a language. People should be able to use
| whatever language they want... as long as they use Win32 APIs!", to
| which everyone else replies "but we don't want to use Win32, we want
| to be able to run on *other* platforms".

Irrelevant. I wasn't arguing that any particular library *had* to be used. I was merely pointing out that language and library are not one and the same. How you manage to equate that to Microsoft attempting to lock people to a single Microsoft-defined library, I don't understand.

Java *is* just a language. Objective-C is just a language. So is Fortran, Cobol, Lisp, or whatever. Saying so is doing no more than describing reality.


| So, I'm afraid from my point of view Java *is* Swing (assuming you're
| writing cross-platform GUI applications of course), and other
| technologies (SWT, Cocoa-Java, etc.), whatever their merits, are
| complete non-starters.

That's as may be. But the original question was (the always unanswerable) "is X better than Y?" Since Java *can* be used with different libraries, it's simply not possible to say "Java does networking better--or worse--than Objective-C", because it's the choice of library determines it, not choice of language. Similarly, as Cocoa-Java illustrates, it's also possible to use (effectively) the same library in several languages.

Properly evaluating the various alternatives requires *understanding* them, and that won't happen unless each part of the package is seen for what it is.

Glen Fisher
_______________________________________________
java-dev mailing list | email@hidden
Help/Unsubscribe/Archives: http://www.lists.apple.com/mailman/listinfo/java-dev
Be sure to read the FAQ http://developer.apple.com/java/faq/ before posting
Do not post admin requests to the list. They will be ignored.

References: 
 >Re: ObjC vs Java -- NEWBIE (From: Rolf Howarth <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.