Slashdot Mirror


Apple Freezes Java Support for Cocoa

Nice2Cats writes "A little message on Apple's Developer Connection tells us that Cocoa for Java will get no new features after 10.4. The full text is: '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.' Is this bad for Java, or bad for Apple, or bad for both, or doesn't anybody give a damn anyway?"

45 of 154 comments (clear)

  1. Toolkits by yasth · · Score: 3, Interesting

    While it may not seem like such a big deal it complicates crossplatform toolkits, and the like. Of course the whole idea of having a "blessed" programming language seems rather old fashioned, and academic.

    --
    I'd do something interesting, but my server can't handle a slashdotting.
    1. Re:Toolkits by jericho4.0 · · Score: 2, Informative
      Objective-C is not some crufty old piece of legacy code that the old coots can't let go of. It's a stupidly simple, elegant extension to C. And there's a lot of good things in C, even with its "shoot yourself in the foot" power. C++ is far more complicated.

      If you know C, a very small language, and are comfortable with objects, then you are an afternoon away from knowing Obj-C. The runtime delivers amazing flexibility, the reason why all the apps on OS X are so feature rich. The GNUStep implementation needs more, but is very powerful as is. It's a fabulous choice for a large system, where the "system" part is very important.

      Again, the C to Obj-C transition is so easy that everyone who knows C should add it to their toolbox.

      As I understand it, work on GNUStep themeing is coming along. I haven't checked it out in a while. The visuals really need freshening up.

      --
      "A language that doesn't affect the way you think about programming, is not worth knowing" - Alan Perlis
    2. Re:Toolkits by jericho4.0 · · Score: 2, Informative
      gnustep links

      The Apple stuff is well done, and much applies to GNUStep. The Apple community is the most active, of course.

      --
      "A language that doesn't affect the way you think about programming, is not worth knowing" - Alan Perlis
  2. What does this mean for WebObjects? by Millennium · · Score: 5, Interesting

    WebObjects 4.5 had support for both Objective-C and Java, if my memory's right. In WebObjects 5.0, support for Objective-C was dropped, because this was during the time when Apple Wanted You To Use Java.

    Now, of course, it seems as though Apple Doesn't Want You To Use Java Anymore. Does this mean that WO6 will drop Java support, or at least bring back Objective-C?

    1. Re:What does this mean for WebObjects? by mr_rattles · · Score: 2, Insightful

      I don't think this means anything for WebObjects. The announcement was very specific to the Cocoa-Java interface post-10.4 and nothing else.

      This doesn't mean Apple doesn't want you using Java, it means they don't want people using Java for Cocoa applications after 10.4.

    2. Re:What does this mean for WebObjects? by Feral+Bueller · · Score: 4, Insightful
      "Now, of course, it seems as though Apple Doesn't Want You To Use Java Anymore. Does this mean that WO6 will drop Java support, or at least bring back Objective-C?"

      Not. Really. It indicates that Apple wants you to use Java for Web services and Objective-C for applications. As previous poster already mentioned they are merely killing support for the Cocoa-Java API so I don't see there being much of an issue: I worked on a number of custom OS X apps at my last gig: this announcement would not have influenced any of our projects then and certainly wouldn't impact anything moving forward.

      I'd be interested in hearing from an actual developer who *is* impacted by this.

      --
      - learn to swim.
    3. Re:What does this mean for WebObjects? by Yaztromo · · Score: 3, Informative
      I'd be interested in hearing from an actual developer who *is* impacted by this.

      Hello! I'm here!

      I'm doing some development using Cocoa-Java, and this could impact me, although as the information is extremely brief, I haven't figured out yet how or how much it will affect my work.

      I'm in the situation where I already have a very large Java library which was written on other platforms (which has taken ~8 man-years of development effort, and has been heavily debugged and tested int hat time), but works flawlessly on OS X. The Swing application built atop it works on OS X, but many portions of its basic design don't work too well on OS X in terms of UI integration (it works, but it really looks like it was designed for another platform).

      As such, to better support the Mac community, I decided one evening to create a Cocoa version using Cocoa-Java. It took me only about 2 hours of effort, and I had a native Mac version of my application that looks and acts like an OS X application, supporting all of the standard OS X controls and menu items.

      Yes, Apple says I should just use Objective-C, but honestly I have years and years worth of work that has been put into the Java library and engine code. It's completely multi-platform, and is used on multiple platforms. Rewriting it in Objective-C isn't feasible from either a time standpoint, or from a platform availability standpoint (even if I did have years to rewrite and retest all this code in Objective-C, it would then only compile and run on OS X, and perhaps Linux if I was very careful). So it's not going to happen.

      As such, I'm quite possibly impacted by this decision. However, the wording of the "annoucement" leaves much to be desired. Presumably based on their wording, they aren't dropping Cocoa-Java completely -- only that new Cocoa features won't be bridged. The GUI needs for my application are well served by the existing Cocoa-Java bindings, so if Cocoa-Java continues to be installed as a part of OS X, at least my application won't be unusuable before it is released to the public.

      I am a bit surprised in some ways, however. With the announcement a few weeks ago of the move to Intel-based processors, I thought they might actually work to improve Cocoa-Java, due to its immediate cross-platform benefits (although Xcode 2.1 won't generate Universal Binaries for Cocoa-Java projects).

      I'm holding out hope that OS X 10.5 and 10.6 don't drop the existing level of Cocoa-Java support. To be honest, I don't expect every feature of Cocoa to be made available to Java (as it doesn't always make sense to do so), so not putting anything new in, while disappointing, doesn't bother me a whole lot. It's the concern that at some point in the next few years Cocoa-Java could be dropped altogether that worries me.

      Yaz.

    4. Re:What does this mean for WebObjects? by larkost · · Score: 2, Informative

      I think that you are fairly safe. Apple has mearly announced that they are not going to produce new bindings for anything after 10.4. They have not marked them depreciated in 10.4 (even then the old bindings would still work), so you have at least through 10.5, and quite likely through 10.6 until your apps are no longer supported. You might even make it to 10.7...

    5. Re:What does this mean for WebObjects? by putaro · · Score: 2, Informative

      I'd be interested in hearing from an actual developer who *is* impacted by this.

      I am. We ship a commercial app for OS X which is Java/Cocoa. We wanted to have a good, native look and feel so we isolated the UI specific portions using a Model-View-Controller setup and have it running ontop of Cocoa and Swing. Swing does not provide a good enough Mac experience for a commercial app and SWT is not quite right either (the menu bar tends to go wonky, there's no support for sheets...)

    6. Re:What does this mean for WebObjects? by jcr · · Score: 2, Insightful

      Umm.. Obj-C support in WebObjects was dropped, because Apple didn't want to spend the money to keep Obj-C and PDO alive on a bunch of non-Apple systems.

      -jcr

      --
      The only title of honor that a tyrant can grant is "Enemy of the State."
  3. This only affects one app that I use... by Teancom · · Score: 4, Interesting

    Cyberduck. It's the only cocoa-java app that I use, or even know about (not saying there aren't more, just that I don't know about them). Following the cocoa mailing lists, questions about the java bindings are few and far between, which probably lead them to this point. Why dump so much time and effort into a language that your developers aren't using? Either redirect the manpower somewhere else entirely, or into a language like python, which gives your users a meaningful choice - between objc (lowlevel) and python (scripting). And applescript, I guess :-)

    1. Re:This only affects one app that I use... by Jeff+DeMaagd · · Score: 2, Informative

      The thing is that the Coaco+Java stuff is what already works for Macintel computers, without porting, and it doesn't need a Universal Binary.

  4. Probably not a big deal by jtshaw · · Score: 4, Informative

    All this seams to say is that any new wizzbang features of Cocoa won't be directly accessable with Java... There are already features of the Windows and Linux UI's that Java doesn't use...

    Fact is, Java apps will still work. Still look like MacOSX apps (at least as much as they do today). I don't see how this is much news really.

    If they did have an interface to use these features, it would break cross platform compatibility anyway as they are bound to be Mac specific UI elements.

  5. To clarify... by Otter · · Score: 4, Informative
    After reading the comments at MacSlash, I figured it's worth clarifying here -- this has nothing to do with cross-platform Java applications (i.e. what "Java support" normally means). What's being pulled is the ability to write to the native Cocoa API in the Java language.

    Good idea? As far as large software makers go, it probably doesn't matter. Adobe's Mac developers have all learned Objective C already. This does significantly raise the barrier of entry for hobbyist coders, though. Seems like a typical Apple decision, certainly.

    1. Re:To clarify... by Yaztromo · · Score: 3, Insightful
      The biggest issue is in order to write Cocoa applications using Java you have to learn Cocoa. If you're going through that effort it is a lot simpler to spend the two days learning Objective-C and getting used to retain counts. You'll find there's a lot more support and documentation than writing Cocoa apps in Java.

      This line of reasoning bugs me, because it presupposes that you're building an application from scratch.

      However, what if you have a large and specialized existing Java library that has taken years to write and has been very strenuously tested, and want to use it inside a Cocoa application? Cocoa-Java was excellent for this -- it took me less than an hour to build a Cocoa interface atop such a Java library, giving me much better integration with OS X's UI than Swing with an Aqua L&F ever would, with a lot less coding.

      Yes, if you're building an application from scratch, Objective-C is a better option (I've developed some Obj-C Cocoa applications as well). But if you have an existing library which has taken you years to write in Java, why would you want to re-do all of that work in Objective-C, when you can just use Cocoa-Java?

      I'm hoping we few of the Cocoa-Java community can convince Apple to release the Cocoa-Java framework to the Open Source community so we could contain to maintain and update it. The only consoltaion I'm gaining from the current "announcement" (if you can call it that) is that it looks like future versions of OS X will support Cocoa-Java -- they just won't be adding anything new to Cocoa-Java past 10.4. So at least my existing Cocoa-Java application (which is only in limited release at the moment) won't be completely obsolete the day it is released.

      Yaz.

    2. Re:To clarify... by Feral+Bueller · · Score: 3, Insightful
      This does significantly raise the barrier of entry for hobbyist coders, though. Seems like a typical Apple decision, certainly.

      How?

      Objective-C is not the traditional point of entry for a hobbyist coder... AppleScript and Perl generally are. If I was going to recommend a programming language for such a person, it would be Java, on the strength of the API documentation alone, but certainly not Objective-C.

      Who reads macslash anyway? Their headline for this article is Apple: You Can't Develop In Java Anymore , which besides being inflammatory is incorrect.

      Macslash makes PowerPage seem like ArsTechnica.

      --
      - learn to swim.
  6. Apple has been advising against integration for so by Hungus · · Score: 4, Interesting

    It has been considered best practice by Apple for some time to not use cocoa with java. Typically when someone has done this it has been for the GUI so that native widgets are accessible but with the Aqua widgets being accessible through Swing there is really no need for it now. If the argument is for cross platform writing of Java apps then pure java is always going to be more portable than Java + native elements.

    --
    Bad Panda! No Bamboo for you! In matters of importance ACs will not be responded to. Want to say something critical,OK
  7. What about SWT? by chroot_james · · Score: 2, Interesting

    I wonder how this effects swt or if swt can provide similar functionality to java-cocoa?

    --
    Reality is nothing but a collective hunch.
    1. Re:What about SWT? by Anonymous Coward · · Score: 3, Informative

      Apple is currently porting SWT to cocoa (SWT is currently based on carbon). I wouldn't be surprised if thats why Apple's doing this. If you want to use native cocoa, SWT is the roadmap.

  8. Re:Java scares the crap out of people! by thefirelane · · Score: 3, Insightful

    Note: Java is not being removed from OSX. It is just that you would not be able to access the OSX api from Java... which would mean your applications are not cross platform in the first place. You'll still be free to develope 'pure Java' Applications... so your comment about Apple wanting to kill Java doesn't follow.

  9. Re:Java scares the crap out of people! by 99BottlesOfBeerInMyF · · Score: 3, Insightful

    Java scares companies like Microsoft and Apple because it has the potential to make their closed platforms irrelevant.

    Ok... now tell me how supporting java applications, including cross platform applications, but dropping cocoa bindings (largely irrelevant or even a hindrance to cross-platform java applications) is indicative of Apple being scared that java will enable people to move away from their platform? They are freezing support for cocoa bindings, not the java API in general.

    One of the main reasons I prefer OS X over most other platforms for most tasks is all the added benefits from the OS. The system services that are usable across all applications, for example, like the spell checking in this text field (and all other native text presented by applications and the OS). Cross-platform apps and java apps are weak because they have to reinvent the wheel for everything every time because they can't count on the OS offering all the useful features. It's fine for little games and whatnot, but for the most part, it is just not as good.

  10. Ob Homerism by NiceGeek · · Score: 4, Funny

    Mmmmmmmmm...frozen Cocoa Java

  11. Re:Java scares the crap out of people! by hunterx11 · · Score: 2, Insightful

    Cocoa is OS X only. Apple is ending Java support for Cocoa. Java Cocoa applications run only on OS X. Any OS X apps written in Java in the future will now be more likely to be regular, cross-platform Java apps. I wouldn't be surprised if Java Cocoa applications were harder to port to GNUstep than Objective-C applications. How does Apple discontinuing a specific closed platform choice (which was never very popular in the first place) constitute trying to force people to use a closed platform?

    --
    English is easier said than done.
  12. How? by hargettp · · Score: 5, Informative

    Please remember, Java is still supported, it is simply the Cocoa-Java bridge that will no longer be improved. If you are not clear on what the Cocoa-Java bridge is (or event Cocoa), then here is a quick primer: Cocoa is the preferred API for Mac OS X, specifically for applications written in Objective-C. The Cocoa-Java bridge was a similar API that exposed essentially the same object model to Java based applications. As the API was specific to Mac OS X, any application written on top of the Java Cocoa APIs was specific to Mac OS X and thus not portable.

    I would expect the impact to Java developers on OS X to be quite low. Most probably use Swing or SWT for cross-platform support, so the impact of this decision should be negligible.

  13. Its really not a big deal by PierceLabs · · Score: 3, Insightful

    Apple is just telling people to stop using the Java-Cocoa bridge which was actually not useful for building cross platform applications and not used much by the development community anyways.

    People wanting this functionality in the future will still be able to do so by just writing a little JNI to handle it - though I'm really not sure its worth the effort.

  14. Re:Java scares the crap out of people! by Quarters · · Score: 4, Funny
    Java scares companies like Microsoft and Apple because it has the potential to make their closed platforms irrelevant. If the promise of Java did take off - people would be free to choose their platform without having to worry about buying all new apps or learning new look-alike apps.

    Did you just get off the boat from 1996 or something?

  15. swt by jandockx · · Score: 3, Insightful

    As long as they would now commit those resources to swt support on Mac OS X, this would actually be a Very Good Thing ...

  16. To put this in perspective: by tod_miller · · Score: 4, Insightful

    If someone writes a widget that places icons in the task tray, that only works on SCHOOMOO operating system, and then writes the Java class and JNI calls for this, but then goes and releases a new version of the widget, but doesn't update the Java classes.

    +1 mod points to everyone who spotted this is neither anti-java or anti-Cocoa, in fact, it is pro Java because no Java developer wants to be bogged down with much non-portable code or mac only code.

    I would wager than Apple was even nudged by some Java developers who said, yes, this was nice, but look, not much interest in it, we can use our own libraries and keep it cross platform.

    This is GOOD for Apple, as this 'embrace the non-proprietary cross platform Java' rather than using Java Cocoa fixated programming, will mean more Java developers will target the Mac. Oooops! But they already do because Java is cross platform. Oh Hahah I am funny.

    Now, sometimes you do want to access proprietary extensions, and in yesteryear, the extremely small quirky devices would give some benefits for being able to access their split bars, or their dialogue classes, so each platform had their own set of 'device API's', nothing too wrong with that, but with great power come great erm, device abstraction. Go spidey.

    --
    #hostfile 0.0.0.0 primidi.com 0.0.0.0 www.primidi.com 0.0.0.0 radio.weblogs.com
  17. Not a big deal by SteeldrivingJon · · Score: 2, Informative


    It really isn't a big deal. Few people use Cocoa-Java to build apps, and it hasn't ever been very well supported or documented.

    It doesn't effect cross-platform Java, won't effect WebObjects (which is 100% Java).

    --
    September 2011: Looking for Cocoa/iOS work in Boston area Cocoa Programmer Quincy, MA
  18. Bad for Cocoa-Java... very few give a damn anyway. by javaxman · · Score: 3, Insightful
    If you don't know what Cocoa-Java is, it's a way of gluing a Cocoa native interface onto a Java bytecode program. I suppose the idea is that you have a Java application, for portability, but don't want a Swing UI ? That description is a little simplistic, really, but it's the general concept.

    Who writes programs like that ? Very few people, it turns out. I'm sure there are excellent examples of Cocoa-Java programs out there. In fact, I know there are. But really, they are neither highly portable, nor are they fully native code. It's entirely like having a Java program with an ActiveX interface. It's neither native nor cross-platform, it's a mix of technologies, and has the advantages and drawbacks of both, oddly enough.

    Apple has, for some time, been moving away from full Cocoa-Java support. If you're shocked by it going away, you haven't been paying attention. If you want a multi-platform Java application, use multi-platform libraries, i.e. Swing. If you want a native application code program, write one- if you don't want use Objective-C because you'd like to port it more easily ( GNUStep aside ) , use C++. But if you want to use Java, well... use Swing. Seriously. It's not as bad as you've been told.

    Then again, having native binary projects designed for their respective platforms has it's advantages, too.

    Don't get me wrong. I've always thought Cocoa-Java was neat. But mostly in a 'cool trick' sort of way, not in a "I'm going to use this all the time" sort of way. If I want a chunk of code that just runs on any JVM-supported system, I'm not going to use Cocoa-Java, I'm going to use Swing and avoid having more than one build. If I want a native Mac OS X program, Objective-C is easy. Cocoa-Java fit some in-between requirements space that I guess I never really fully understood.

  19. C++ is not a replacement by mariox19 · · Score: 4, Insightful

    With all due respect, have you tried Objective-C? It's far easier to learn than C++, and in some ways far more powerful. Objective-C is a dynamic (late-binding) language. The Cocoa framework could not have been written in C++ -- many, many decisions are made at run-time.

    Don't get me wrong, I'm not one for "language wars"; I'm just saying that C++ is not a replacement. I'm not sure what is, given that Objective-C is fully compatible with C code -- all pointer and bit-twidling nonsense -- and dynamic.

    Objective-C coders don't use the language grudgingly.

    --

    quiquid id est, timeo puellas et oscula dantes.

    1. Re:C++ is not a replacement by 1010011010 · · Score: 2, Interesting

      Objective-C coders don't use the language grudgingly.

      Since learning Objective-C, it's become my favorite C-type language. It's not something I have to use, it's something I like to use.

      --
      Napster-to-go says "Fill and refill your compatible MP3 player", which is a lie. It's not MP3. It's WMA with DRM.
    2. Re:C++ is not a replacement by entrylevel · · Score: 3, Interesting

      I find it hard to believe you speak from experience. Did you write a program or did you just read some source code and figure some things out yourself? How long did you try at it? There's a lot to Objective-C, and being a superset of C is something I never saw as a detriment.

      IMHO, it's far more elegant than C#, VB, or Java, used by millions (and loved by less). Certainly moreso than C or C++. It's not as elegant as Python, but few things are.

      Most Objective-C programmers love the language a great deal and tend to be (at least on the Mac side) very vocal about it.

      --
      Karma: Incomprehensible (Mostly affected by posting at +5, reading at -1, and metamoderating everything unfair.)
    3. Re:C++ is not a replacement by jiushao · · Score: 2, Interesting
      Python elegant? That's just ridicolous. Python is a huge and complex lanuage. It has ridicolously many language features, with a bunch new ones added with each release. All with only little planning and thought. It happens to end up being fairly powerful, and of course extremely featureful, but absolutely not elegant.

      C# and Java are both clearly more elegant designs, as is C really. C++ has a lot of syntax, and rather wacky semantics in parts, but it manages a lot of power with a few very important concepts (templates). Overall, in elegance I would probably rate Python second to last of the languages listed (VB is extremely unelegant). This does not mean that it is a bad language (though I personally don't care for it), it is powerful and featureful, but it pays for it by being a huge language.

  20. Re:Why did anyone use it in the first place? by TheRaven64 · · Score: 4, Insightful
    Why was anyone using it in the first place?

    I can think of one reason for using it. If you have an existing Java application and want to release if for the Mac, it makes a good choice. If you run a Swing or SWT Java app on OS X without any changes, it will look native, and it will almost feel native, and that almost is enough to really irritate users (including me). Replacing the original GUI with one drawn in IB (so you get the HIG spacing guide lines) and with controllers written in Java as a thin wrapper around the existing model code would be a significant benefit in terms of usability.

    --
    I am TheRaven on Soylent News
  21. History reconstructed (maybe) by fm6 · · Score: 3, Insightful
    Good idea? As far as large software makers go, it probably doesn't matter. Adobe's Mac developers have all learned Objective C already.
    When I interviewed at Apple in 97, the party line was that Java was going to replace Objective C as the standard language for accessing the NeXTSTEP APIs. But some of the NeXTSTEP people who came over to Apple after the buyout seemed less than convinced.

    I haven't had much to to with NeXTSTEP/OS X since then, but your comments make me reconstruct the Java/Cocoa story as follows: after adopting NextSTEP as the basis for OS X, Apple management decides Objective C as a fringe language, and that Java, which was then being hyped as the language of the future, was an easier sell. But, as always, the developer community went with the tools it knew how to use, so Objective C never lost its dominance in OS X development. This latest move is just management bowing to that reality.

    1. Re:History reconstructed (maybe) by metamatic · · Score: 3, Interesting
      When I interviewed at Apple in 97, the party line was that Java was going to replace Objective C as the standard language for accessing the NeXTSTEP APIs.

      Yeah, well, it's worth remembering that back in 1997, Netscape's new browser was going to be written in Java, Corel were going to sell an office suite written in Java, and everyone was going to run 'thin client' systems based on Java. The great Java hype machine was just winding down.

      --
      GCHQ Quantum Insert installed. If only our tongues were made of glass, how much more careful we would be when we speak
  22. Jonathan Schwartz ramblings by joshstaiger · · Score: 4, Funny

    I'm going to go out on a limb an guess that this means that Apple isn't going to take Jonathan Schwartz up on his offer that they adopt Solaris 10 for the underpinnings of the Mac OS and adopt NetBeans as their development environment...

    Shocking, I know.

    Oye vey...

    --
    http://joshstaiger.org/

  23. Re:You are completely wrong by Yaztromo · · Score: 4, Informative
    Mod the parent down. It's not "Informative", it's "Misleading"

    That's better advice for your response, as opposed to the grandparent post.

    The Java platform (i.e. java.lang.*), never enters into it.

    That's not true. All of the java.lang.* classes are available. In fact, you can even make calls to javax.swing.* classes (although you have to be really careful in terms of event threads, so it's dangerous to do so). Cocoa-Java still uses java.lang.Class, java.lang.Object, java.lang.String, java.lang.Classloader, and any of the other java.lang classes.

    Instead of using javax.swing.JFrame, you use com.apple.cocoa.NSWindow (the exact package name escapes me, but you get the idea), and you compile it into native code using Xcode, not bytecode using javac.

    That is also not true. Cocoa Java bundles include the JAR files for their Java components. Only a small stub is compiled natively. Just view the package contents of any Cocoa Java application and you'll find the JAR file. Or build a Cocoa Java application in Xcode, and see something like the following in the build log (with lots of snippage...):

    JavaCompile.default Cocoa blah.app
    frameworkjars=""
    for i in `echo /System/Library/Frameworks/Cocoa.framework/Resourc es/Java/*.jar /System/Library/Frameworks/Cocoa.framework/Resourc es/Java/*.zip ` ; do if [ -f "$i" ] ; then frameworkjars="$frameworkjars":"$i" ; fi ; done
    classpath="/blah:"`/usr/bin/javaconfig DefaultClasspath`
    /usr/bin/javac -J-Xms64m -J-XX:NewSize=4M -J-Dfile.encoding=UTF8 -g -encoding MACINTOSH -sourcepath ...

    Sorry, but you're talking out of your ass, and have no idea what you're talking about.

    Yaz.
    (Cocoa-Java Developer).

  24. Re:Where does this leave the NeoOffice/J project? by Macrat · · Score: 3, Informative

    From the NeoJ Forum

    The Java that's used within NeoJ is "pure" Java, AWT and Java 2D at present, and perhaps some Swing in the future. Anything that's using OS X specific frameworks is written in either C++ or Obj-C. Since the majority of the application is already C++ based, we just call the frameworks directly. There's no need for us to add an extra layer with the CocoaJava language bridge and never will be.

  25. Re:You are completely wrong by javaxman · · Score: 2, Insightful
    The Java platform (i.e. java.lang.*), never enters into it.

    Look, I don't want to make you sound silly, Yaztromo already did a fine job of that, but when Apple says that the Cocoa-Java NSObject "inherits from Object", exactly what "Object" class do you think they're talking about ?

    Hint : it's in the package you don't have to import in the Java language.

    Further hint: NSObject in Objective-C ( native Cocoa as opposed to Cocoa-Java, I suppose ) doesn't inherit from anything else, it's a root class.

    It's hard to blame you too much for your misconceptions about Cocoa-Java, though, if you're using the Apple "Cocoa Tutorial for Java Programmers" you linked as your guide. I think they're almost intentionally misleading you there... notice there's actually no talk at all of what compiler is being used or what's going on behind the scenes ( it's javac ). Really, Cocoa-Java, IMHO, is there to lure Java programmers into Cocoa. It's a hook to get you to see how easy Objective-C really is...

    Basically, there are enough application developers for OS X that Cocoa-Java serves no real purpose now. Just my own little theory, that.

  26. Never saw the point by Bastian · · Score: 2, Insightful

    Cocoa-Java apps are _not_ cross-platform. About the only advantages I could see getting from it is not having to make your developers learn Objective-C and being able to work in a garbage-collected environment.

    But I don't think either of those advantages are great enough to make it worth Apple's while to spend money on maintaining Cocoa bindings for Java. Objective-C is really not difficult to learn, and has plenty of syntactic sugar to keep you happy - especially if you're using Apple's runtime. And reference counting isn't perfect, but it's also almost brainless to use after a few days of really getting used to it.

    Much better in my opinion for Apple to put their Java efforts into trying to keep the JRE on OS X up to date, and possibly to put a bit more effort into getting it to run well.

  27. ID-10-T Error by LordKazan · · Score: 2, Insightful

    Anyone else see a contradiction in that statement, or is it just me?

    --
    If you cannot keep politics out of your moderation remove yourself from the Mod Lottery.. NOW!
  28. Third party bridge by Have+Blue · · Score: 4, Informative

    If there's really demand for Java support of new OS X features, someone else can write a bridge for it- how to do this is well understood. There are already third party Cocoa bridges for Python, Ruby, and Perl.

  29. I you decided to use Java for your Cocoa apps... by 5plicer · · Score: 2, Interesting

    you should have listened to Aaron Hillegass IMO :p

    --
    The bits on the bus go on and off... on and off... on and off...