I don't know of anyone who knows both Objective C and C++ who would
prefer the latter except for applications near the computer's metal.
I think C++ can be made demonstrably faster for such as kernel code,
but for nearly anything else, I think Objective C wins hands down.
If you want incredible amounts of informed feedback on the Java vs.
Objective C issue, on the other hand, post the question in the
WebObjects mailing lists. WebObjects developers were all Objective C
programmers until Apple "upgraded" all of WebObjects to Java in
WebObjects 5.0 (around the millennium). At that point, WebObjects
developers learned to become Java developers or stopped being
WebObjects developers.
There was an incredible outcry from the entire community during this
period which hasn't completely died down to this day. Of course, as
Rob Ross pointed out, "The Objective-C runtime environment was
created circa 1987 (ish), long before Java existed..." which meant
that the Objective C libraries were a good deal more sophisticated
than the Java libraries of the time.
Things have changed, but there are still old (strong Java) WebObjects
programmers who would go back to Objective C in a minute if they had
the opportunity.
Unfortunately, the fact that you would get incredible amounts of
informed feedback doesn't suggest that you would get a consensus on
either side. There are strong advantages to both environments, but
the one big advantage to Java seems to be career opportunities today.
If you know Java and the Java libraries well, you have lots more
career opportunities available then if you know Objective C and the
Cocoa libraries well.
On the other hand, with Apple's recent growth curve and Microsoft's
problems with getting their newest OS out, that may not always be
true. :-)
Regards,
Jerry
On Aug 22, 2006, at 8:53 PM, Daniel Pasco wrote:
I agree. As a developer with a Java, C, and C++ background I
vastly prefer Objective C to C++. VASTLY.
Enough developers have convinced me that Objective C is the way to
go if you want to use Cocoa. It really makes sense: if you're
using Cocoa it's sure not running on anything else, to you've
already limited yourself to the platform.
I had a similar reaction when Microsoft released the Windows
Foundation Classes (Java bindings for the MFC libraries) eons ago.
What's the point if it's only going run under Windows?
Anyway, writing MFC apps or Cocoa apps with Java isn't that huge of
a deal to me. Learning the new APIs is usually more effort than
learning a new language in any case.
-Daniel
On Aug 22, 2006, at 5:31 PM, Rob Ross wrote:
I was put-off learning Objective-C for a long, long time because
of the niche status of the language. However, I finally decided to
learn Cocoa and Mac development this year.
I find Objective-C better than C++ for several reasons. I don't
think it's fair to compare Objective-C to Java in terms of a
native platform language though. I think the proper context would
be to compare Objective-C to C++.
In that regard, I like Objective-C better than C++ because the
language is much simpler. Most software developers with a BS
degree in CompSci will have had exposure to C already; the
additions to C that Objective-C provides are very, very easy to
learn.
The Objective-C runtime environment was created circa 1987 (ish),
long before Java existed, so that is why I don't think comparing
the two is quite appropriate. Objective-C is a dynamic language
with a lot of concepts borrowed from Smalltalk. It has a very
different programming model than Java. Whereas Java tries to make
as many decisions as possible at compile time, Objective-C tries
to defer as much as possible until runtime. (I will concede Java
does have many modern language features that I would like to see
added to Objective-C.) Thus they have different goals.
The Cocoa framework would not mesh well with the JVM runtime model.
The additional benefit of Objective-C over Java (for writing
native Mac apps) is that it is quite easy to use libraries/
frameworks written in either Cocoa (Objective-C), straight C,
(like OpenGL for example) or C++ libraries. For these reasons and
others, I have come to really like Objective-C, although I
probably will never *really* like the message calling syntax ;)
It could have worked *just* as well with the traditional
parenthesized notation.
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
On Aug 17, 2006, at 3: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/dan%
40brainmurmurs.com
This email sent to email@hidden
_______________________________________________
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/jerrywwalker%
40gmail.com
This email sent to email@hidden
--
__ Jerry W. Walker,
WebObjects Developer/Instructor for High Performance Industrial
Strength Internet Enabled Systems
email@hidden
203 278-4085 office
_______________________________________________
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