Linked by Andrew Youll on Sun 10th Jul 2005 18:22 UTC, submitted by anonymous
Apple In the latest update to the technical documentation available from ADC, Apple has published this note: "Features added to Cocoa in Mac OS X versions later than 10.4 will not be added to the Cocoa-Java programming interface. Therefore, you should develop Cocoa applications using Objective-C to take advantage of existing and upcoming Cocoa features".
Order by: Score:
Question...
by Anonymous on Sun 10th Jul 2005 18:29 UTC
Anonymous
Member since:
---

I don't own a Mac, but the last time I used one I installed jEdit (a swing app) on it and noticed that the interface looked more like a Mac application rather than the Swing Metal look. Is this what they are going to stop doing?

Reply Score: 1

RE: Question...
by Tobias Luetke on Sun 10th Jul 2005 18:31 UTC in reply to "Question..."
Tobias Luetke Member since:
2005-07-07

no that stays. Its a cute hack.

Reply Score: 1

RE: Question...
by Anonymous on Sun 10th Jul 2005 19:19 UTC in reply to "Question..."
Anonymous Member since:
---

That wasn't Cocoa, Java's Cocoa bridge require(s/d) a Mac. The Mac look is just a look for that.

Reply Score: 0

Swing
by davisable on Sun 10th Jul 2005 21:04 UTC in reply to "Question..."
davisable Member since:
2005-07-10

They're using Swing. That's why it looks like that

Reply Score: 1

x86?
by rx182 on Sun 10th Jul 2005 18:36 UTC
rx182
Member since:
2005-07-08

I don't know but this is a strange move. Why would they stop keeping it updated after 4 releases?

Do you guys think this is related to the java language itself that apple doesn't like that much or this is related to the x86 move? Maybe the performances of Java on PPC were acceptable for them but not on the x86?

I really don't know...

Reply Score: 1

somebody
Member since:
2005-07-07

No, it is a Swing theme. And still no close to original.

Reply Score: 1

Probably no point
by Anonymous on Sun 10th Jul 2005 18:40 UTC
Anonymous
Member since:
---

They are probably dropping it because nobody really uses it.
The only java-coca app I've seen is TextEdit and theres even an ObjC port of that floating around. No point in maintaning an API that nobody uses.

Reply Score: 0

RE: Probably no point
by Anonymous on Sun 10th Jul 2005 18:48 UTC in reply to "Probably no point"
Anonymous Member since:
---

>They are probably dropping it because nobody really uses it.

The quite popular Cyberduck and Aquisition are indeed using it.

Reply Score: 0

Makes sense
by raven_ on Sun 10th Jul 2005 18:55 UTC
raven_
Member since:
2005-07-10

If your going to use a toolkit like cocoa that ties you to the Mac platform (GNUstep aside), why use java. I hope they use the resources that would have gone to updating these bindings to improve swing or swt support on the Mac.

Reply Score: 1

RE: Makes sense
by stew on Sun 10th Jul 2005 19:09 UTC in reply to "Makes sense"
stew Member since:
2005-07-06

"If your going to use a toolkit like cocoa that ties you to the Mac platform (GNUstep aside), why use java."

Because Java is a nicer langauge to work with than Objective-C. No worries about pointer troubles, memory management or endianess issues. Also, having a choice between several languages is always a good thing.

Reply Score: 1

v RE[2]: Makes sense
by Lumbergh on Sun 10th Jul 2005 21:12 UTC in reply to "RE: Makes sense"
Other/nonofficial bindings
by Roguelazer on Sun 10th Jul 2005 18:55 UTC
Roguelazer
Member since:
2005-06-29

I wonder what this means for Ruby/Cocoa and Python-Cocoa. Oh well. The java people won't suffer, because swing apps use native l&f, so a nice swing app is hard to tell from a Cocoa app. Ditto for Tk, actually.

Reply Score: 1

RE: Other/nonofficial bindings
by Anonymous on Sun 10th Jul 2005 19:12 UTC in reply to "Other/nonofficial bindings"
Anonymous Member since:
---

Nothing, since they're just bindings for ObjectiveC (at least in the case of PyObjC which is the de-facto standard for Cocoa interaction with Python).

Reply Score: 0

v Apple is screwing us again
by Anonymous on Sun 10th Jul 2005 19:20 UTC
Hmm...
by Anonymous on Sun 10th Jul 2005 19:27 UTC
Anonymous
Member since:
---

I wonder what this entails about WebObjects. Does Apple actually discourage the use of Java, or has experience simply shown that most Java applications are written in Swing anyway?

Reply Score: 0

Objective C
by rx182 on Sun 10th Jul 2005 19:33 UTC
rx182
Member since:
2005-07-08

Do you guys think Apple will provide a real alternative to ObjC after the x86 move? x86 programmers are much more familiar with the other C (C, C++, C#).

For the current MacOS developers, it doesn't matter. But for the x86 programmers that are going to port some applications to MacOS, it will definately slow them down if they are somewhat forced to use ObjC.

I even know Smalltalk alot and I've been working with C since forever but to be honest, I never really had the interest to take a look at ObjC. Except for GNUStep, I think ObjC is a Mac thing ;-)

Reply Score: 1

RE: Objective C
by Anonymous on Sun 10th Jul 2005 19:40 UTC in reply to "Objective C"
Anonymous Member since:
---

> Do you guys think Apple will provide a real alternative to ObjC after the x86 move?

Two Apple engeneers are known to be working on Cocoa-Sharp (http://www.mono-project.com/CocoaSharp), in their spare time, however.

Reply Score: 2

RE[2]: Objective C
by Anonymous on Sun 10th Jul 2005 19:50 UTC in reply to "RE: Objective C"
Anonymous Member since:
---

That would be very, very cool. Anything that will encourage devs to jump ship from Windows, plus code-portability is super important, despite what the Apples and Microsofts say.

Reply Score: 0

RE[2]: Objective C
by radkowskij on Sun 10th Jul 2005 20:10 UTC in reply to "RE: Objective C"
radkowskij Member since:
2005-07-06

Something is wrong with this picture. Apple engineers having "free time"? ;)

Reply Score: 2

RE: Objective C
by j-s-h on Sun 10th Jul 2005 20:14 UTC in reply to "Objective C"
j-s-h Member since:
2005-07-08

Since Objective C is basically C with a few keywords added for object Oriented programming, I fail to see how using C, C++, or C# would help.

Reply Score: 1

Anonymous
Member since:
---

Apple goes the Microsoft way more and more. It's more and more "our way or the high way".

They should listen a bit more to what the developers say, after all, those people are the ones who create the apps where Apple eventually lives from, because no apps is bye bye osx.

I'm a Mac user, and a Linux user. More and more, I like the openess from Linux over the "ease of use" of a Mac. Mac is only friendly to the ones they like. For instance, after all these years, there's still no decent support for Nokia phones in their iSync.

Reply Score: 0

Anonymous Member since:
---

For instance, after all these years, there's still no decent support for Nokia phones in their iSync.

Oh yeah?
http://www.apple.com/macosx/features/isync/devices.html

Reply Score: 0

Anonymous
Member since:
---

I think is a good idea. I'm very surprised by the "Virtual machine insanity" that has spreaded in the last years, of course, VM have its uses, but every excess is bad and they also have its disadvantages. If I can choose I allways prefer to use platform native apps.

Reply Score: 0

Tyr. Member since:
2005-07-06

I think is a good idea. I'm very surprised by the "Virtual machine insanity" that has spreaded in the last years, of course, VM have its uses, but every excess is bad and they also have its disadvantages. If I can choose I allways prefer to use platform native apps.

Really? Think about this : Apple is going to be supporting 2 different architectures at the same time. Objective-C apps are going to break, no matter how well coded. Then they will need to be compiled to "fat" binaries.
The java apps won't have all these problems, it's a perfect example of one of the core benefits of java.

Reply Score: 1

Anonymous Member since:
---

"Objective-C apps are going to break, no matter how well coded. "

What? Ever heard about Rosetta?

Reply Score: 0

Tyr. Member since:
2005-07-06

"Objective-C apps are going to break, no matter how well coded. "

What? Ever heard about Rosetta?


See Segio's answer. Plus Rosetta won't run all apps, like those that depend on altivec for example. No emulation layer is perfect, much better to have your code written for an unchanging virtual machine.
Besides, my original point was that the java code doesn't have all the endian issues etc. you have when porting objective-c code to run on both architectures.

Reply Score: 1

Anonymous Member since:
---

"I'm very surprised by the "Virtual machine insanity" that has spreaded in the last years..."

You mean like the WoW virtual machine in Windows 95, the 68K virtual machine in every PowerPC and, of course, ObjC's own virtual machine...

Reply Score: 0

Pretty obvious all along
by Anonymous on Sun 10th Jul 2005 19:37 UTC
Anonymous
Member since:
---

This was pretty obvious all along: the docs for the actual Java Bridge (the build system used to bridge the frameworks, not the bindings resulting from them) tell that it has been deprecated for a long time. So it wasn't possible build new bindings (e.g. for your own framework) without using the deprecated stuff.
Also, this technology is not dropped, it's just not being extended any longer.

It would be interesting to look into adapting JIGS (http://www.gnustep.it/jigs/) as a replacement.

Reply Score: 1

ObjC survived Next-it wil; survive x86
by mini-me on Sun 10th Jul 2005 19:51 UTC
mini-me
Member since:
2005-07-06

I dont get why people assume that now that apple will use intel that macs will be cheaper, that macs will use other programming languages, that apps will be ported more easily from windows etc etc etc...

ObjC survived the death and acquisition of Next.
Apple already has a lot of useful classes on cocoa - C and C++ have been around for a while - if they wanted to use it, dont you think they would have already done so ? Additionally C# is a .net MS thing, why would apple use it?

Reply Score: 4

Anonymous Member since:
---

Most people are used to C-like languages and just don't get it. Objective-C (besides being 100% compatible with C, which C++ isn't and C# only bears the name) is a *dynamic* language. That's fundamentally different from the static procedural thing C++ (and C# and java) offer you. The result is that Objective-C is an order of magnitude more useful for lots of stuff, and *manageable*. It isn't just a fad for a weird syntax (literally, C mingled with Smalltalk with all the seams showing).

Reply Score: 1

About damn time
by Anonymous on Sun 10th Jul 2005 19:53 UTC
Anonymous
Member since:
---

The Java Bridge was a political maneuver at NeXT and then at Apple.


Do you guys think Apple will provide a real alternative to ObjC after the x86 move? x86 programmers are much more familiar with the other C (C, C++, C#).

For the current MacOS developers, it doesn't matter. But for the x86 programmers that are going to port some applications to MacOS, it will definately slow them down if they are somewhat forced to use ObjC.

I even know Smalltalk alot and I've been working with C since forever but to be honest, I never really had the interest to take a look at ObjC. Except for GNUStep, I think ObjC is a Mac thing ;-)


Objective-C is not a Mac thing. Objective-C was a Stepstone and NeXT thing and then a GNUstep thing.

What the hell does C programming have to concern itself with ObjC? ObjC is a superset of C, not another C.

If you feel [syntax:] is forcing you from learning a language then explain how so many C++/Visual Basic programmers are learning C#?

Get off your lazy ass and make some money porting your app to OS X.

Reply Score: 1

Not news.
by Anonymous on Sun 10th Jul 2005 20:28 UTC
Anonymous
Member since:
---

The bridge was deprecated with the release of Panther (and new Objective-C APIs in Panther, such as Rendezvous [now Bonjour] were NOT added to the bridge). They simply didn't announce it very loudly.

Reply Score: 1

RE: Not news.
by Roguelazer on Sun 10th Jul 2005 21:40 UTC in reply to "Not news."
Roguelazer Member since:
2005-06-29

Yet CoreData works with Cocoa-Java. How...interesting...

Reply Score: 1

Open Office
by Anonymous on Sun 10th Jul 2005 20:50 UTC
Anonymous
Member since:
---

I wonder if this will affect NeoOffice development since they use Java for the GUI?!?!?

Reply Score: 0

paradox...
by sergio on Sun 10th Jul 2005 23:10 UTC
sergio
Member since:
2005-07-06

> What? Ever heard about Rosetta?

Rosetta is a JIT compiler... just like the "insane" Java.

Reply Score: 2

RE:
by Anonymous on Sun 10th Jul 2005 23:14 UTC
Anonymous
Member since:
---

A Cocoa/Java app is no longer portable so what's the point of it... may as well be in ObjC. The only problems is I don't know ObjC but I do know Java.

I suppose I'll just have to use RubyCocoa.

Reply Score: 0

swt?
by Anonymous on Sun 10th Jul 2005 23:21 UTC
Anonymous
Member since:
---

How does SWT fit into this? Are Eclipse and Azureus affected? Dropping support for Eclipse would be a stupid move.

Reply Score: 0

RE: swt?
by eMagius on Sun 10th Jul 2005 23:24 UTC in reply to "swt?"
eMagius Member since:
2005-07-06

This has no effect on SWT or swing applications, only those using Cocoa-Java (which really only includes Mac-exclusive applications written in Java).

Reply Score: 1

RE[2]: Objective C
by Anonymous on Sun 10th Jul 2005 23:42 UTC
Anonymous
Member since:
---

Objective-C++ is compatible enough from a developer's standpoint to meet most major goals. Obj-C is C with a few extra features. The C is still there though. So is the C++.

Reply Score: 0

mono
by broken_symlink on Mon 11th Jul 2005 00:00 UTC
broken_symlink
Member since:
2005-07-06

maybe apple will adopt mono ;-p

Reply Score: 1

Anonymous
Member since:
---

If I remember right, Aaron Hillegass said that Cocoa-Java was just a hack and really created with the intention of helping people port over apps to NeXT then Mac OS X so you could get it on OSX then write it in Objective-C or Objective-C++. It was never meant to be used as a long term thing for any application.

As far as I can remember he's discouraged Cocoa-Java because of slower launch times & app performance, but I don't have his book right in front of me at the moment so I can't quote him exactly.

Reply Score: 0

Anonymous
Member since:
---

Objective-C basically tries to defeer anything it can from compile time to run time thus making Objective-C very dynamic and flexable.

I don't know why anybody thinks Apple won't use Objective-C on x86 or upcoming Mac OS X versions. Have most people seriously even tried Objective-C? or are they just whining "oh this looks different than what im used too, im scared..."

Seriously I thought Objective-C had odd styntax and ran weird at first too now I can't imaging my life without it, it simplifies application development so much.

Reply Score: 0

Awesome!
by Anonymous on Mon 11th Jul 2005 00:37 UTC
Anonymous
Member since:
---

I couldn't care less one way or the other. I never use Java to write Mac code. It's just too cumbersome compared to Objective C. I'm relieved they decided to continue with Objective C rather than try to focus on Java. It's Objective C's dynamic features that make Mac OS X possible.

I feel 1000 x more productive with Objective C than I do with Java.

Reply Score: 0

Objective-C is Great, but
by fscotsman on Mon 11th Jul 2005 00:56 UTC
fscotsman
Member since:
2005-07-06

Objective-C is great, but it would be nice to have a language for Cocoa development that is both fast, and completely dynamic. Not a hodgepodge of C and Smalltalk. What makes Cocoa a pleasure is the framework not the language, although Objective-C is an order of magnitude better for application development than C++. It would be cool if in Leopard, or at the next WWDC Apple introduced a language that fits to Cocoa's semantics, and is completely dynamic with garbage collection. I could see a Smalltalk dialect fitting the bill. Incremental compilation, like lisp would be cool too.

Reply Score: 1

RE: Objective-C is Great, but
by Roguelazer on Mon 11th Jul 2005 01:17 UTC in reply to "Objective-C is Great, but"
Roguelazer Member since:
2005-06-29

Isn't this why we have Ruby-Cocoa? ;)

Reply Score: 1

RE[2]: Objective-C is Great, but
by Anonymous on Mon 11th Jul 2005 01:48 UTC in reply to "RE: Objective-C is Great, but"
Anonymous Member since:
---

Or CamelBones (for Perl)

Reply Score: 0

RE[2]: Objective-C is Great, but
by fscotsman on Mon 11th Jul 2005 01:53 UTC in reply to "RE: Objective-C is Great, but"
fscotsman Member since:
2005-07-06

Ruby is a great scripting language, but its sloooww. Java and .Net are an order of magnitude faster. Besides anything that isn't endorsed by Apple and come pre-installed on OS X is largely going to be ignored.

Reply Score: 1

RE: Objective-C is Great, but
by MobyTurbo on Mon 11th Jul 2005 02:33 UTC in reply to "Objective-C is Great, but"
MobyTurbo Member since:
2005-07-08

It would be cool if in Leopard, or at the next WWDC Apple introduced a language that fits to Cocoa's semantics, and is completely dynamic with garbage collection. I could see a Smalltalk dialect fitting the bill.

Steptalk, a Smalltalk dialect, is available for GNUstep and might work on Mac OS X.

Reply Score: 1

RE: Objective-C is Great, but
by Anonymous on Mon 11th Jul 2005 10:04 UTC in reply to "Objective-C is Great, but"
Anonymous Member since:
---

I think it's a good decision to drop the Cocoa Java interface. Objective-C is by far the best and most enjoyable language for developing Cocoa apps. Therefore, it should be at the center of the Cocoa effort. Since people are adopting Objective-C instead of using the Cocoa-Java interface there is no reason for Apple to waste a lot of engineering effort on the Cocoa-java bridge. However, it's true that having a highly dynamic scripting layer available in Cocoa would be great. The most obvious choice would be to add the F-Script
http://www.fscript.org
environment to Cocoa.

Reply Score: 0

I'm surprised
by Anonymous on Mon 11th Jul 2005 01:15 UTC
Anonymous
Member since:
---

I'll take it one step further and say that Objective-C is irrelevant. Name a framework to use with it when not on a Mac. It makes zero sense to write ObjC unless you are writing a Cocoa app, which is not exactly a ringing endorsement for a language. If I was writing a cross-platform app for Mac, Linux and Windows I'd be looking at C++ and Carbon long before Objective-C.

So this decision surprises me. If anything, I would have thought Apple would be moving off of ObjC and more towards Java. Of course, even better would be C# and taking on the CLR from Mono, as another poster mentioned.

Reply Score: 0

RE: I'm surprised
by mini-me on Mon 11th Jul 2005 01:44 UTC in reply to "I'm surprised"
mini-me Member since:
2005-07-06

why would apple move to C# ? It's a microsoft product.
Why would apple move to mono? It's an open-source language which they have no control of - which is important when you are developing for your own platform!


For those who don't remember, back in the days of rhapsody, apple had yellow box for windows NT - you were able to run cocoa apps on windows! If apple wanted to they could have cocoa apps running on windows without any problems. Who knows - maybe apple has kept yellow box on the back burner just like they did with os x on intel.

Reply Score: 2

RE: I'm surprised
by Anonymous on Mon 11th Jul 2005 02:51 UTC in reply to "I'm surprised"
Anonymous Member since:
---

> It makes zero sense to write ObjC unless you are writing a Cocoa app, > which is not exactly a ringing endorsement for a language.

ObjC w/o Cocoa is still ObjC with all the dynamism, etc. present in the language. The lack of Cocoa takes nothing away it. Your criticism of the language is not well founded.

Reply Score: 0

re: NeoOffice
by Anonymous on Mon 11th Jul 2005 05:05 UTC
Anonymous
Member since:
---

Just read a post over at the NeoOffice forum for development that says they will be unaffected as they do not use the bridge.
I am so glad. NeoOffice is awesome... getting better.

Reply Score: 0

Bad move, Apple
by Anonymous on Mon 11th Jul 2005 06:22 UTC
Anonymous
Member since:
---

Very few people know Objective-C. Java is by far the "most popular programming language."

This is a bad move. Especially in light of the x86 transition.

Regardless, Steve and Apple do what they "want" to do --

Sigh.

Steve Klingsporn
Shantar Miche-al
Ashtar Galactic Command

Reply Score: 0

WebObjects
by Anonymous on Mon 11th Jul 2005 06:42 UTC
Anonymous
Member since:
---

Here's an interesting point to consider however, I wonder if WebObjects will do a 180 and go with Objective-C again?

Reply Score: 0

Lets get Real
by Anonymous on Mon 11th Jul 2005 07:43 UTC
Anonymous
Member since:
---

1- Cocoa-Java is a bridge between the Java programming language and the Cocoa Framework - Apple dropping Cocoa-Java has nothing to do with Intel transition, or anything else outside of the fact that maintaining a bridge that only a handful of applications of ever used - was pointless.

2- Cocoa-Java has nothing to do with Java, or Swing or AWT, Apple dropping the Cocoa-Java bridge will have not effect on an Java application, period.

3- Apple dropping Cocoa-Java is good and keeps inline with Sun's and Java's cross-platform ideology.

4- Objective-C will stay and with Apple adding ever more to the Cocoa framework will make Objective-C and Cocoa ever more attractive.

5- Objective-C ran on x86 long before it ran on the Macintosh, why would apple drop it when Objective-C and Cocoa goes back to x86?

6- Apple dropping Cocoa-Java does not mean the Apple is dropping Java.

7- By all accounts Cocoa is only possible because of Objective-C and its Dynamic nature, it would be very difficult to develop a Cocoa framework in almost any language that exists today.

8- As for those geniuses claiming Apple should drop Java, Cocoa, and Objective-C for .NET or Mono because of the shift to Intel. Just because Apple changes a processor does not mean that suddenly that Apple will rewrite the Majority of its Applications written in Objective-C, just to please Microsoft lock-ins. A move to .NET or Mono would mean ripping out over 20 years of NextStep and Cocoa development and Frameworks, Like Aqua, Core-Data, Core-Image, Core-Video, iLife, iWork, out of Mac OS X and replacing it with huge chunks of property Windows code OS or a very immature open source project
"Mono" that could be killed by Microsoft in a heart beat through patents.

Apple dropping Cocoa-Java is a non-news event nothing to see move on folks.

Reply Score: 0

RE: Lets get Real
by Anonymous on Tue 12th Jul 2005 03:24 UTC in reply to "Lets get Real"
Anonymous Member since:
---

Thanks for the only sensical comments related to this "story". I have never seen so many uneducated comments. This truly was a non-event.

Reply Score: 0

Future of Objective-C Cocoa
by Anonymous on Mon 11th Jul 2005 07:54 UTC
Anonymous
Member since:
---

If you want to know about the furture of Objective-C / Cocoa just have a look at the QuickTime Movie of Steve Jobs WWDC Keynote.

Cocoa Apps are (among Java and scripted Apps) most easily to port to x86.

When you dig into Apple's devloper documentation you will also see that future version of Objective-C (or Apple's foundation framework) may also have support for garbage collection.

Reply Score: 0

it was a dead end anyway
by Anonymous on Mon 11th Jul 2005 08:37 UTC
Anonymous
Member since:
---

cocoa apps in java are monstrously inefficient.
Stick to the standard java apis if you are doing java, stick to objective-c if you want to do cocoa.

Reply Score: 0

NeoOffice/J
by the_randymon on Mon 11th Jul 2005 22:37 UTC
the_randymon
Member since:
2005-07-06

I suspect this will be detrimental to the development of NeoOffice/J, which leverages the Java APIs to provide the graphical interface of OpenOffice.org. Anyone who's ever tried the plain-vanilla OO.o for Mac OS X will agree that NeoOffice/J is far superior. That's primarily due to the nice Cocoa-style interface that makes the software a little better integrated with the rest of the OS, and provides better functionality for the clipboard.

I'm no programmer, but I suspect this doesn't bode well for NeoOffice/J, and they're already in bad shape due to the change to Intel chips and a development process that leads to a "fat binary."

I wish them the best of luck - I like the software quite a bit.

Reply Score: 1

Stop the FUD you noobs.
by Anonymous on Tue 12th Jul 2005 20:11 UTC
Anonymous
Member since:
---

Apple is not dropping anything. They are simply not going to include support for future changes to Cocoa in the Java bridge.

Any applications which make use of the bridge will work just fine and you will be able to continue development of applications with Java but you just will not have access to any newer features of Cocoa which appear from this point on.

I hate it when noobs comments on these stories and do nothing but spread a bunch of FUD about a topic they have no understanding of.

Reply Score: 0