×

Welcome to the Slashdot Beta site -- learn more here. Use the link in the footer or click here to return to the Classic version of Slashdot.

Thank you!

Before you choose to head back to the Classic look of the site, we'd appreciate it if you share your thoughts on the Beta; your feedback is what drives our ongoing development.

Beta is different and we value you taking the time to try it out. Please take a look at the changes we've made in Beta and  learn more about it. Thanks for reading, and for making the site better!

Java 6 Available on OSX Thanks to Port of OpenJDK

Zonk posted more than 6 years ago | from the can't-believe-we're-denied-coffee dept.

OS X 202

LarsWestergren writes "Many Mac users have been upset that Apple has not made Java 6 available on the platform. Landon Fuller posts that there is a developer preview release available of Java JDK6 on Mac OSX, Tiger and Leopard. It is based on the BSD port of Sun's Java 6 and is made available under the Java Research License. Charles Nutter posts about impressive JRuby performance gains using Java 6 on his Mac."

cancel ×
This is a preview of your comment

No Comment Title Entered

Anonymous Coward 1 minute ago

No Comment Entered

202 comments

Maybe it's me (5, Funny)

Anonymous Coward | more than 6 years ago | (#21493279)

"Many Mac users have been upset that Apple has not made Java 6 available on the platform."

I'd have thought not having Java infecting your machine would be a huge advantage myself. Not having .Net is another.

Re:Maybe it's me (0, Redundant)

Marcus Green (34723) | more than 6 years ago | (#21493369)

In what way could Java (or net) infect a machine? Infect implies something that runs without your agreement.

Re:Maybe it's me (2, Informative)

jilles (20976) | more than 6 years ago | (#21495271)

By design that is not possible. But you might run into an exploitable bug in the native code of the vm that allows people to bypass security measures. This is true for any native software on your system. These exploits are getting pretty rare in Java though and I can't actually recall any major Java related exploits in recent years. There have been security related patches of course from Sun and most of them for good reasons. Additionally, you could install a Java application with bugs that are exploitable (but you can write buggy software in any language of course).

But by design Java is more secure than a typical native application because it protects against most memory and pointer related bugs that are used for installing worms or viruses. Additionally there is a security mechanism that provides fine grained access over which parts of the APIs are accessible to developers. This mechanism is used in applets to prevent developers from doing things you wouldn't want them to do. I'm not aware of any major applet related exploits in recent years and aside from flash and pdf, Java is still one of the most common browser plugins.

Browsers are of course a common vector for all sorts of malware but Java is rarely the cause of the misery. More common is buggy javascript parsing (by the browser); poor handling of URLs and other bugs in the decade old rendering architectures of IE and Mozilla which both are full of obscure C and C++ code that nobody really understands in full. Mozilla has spent the last two years re-architecting their browser backend to refactor memory usage and get rid of countless memory leaks, bugs and other things that didn't entirely work as designed. They did some great work there. So if you are comfortable running that on your system it would be downright irrational to have any concerns running Java. Your system is only as secure as the weakest component on it. If you are running windows 9x, it doesn't really matter what you install on it from security point of view.

BTW. Inherent security of the Java platform is also a good reason to run many serverside scripting languages inside a Java VM. For example Php has a history of many exploits, many of which simply don't work inside caucho php port to java (http://www.caucho.com/). Similar advantages apply to using jruby instead of ruby. And of course you might be able to gain a little scalability and manageability.

Re:Maybe it's me (2, Insightful)

Anonymous Coward | more than 6 years ago | (#21493375)

The only Mac users I know that even noticed are Java developers.

Re:Maybe it's me (5, Informative)

AmaDaden (794446) | more than 6 years ago | (#21493675)

That does not mean that other people would not benefit from it. Java 6 has a number of performance and GUI improvements. http://en.wikipedia.org/wiki/Java_version_history [wikipedia.org] Anyone would be happy if their programs were faster, better looking and more responsive.

Re:Maybe it's me (1, Funny)

Anonymous Coward | more than 6 years ago | (#21493793)

I really meant to imply that besides Java developers nobody uses client side Java applications. I probably should have been clearer and just said that Java sucks.

Re:Maybe it's me (1, Informative)

Anonymous Coward | more than 6 years ago | (#21493995)

FYI, Azureus a well known Java based BitTorrent Client is extremely popular.

Re:Maybe it's me (1)

AmaDaden (794446) | more than 6 years ago | (#21494179)

Client side Java applications have historically sucked because the Java GUI objects sucked and/or were too hard to use. It caused the apps to be bloated, unresponsive, slow, and hard to write. You could work around these problems but it was a tough fight and you needed to REALLY know what Java was doing. If Java 6 does fix even some of this then we are likely to see many more usable Java client apps. Hell, even the Java bashers might enjoy using some of them soon.

Re:Maybe it's me (1)

encoderer (1060616) | more than 6 years ago | (#21494605)

I'm a programmer, and while my work is usually an order of magnitude more complex than "Write this CRUD screen for this Access Database," it's nowhere near "develop a new programming language."

That being said..

Java used their own in-built controls so the language could be portable, cross-platform, etc.

Well.. why couldn't they keep that in place, but also write special-case code for the most popular platforms? Like, and excuse how crude this is:

switch (current_os)
{
    case XP: // load comdlg.dll
          break;
    case OSX: // Load cocoa? or whatever the hell mac uses...
          break;
    default: // Load in-built controls
}

Re:Maybe it's me (1)

mattgreen (701203) | more than 6 years ago | (#21494709)

It'd look different on each platform, and apparently that's a bad thing in Sun's eyes, as they would prefer that Java be a platform that runs on top of the native OS.

Yes, it is ass-backwards. This is Sun we're talking about, so it is difficult to be surprised.

Re:Maybe it's me (2, Informative)

AmaDaden (794446) | more than 6 years ago | (#21495005)

It seems simple but it gets very messy very quickly. They started out doing that. http://en.wikipedia.org/wiki/Java_version_history [wikipedia.org]. AWT [wikipedia.org] would use what ever GUI system was native to the OS. The result was the Java app looked like it fit right in. But it was a mess. From Java 1.0 to Java 1.1 they tried to fix it but it still did not help. So with Java 1.2 they said fuck it all and just made Swing [wikipedia.org]. Swing still kinda sucks but it's way better then AWT was.

Re:Maybe it's me (1)

MacColossus (932054) | more than 6 years ago | (#21495457)

Groupwise client from Novell is Java based for Linux and Mac OS X. While I use Mail, several of the people I support use the Mac Groupwise Client.

Re:Maybe it's me (-1)

Anonymous Coward | more than 6 years ago | (#21494333)

Anyone would be happy if their programs were faster, better looking and more responsive.

Sure, anyone but Java programmers. *ducks*

Not Open JDK based (5, Informative)

bafio (879076) | more than 6 years ago | (#21493281)

It is not OpenJDK, but "based on the BSD Port of Sun's Java 6 JDK, and is made available under the Java Research License"

Re:Not Open JDK based (4, Informative)

Anonymous Coward | more than 6 years ago | (#21493893)

Correct. It'll based off OpenJDK as soon as we've got the project instantiated within the porters group in OpenJDK.

The porters group should be created this week, I hope, and then it shouldn't take long to get the BSD port into OpenJDK, and after that Landon's work.

cheers,
dalibor topic

java 6 is FAST (-1, Troll)

kevmatic (1133523) | more than 6 years ago | (#21493331)

I can almost run a game of Gin on my 3Ghz Pentium IV now!

The cards still kinda move choppy, though. Maybe I should buy another gig of RAM.

Seriously, Java development (in WSAD) is slower than dirt.

God, I hate WSAD4.

Re:java 6 is FAST (1)

MartinG (52587) | more than 6 years ago | (#21493509)

Then don't use WSAD. It's crap.

I changed to eclipse and everything is blazingly fast.

Re:java 6 is FAST (1, Funny)

Anonymous Coward | more than 6 years ago | (#21493711)

What the hell is WASD and why do you use it?

Re:java 6 is FAST (2, Funny)

somersault (912633) | more than 6 years ago | (#21493897)

It's the preferred keyboard layout of first person shooters, ever since Quake (or in my case, Half-Life). I use it because I can have other keys around my fingers to easily access buttons for reloading, using items (such as doors and health stations), jumping and ducking (easily done at the same time when the duck and jump keys are located conveniently under my thumb and pinkie), running, switching weapons, and even checking my score (usually only in multiplayter). You should try it instead of those stupid arrow keys..

Re:java 6 is FAST (0, Troll)

DCstewieG (824956) | more than 6 years ago | (#21494027)

Wow. Well done. WSAD is a development IDE. Maybe you should understand the context of posts you reply to.

http://en.wikipedia.org/wiki/IBM_Rational_Application_Developer [wikipedia.org]

Re:java 6 is FAST (1)

somersault (912633) | more than 6 years ago | (#21494315)

Maybe you should do some research into common human (and slashdotter, which tends to fall loosely into the 'human' set) behaviours.

*Whoooosh* [wikipedia.org]

Re:java 6 is FAST (1)

DCstewieG (824956) | more than 6 years ago | (#21494417)

Y'know, I almost added a disclaimer just in case you were failing miserably at being sarcastic. Sorry.

Re:java 6 is FAST (1)

somersault (912633) | more than 6 years ago | (#21494611)

Yes, perhaps I was a little too deadpan. I had hoped that the laboured nature of my description was enough of a giveaway..

Re:java 6 is FAST (1)

DCstewieG (824956) | more than 6 years ago | (#21494667)

Ha, that's actually what made me think you were clueless :)

Re:java 6 is FAST (1)

somersault (912633) | more than 6 years ago | (#21494775)

;) It wasn't really meant to be sarcasm btw, I just have a weird sense of humour is all - I'd actually already found that wikipedia page when finding out what WSAD really was :P

Re:java 6 is FAST (1)

DCstewieG (824956) | more than 6 years ago | (#21494821)

Well the mods are on your side so I guess you're okay. And now this thread has been long enough so I say good day sir!

What's the big deal about jruby? (2, Insightful)

happyemoticon (543015) | more than 6 years ago | (#21493427)

Am I the only one who thinks it's weird to run an interpreted language inside of a virtual machine? Would there be any application to it, aside from rewriting overly-verbose Java code in a more concise language?

Re:What's the big deal about jruby? (1)

snl2587 (1177409) | more than 6 years ago | (#21493459)

No, you're definitely not the only one. What's so hard about learning Java instead? (Seriously: what are JRuby's advantages?)

Re:What's the big deal about jruby? (5, Insightful)

Surt (22457) | more than 6 years ago | (#21493593)

Why would anyone ever use anything but assembly? The rest is all syntactic sugar. Even if you need portability, you need only go as far as c.

More seriously, jruby is faster than cruby, and has nicer syntax than java. You would use it if you wanted to write code in a nice language on platforms where you would otherwise be stuck with java. Virtually anything that processes either plaintext or xml is going to be radically easier to implement in jruby than java, and nearly as fast at runtime.

Re:What's the big deal about jruby? (5, Insightful)

Gr8Apes (679165) | more than 6 years ago | (#21493845)

There's another reason to run JRuby - the ability to dynamically change a code snippet by users inside a larger application for custom rule engines, as an example.

Java allows it as well, but it's much harder to sandbox dynamically uploaded java code than a scriplet.

Re:What's the big deal about jruby? (3, Interesting)

MBCook (132727) | more than 6 years ago | (#21493595)

Ruby gives you easy scripting without having to use something like Janino to compile and import classes on the fly. Using Java also provides access to all the Java libraries from Ruby (which can be nice) and fixes some of Ruby's issues (I understand that the ruby interpreter is single threaded, for example). There are some good reasons why one might want to do it.

Re:What's the big deal about jruby? (2, Insightful)

Paradise Pete (33184) | more than 6 years ago | (#21495863)

No, you're definitely not the only one. What's so hard about learning Java instead?

I've been writing Java code since its early days, but I'd *much* rather write in Ruby. And JRuby brings access to all the Java libraries.

Re:What's the big deal about jruby? (3, Interesting)

OptimusPaul (940627) | more than 6 years ago | (#21493483)

One application is to add scripting support to a java app that has an installed base. And Ruby is popular these days so it only makes sense.

Re:What's the big deal about jruby? (1)

FranTaylor (164577) | more than 6 years ago | (#21493649)

Oh, that's an easy one. Take advantage of the garbage collection and the JIT compiler. Why write your own when you can use what already exists?

De gustibus non est disputandem.

Re:What's the big deal about jruby? (2, Interesting)

wandazulu (265281) | more than 6 years ago | (#21493691)

I am using it to write a scriptable Java application. JRuby has saved me literally thousands of hours trying to implement my own pseudo language just to support a simple DSL in the app. And because it's Ruby, I can now do all kinds of things that my own language couldn't do, like loops. When we give the app to users, we tell them it's scriptable, here's the DSL objects, and here's a website on Ruby; you're limited only by your imagination.

Plus it works in Java 5, so I can use it instead of waiting for Apple to release Java6 with its built in JavaScript scripting language (which I don't like nearly as much as Ruby).

Re:What's the big deal about jruby? (4, Informative)

TheNarrator (200498) | more than 6 years ago | (#21493777)

JRuby is actually faster on a lot of benchmarks now then straight C Ruby (see the link in the above article to the blog post). This is because Jruby turns ruby into Java bytecode. Java's JIT can do lots of special runtime optimizations to the compiled bytecode that C Ruby can't. With each version, the JVM has been getting better and better at doing these optimizations. It's nice because if I wrote a program in C it would always be the same speed unless I upgraded the hardware. With Java the software just gets faster and faster with each version because the JVM gets smarter.

Re:What's the big deal about jruby? (1)

Bert64 (520050) | more than 6 years ago | (#21494153)

Well, your C program could get faster by being compiled with a more optimising compiler...
And it's not that ruby written in C cant be faster, it's just the current implementation that's not. Remember, the JVM and it's JIT compiler are themselves written in C. It would still be more efficient to do it without the extra overhead of java, assuming your program doesn't add any extra overheads/inefficiencies of it's own.

Re:What's the big deal about jruby? (0)

Anonymous Coward | more than 6 years ago | (#21494273)

Actually, you cannot do this kind of optimizations at compile time because you cannot know *how* the application will be used at run-time. So, it is incorrect to say that a C application can always be made faster than a Java version.

Re:What's the big deal about jruby? (1, Interesting)

Anonymous Coward | more than 6 years ago | (#21494423)

Nothing really prevents you from using a "recompiler" at runtime with a C based executable. For example LLVM [llvm.org].

Re:What's the big deal about jruby? (2, Informative)

setagllib (753300) | more than 6 years ago | (#21494725)

Quite the opposite - at least with C you have absolute 100% control of the code you're running until you reach actual system calls, and then the kernel might allow you to make modules to extend those too. Since the very best the JVM can do is make C-like code, doing it yourself will make it faster.

The cost is having to do all of the intelligent JVM-like optimization manually, which means you'll spend years micro-optimizing C code instead of macro-optimizing Java code or moving on to new features or another project entirely. And the micro-optimized C code will be nearly unreadable because high-level constructs have to be resolved into their implementation details because the compiler can't do it for you. For a large application you'll probably end up with a garbage collector in the C code anyway, and chances are it won't be anywhere near as optimized as Java 6's.

Re:What's the big deal about jruby? (2, Interesting)

jilles (20976) | more than 6 years ago | (#21495635)

That's true in theory but in practice most C programmers have no clue about underlying hardware architecture so 100% control amounts to random and arbitrary optimizations (and sometimes dangerous/counter productive) in most cases. The VM that the hardware presents to the compiler is not that different from the bytecode VM Java presents only more complicated, full of legacy features that no longer make sense and implemented in hardware. Underneath the processor translates to its real processor architecture which is probably quite alien to what most programmers are used to.

Also C programmers can only optimize for so many platforms and the optimizations can be different and even conflicting for each one. With a optimizing JIT, you can automatically optimize at run-time and apply any appropriate platform specific optimizations it knows about as well as optimizations that take into account measured performance of the running application. Doing the same in C requires dozens of different binaries and source code level optimizations just to target recent variations of X86 processors. Linux distributions have only recently started defaulting to 586 or 686 code instead of 386 code.

That's why a new compiler architecture is under construction (LLVM) that can do similar run-time optimizations to what Java is doing today. It makes sense to do optimization at run-time, also for C software.

Re:What's the big deal about jruby? (4, Insightful)

ClassMyAss (976281) | more than 6 years ago | (#21494443)

Yes, the JIT compiler is written in C, but you are wrong that a better optimizing C compiler could beat a really good JIT. The whole point of JIT is that it can use current information about how a program is running and do things like arrange objects in memory to increase the cache hit rate. The best C compiler in the world just doesn't have the amount of information available that it would need to do things like this.

That's not to say this all currently works in practice, though. Sun has been telling everyone for the past five years that the JVMs are so robust and intelligent that you don't need lightweight objects to do fast computation (for things like vector math), that you can just use plain old Java objects and the JVM will figure out how to optimize these, and anybody that's ever actually programmed some physics or graphics in Java knows that those claims are still crap. (Though I'm told this version of Java is much better about this stuff, to be fair)

However, failures in implementation aside, there are very good arguments that suggest that as we go forward, JIT compilers will eventually overtake statically compiled code when it comes to speed. IMO the current Java 6 JVM is a pretty good first step towards this ideal JIT compiler; maybe I'd qualify it as a very early alpha version of The Real Thing. Certainly much more of an improvement than the past few versions. It's unfortunate, however, that Sun continues to pretend that they've already got it all figured out and running smoothly, when there is obviously so much more work to do. It's also quite irksome that they ignore most performance-related RFEs, simply promising that the magical JIT will fix everything in the next version...

Re:What's the big deal about jruby? (2, Informative)

cmburns69 (169686) | more than 6 years ago | (#21495293)

Java is not particularly concerned with being the fastest language on the block. They're more concerned with being fast enough. Java is not suitable for things where every ounce of performance is necessary. They are also moving closer and closer to being truly write/compile once, run anywhere.

Java is for business applications where performance is nice, but not critical.

But of course, they will market any performance gains, as that's just icing on the cake.

Re:What's the big deal about jruby? (0)

Anonymous Coward | more than 6 years ago | (#21495733)

The best C compiler in the world just doesn't have the amount of information available that it would need to do things like this.
GCC supports profile-directed optimizations (see -fbranch-probabilities and friends in the gcc man page). Unless the workload is radically different for every user, this should yield similar results.

Re:What's the big deal about jruby? (1, Insightful)

Anonymous Coward | more than 6 years ago | (#21494779)

It's nice because if I wrote a program in C it would always be the same speed unless I upgraded the hardware. With Java the software just gets faster and faster with each version because the JVM gets smarter.


That's all well and good, but the C program started out faster to begin with. The Java programs may be getting faster, but the question is: are they getting faster than a program in C, or are they just approaching the speed that the C program had to begin with?

Re:What's the big deal about jruby? (0, Troll)

mjorkerina (1158683) | more than 6 years ago | (#21495315)

JRuby is using A LOT LOT more memory and its startup is so sluggish it simply doesn't make sense to write any script in it.

Ruby is a scripting language, making it eat all the memory and slowing its startup is basically rendering it useless for the task it's meant to accomplish.

Re:What's the big deal about jruby? (4, Informative)

Headius (5562) | more than 6 years ago | (#21495437)

JRuby itself uses only about as much memory as Ruby does for most apps we test. But we do pay a one-time cost for the JVM itself, which adds 25-30MB to the process. However on a server deploying Rails, this is insignificant compared to the memory eaten up by Ruby runtimes, and we're smaller there by most measurements.

Startup...yeah, it's an issue. But JRuby 1.1 will ship with Nailgun as part of the release, which enables you to run JRuby in a background persistent process and execute command-line scripts with startup times in the hundredths of a second range. Quite acceptable.

Re:What's the big deal about jruby? (0)

Anonymous Coward | more than 6 years ago | (#21494633)

Am I the only one who thinks it's weird
No, but there are damn few of you. All significant interpreted languages today and for the foreseeable future are translated into some sort of 'bytecode' and run on some kind of VM. This includes Perl, PHP, Python, Ruby (C), etc. Consolidating these to a smaller set of more general and well maintained VMs is the obvious thing to do. Ruby folks are also motivated by the poor performance of their native VM.

Would there be any application to it
See .NET. Many independent languages with binary compatibility. JVM based interpreters enjoy the full spread of supported platforms and universally benefit from performance improvements, runtime analysis tools, security maintenance, etc. Here [sisc-scheme.org] is one of my personal favorites.

This is all self evident. WTF is wrong with you?

Re:What's the big deal about jruby? (1)

kwerle (39371) | more than 6 years ago | (#21494911)

jruby lets us write new web apps that use thousands of lines of java controller code without having to rewrite those thousands of lines of perfectly functional code. Eventually we may migrate to pure ruby - but in the meantime, jruby is a great solution.

Re:What's the big deal about jruby? (1)

Cobron (712518) | more than 6 years ago | (#21495067)

Speed of development, I guess. Ruby on rails seems to be quite good at this they say. Using netbeans 6 (release candidate) it was a breeze following the jruby on rails tutorial on netbeans' site and deploy it on my tomcat 5 hosting. After that I lost interest.

There is also the promise of a jruby compiler which compiles the ruby files into bytecode.

I am confiscating your Golden Hammer. (1)

Lethyos (408045) | more than 6 years ago | (#21495275)

Is it weird to have both hammers [wikipedia.org] and screwdrivers? While on the topic, I remind you that virtualization is used throughout modern operating systems, and in ways that are completely transparent to you. A Java runtime environment is just one of many such forms.

Re:I am confiscating your Golden Hammer. (1)

happyemoticon (543015) | more than 6 years ago | (#21495713)

I think this is an example of a good analogy taken too far. For it to apply completely, you would somehow have to implement a screwdriver within a hammer, or perhaps assemble a virtual hammer out of screwdrivers, which is downright farcical.

And thanks, everyone who helped answer that question. It was pretty interesting.

I can't wait (3, Funny)

Anonymous Coward | more than 6 years ago | (#21493443)

...for the next OS X update, when this breaks the updating.

People will cry foul on the boards, other people will note that as this isn't an official release, it should have been expected that it'd break the updating.

It'll be fun for the whole family!

Clueless (4, Informative)

FranTaylor (164577) | more than 6 years ago | (#21493715)

Apple integrates their Java into the OS, but a standalone JDK exists within its own directory tree and doesn't interfere with anything else. I have 4 different JDKs installed on my machines and they don't interfere with each other or the resident JDK.

Why Apple? (3, Insightful)

Orange Crush (934731) | more than 6 years ago | (#21493517)

Many Mac users have been upset that Apple has not made Java 6 available

Shouldn't they be upset at Sun? Why is Apple getting the flack?

Re:Why Apple? (0)

explosivejared (1186049) | more than 6 years ago | (#21493559)

My guess is it is just a natural reaction that comes with "it just works" ethos. People just expect Apple to provide everything for OSX. Even third-party stuff I guess.

Re:Why Apple? (1, Informative)

Anonymous Coward | more than 6 years ago | (#21493687)

Is not this, is because the JDK for Mac OS was always provided by Apple.
JDK releases for Mac OS by Sun doesn't even exist. In fact if you go
searching for it at the Sun site you will be directed to use Apple own
JVMs/JDKs.

Re:Why Apple? (4, Informative)

0racle (667029) | more than 6 years ago | (#21493741)

Apple does provide, and always has, Java for OS X. It has always been an integrated application environment, hence the collective 'Huh?" when Java 6 didn't show up with Leopard.

http://www.kernelthread.com/mac/osx/arch.html

Re:Why Apple? (0)

Anonymous Coward | more than 6 years ago | (#21493919)

It's included in Leopard. You can't see it yet because the garbage collector is still initializing.

So it's entitlement, then? (0)

nobodyman (90587) | more than 6 years ago | (#21494881)

Strikes me as an indictment of human behavior. Do you praise apple for all of the previous times that they ported java, or condemn them for the one time that they don't?

Sun already provides JDK Builds for eight platforms. If they want to see Java 6 for Apple, than they should write it.

Re:Why Apple? (5, Informative)

scheme (19778) | more than 6 years ago | (#21493609)

Many Mac users have been upset that Apple has not made Java 6 available

Shouldn't they be upset at Sun? Why is Apple getting the flack?

Because Apple told Sun not to work on a jdk for mac os x since apple would produce and maintain it.

Re:Why Apple? (1)

KugelKurt (908765) | more than 6 years ago | (#21494845)

Apple does it by itself, because old ports of Java for Mac OS (classic) by Sun were so bad that Apple thought doing Java itself is better than letting Sun ruin it. IIRC Apple even chose a Java implementation from Microsoft for a while, because it was better than Sun's Java version.

Re:Why Apple? (1)

teh kurisu (701097) | more than 6 years ago | (#21493615)

Because Apple provide Java on Mac OS, not Sun. Remember how Microsoft provided the Windows version of Java, before Sun got pissed off with what they were doing with it and demanded it back? Same thing here, only Sun haven't got pissed off yet (hopefully soon!).

Can't be bothered looking for anything to back up what I've just said, but go to http://java.sun.com/ [sun.com] and look for any Mac OS X download. There aren't any.

Re:Why Apple? (5, Informative)

el_chupanegre (1052384) | more than 6 years ago | (#21493637)

Shouldn't they be upset at Sun? Why is Apple getting the flack?

Because Apple have shot themselves in the foot with this one. Apple decided they wanted to make Java themselves and offer it through Software Update and all the other Mac niceties. However, Sun releases Java 6 and us Mac Java developers are still waiting. That's why Apple gets the flack and not Sun.

Re:Why Apple? (1)

sammy baby (14909) | more than 6 years ago | (#21494873)

(disclaimer - i'm not an apple or java developer)

That wasn't an entirely bad move on Apple's part - at the time, they were planning on making Java a first class citizen on OS X, with native Cocoa [apple.com] libraries for Java programmers. Unfortunately, that's pretty much all out the window now - Apple's tutorials [apple.com] state that "The Java API for Cocoa is deprecated in Mac OS X version 10.4 and later."

So in other words, Apple definitely did something dumb here, but it's not too hard to see what their motivations were.

Re:Why Apple? (0)

Anonymous Coward | more than 6 years ago | (#21493655)

Apple is the vendor that supplies Java for OS X, not Sun. Sun would have done Java for Mac OS X, but Apple insisted that they do it themselves. And then Apples screwed up by not doing it.

Re:Why Apple? (1)

Bert64 (520050) | more than 6 years ago | (#21494219)

Bear in mind there were betas of JDK6 for OSX.. So Apple have clearly been working on it at some point.
Apple have recently released a new version of their OS (leopard), and some new devices (Iphone, ipod) that needed their own port of the OS... And they're still ironing out bugs in those flagship products. Seeing as they only have limited developer resources, it's not surprising to see java on the back burner for a bit.

Re:Why Apple? (1)

nofx911 (634100) | more than 6 years ago | (#21493665)

Apple took over the port from Sun many years back. Sun lent them a few employees, but it was Apple's responsibility to keep the port up to date. Java seems to no longer be a priority for Apple, and many of the Apple devs that were quite helpful on Apple's Java Dev Forum seem to have left the company or were moved to other projects. My guess is that PPC users may never see a port of Java 6 and that the most functional Java 6 port for Intel Mac users will come from the BSD port. Depending on IBM developers PPC users may see a working port of the openjdk.

mod parent UP Re:Why Apple? (1)

damn_registrars (1103043) | more than 6 years ago | (#21493753)

I suspect I'm not the only person who didn't know the answer to this person's question. I have no idea why someone felt the need to mod it "troll".

And even further into the thread, it is pointed out that the answer lies in Apple's earlier promise to provide Java for OS X people (rather than Sun doing it). I suspect I'm not the only person who wasn't previously familiar with that, either.

Re:Why Apple? (5, Interesting)

kwolf22 (825499) | more than 6 years ago | (#21493779)

Apple provides their own non-GPL'd Java implementation. Presumably, the core components of this implementation have been licensed from Sun under a non-GPL license that allows Apple to create a platform specific derivative work. I know that Apple distributes J2SE 5.0 with an Apple License that states, "...you may not copy, decompile, reverse engineer, disassemble, modify, or create derivative works of the Apple Software or any part thereof." This protects the proprietary parts of Apple's implementation of Java that link to the rest of their proprietary code. BTW, this situation also means that the GPL Classpath Exception doesn't apply to Apple's Java Implementation.

My feeling is that the Apple/Java vacuum has to do with the fact that Java is now GPL'd. I seem to remember that one of the reasons that Apple chose BSD over Linux for OS X was due to the way GPL'd software is licensed. Think about it... Apple has done A LOT of work to integrate Java into just about every aspect of OS X. Probably, under the GPL, they'd have to cough up a lot of their proprietary integration source code. I think that this is also why there is no official QuickTime Player for Linux. If Apple were to come out and announce that they won't support Java on OS X because of the GPL, it would probably cause much worse press than the present situation (which also sucks, btw).

Since OS X, Apple has been a big supporter of Open Source software - but NOT Free (GPL'd) software. My feeling is that before we see OpenJDK on OS X (or on the iPhone), Apple will have to figure out how their proprietary technologies such as Aqua, QuickTime, etc. will be able to legally integrate with GPL'd Java. Either that, or Apple will cease in-house Java development entirely and give it back to the community - relegating Java it to third party add-on status.

Personally, my fear is that since Apple's Java 6 implementation seemed ready to go - especially for Leopard, Apple pulled their Java 6 implementation because they are unwilling to comply with the terms of the GPL. Keep in mind that Java 5 (Apple's current implementation) is not to be GPL'd. If this is the case, there could be serious implications about the future of Java integration with all of Apple's technologies

Re:Why Apple? (1)

nofx911 (634100) | more than 6 years ago | (#21493967)

No, that is not the way that it works. Sun choose to have a general release of the JDK (openjdk) under the GPL - since they still own the code they can choose to license it to others under different terms than the GPL - much the same way that MySQL has done their releases. IBM, HP (for True64 / OpenVMS port), Apple - still have their paid licenses in tact. Don't let GPL hysteria scare you. If you own the code (or force contributors to turn their rights to the code over to you) there is no limit on the number of different ways you can license your code to others. Even the Mozilla foundation releases their code under many different licenese to make it compatible with different projects (Mozilla Public License, version 1.1 or later, GNU General Public License, version 2.0 or later, and GNU Lesser General Public License, version 2.1 or later).

Because Java is more integrated with system (1)

SuperKendall (25149) | more than 6 years ago | (#21493817)

As others have noted, Java on the Mac is handled more by Apple than by Sun.

But there are good reasons for this - Java on the Mac is more tightly integrated than with other systems. For example if you load multiple Java apps, you are not getting multiple instances of Java libraries loaded...

There is also a Java-Cocoa integration layer, which though deprecated has to be supported and tested.

It's true that Java ports have lagged behind other platforms, but there are some compensations in return. That said it's good to see some option for Java6 support for people that need that.

Re:Why Apple? (0)

Anonymous Coward | more than 6 years ago | (#21494537)

Why Apple? Because Apple's decision to not ship Java 6 with Leopard was Apple's decision. The reason it made this decision is likely to be because Sun is now competing with MacOS X with their open source Solaris offerings. I thought read somewhere that this basically cheesed off Mr. Jobs, so he decided to take his football and go home.

It's a shame, because Apple could own the PC space with the gaffe made by Microsoft with Vista. Apple just isn't bothering, though.

performance of other java apps? (0)

Anonymous Coward | more than 6 years ago | (#21493713)

Will this update improve performance in OS X Java-based appliactions (NeoOffice, jEdit, etc.)? I'm not sitting in front of a Mac at the moment, so I can't test it myself.

Re:performance of other java apps? (2, Informative)

AmaDaden (794446) | more than 6 years ago | (#21493969)

If the programs know to use the new version of Java it should. Java 6 is faster then Java 5(http://en.wikipedia.org/wiki/Java_version_history [wikipedia.org]). According to some other posts the JDK for OSX is built in. With any luck this JDK will replace that one. There is also a chance that the programs will need to be recompiled to take full advantage of it.

Re:performance of other java apps? (1)

Adm.Wiggin (759767) | more than 6 years ago | (#21495655)

Re-packaged I could understand, but what's all this about recompiling? Java bytecode is still Java bytecode, no matter who compiles it.

So Abble... (-1, Troll)

Anonymous Coward | more than 6 years ago | (#21493739)

A mac didn't just work?

It IS available! (0)

doktorZee (682017) | more than 6 years ago | (#21493757)

Its available on the ADC, at least for Tiger. http://connect.apple.com/ [apple.com]

Nope (3, Informative)

apsmith (17989) | more than 6 years ago | (#21493993)

Here's the text from the "release 6" developer preview 1:

Java for Mac OS X 10.4, Release 6 delivers improved reliability and compatibility for Java 2 Platform Standard Edition 5.0 and Java 1.4 on Mac OS X 10.4.10 and later. This release updates J2SE 5.0 to version 1.5.0_13 and Java 1.4 to version 1.4.2_16.


No J2SE 6 there.

Who needs Java 6? (1)

FranTaylor (164577) | more than 6 years ago | (#21493789)

Where are the Java 6 apps out there that make this necessary? Java 6 introduces incompatible changes to JDBC, so new database drivers are necessary.

Okay, developers need it, but why not develop on Linux, which has had Java 6 for some time now?

"Write once, test everywhere"

Re:Who needs Java 6? (2, Informative)

AmaDaden (794446) | more than 6 years ago | (#21494671)

http://en.wikipedia.org/wiki/Java_version_history [wikipedia.org] The main improvements are not what has been added to the language but the improvements that make the whole thing faster. Where I work we recently switched our JSP server from Java 3 to Java 5 and went from having 60% of our pages take under 2 seconds to having 95% of our pages take under 2 seconds. No code changes. Hell, I don't even think we recompiled it. With Java you need to keep in mind that things like memory management that Java does on it's own can always be improved.

still no native swing? (1)

twoboxen (1111241) | more than 6 years ago | (#21493815)

No swing, no thanks... yet.

Re:still no native swing? (1)

Mercano (826132) | more than 6 years ago | (#21494469)

Native swing... you mean AWT? The problem with native controls is that they behave differently and have different capabilities from one platform to the next, meaning that if you are trying to create a cross-platform wrapper library around them, you have to aim for the least common denominator. Hence, they just gave up, left AWT where it was and started work on Swing.

Who are these "many" Mac users? (1, Insightful)

Logic Bomb (122875) | more than 6 years ago | (#21493945)

Who are these "many" Mac users who are supposedly upset about Java 6? There were a couple of very loud-mouthed blog posts at the 10.5 release date, but other than that.... Java developers surely don't make up a group of "many" Mac users.

Re:Who are these "many" Mac users? (1)

MemoryDragon (544441) | more than 6 years ago | (#21494183)

Actually there are many java developers, but many of them have left the mac for developing java apps.

Java whiners (5, Insightful)

revscat (35618) | more than 6 years ago | (#21494213)

(Note: I am a Java developer by day.)

There was a huge, huge stink in the Java community when Leopard was released without Java6. Teeth were gnashed, complaints were shouted from the rooftops, great offense was taken. Threads of truly astonishing lengths [javalobby.org] were generated.

Watching all of this transpire made me incredibly embarrassed of the Java community. (Note: Predictable smart-ass comments can be inserted after the previous sentence.) The hue and cry was simply amazing and, let's face it, immature. "I want Java6 *now* and since it's not there I'm abandoning the Mac as my platform!" In other words: "I'm taking my toys and going home." Very, very few of the complaints were from people who actually depend upon Java6, i.e. are building apps with it. Instead, there was a large sense of entitlement that was unjustified and exhibitied a childish impatience that was amazing to watch, with a strong dose of the usual fanboy/hater streetfight.

*shrug* There were two choices that were much less reactionary: (a) wait for the Apple release Java6 or (b) work on the OpenJDK project. Kudos to Landon for doing this. It's a big start, and will hopefully generate enough interest to move it forward significantly.

Of course, people like to bitch, and neither of those choices fulfills that need.

Re:Java whiners (3, Insightful)

Knara (9377) | more than 6 years ago | (#21494529)

You forgot 3) "switch to an operating system where your development tools aren't beholden to the whims of a single OS+Hardware vendor"

Re:Java whiners (1)

99BottlesOfBeerInMyF (813746) | more than 6 years ago | (#21495775)

You forgot 3) "switch to an operating system where your development tools aren't beholden to the whims of a single OS+Hardware vendor"

Umm, I think this article in part demonstrates that on OS X your tools are not beholden to the whims of Apple, if anyone seriously thought they were. Apple is providing less support for Java in their included dev tools, but it is not like there are not other popular development tools like Eclipse and obviously not even the runtime is being held up significantly by Apple's glacial pace.

Personally, I think Apple is making a mistake by ignoring Java, but then again, why should they do all the work when others will do it for them. I'd much rather Apple and Sun and the community worked together for the benefit of all, since Java is not going away anytime soon, but it would be foolish to rely upon any one supplier for all your dev tools. A big part of the draw of Java is the choices available; unlike .Net or the Visual environments. If this is the response when Apple does not immediately switch to Java 6 I wonder how hardcore C developers will react when/if Apple moves away from GCC.

And convince your customers to do likewise (1)

Foerstner (931398) | more than 6 years ago | (#21495881)

(The subject says it all, but the lameness filter doesn't pay any attention.)

Re:Java whiners (4, Informative)

mgkimsal2 (200677) | more than 6 years ago | (#21494905)

I'm not sure the entire issue was that it wasn't released day 1 with Leopard, but that there wasn't any information on it. Had Apple said "we will release a Java6 Q1 2008", people who *do* write Java software would have a target date for when their businesses could do what they needed to. And had Apple said "we will never support Java6 on Leopard or in the future versions of OS X", people could also have made appropriate changes. Instead, Apple had preview releases of Java6, then removed all mention of them and made no mention of Java at all when Leopard was released. When asked about Java plans, Apple has not responded.

It's the not knowing which is causing *most* of the frustration, not the fact that it's not here right now. Sure, some people might be playing the 'taking my toys home' attitude, but I think the issue is bigger than that. People have staked their careers on Java and on Macs, and now there's a disconnect. When your livelihood is at stake, you might get a bit bitchy. When it's being caused by Apple, a company people get very passionate about, you might get a bit more bitchy.

Re:Java whiners (5, Insightful)

thomas.galvin (551471) | more than 6 years ago | (#21494997)

Watching all of this transpire made me incredibly embarrassed of the Java community. (Note: Predictable smart-ass comments can be inserted after the previous sentence.) The hue and cry was simply amazing and, let's face it, immature. "I want Java6 *now* and since it's not there I'm abandoning the Mac as my platform!"
When I made the switch to Mac, one of the big selling points was Apple's clear statements that "Java was a first-class citizen," and "the Mac is the best Java development environment available." And for a long while, that was true.

Java 6 was released in 2006. Java 5 is from 2004. People aren't crying "we want Java 6 now," they're saying "we'd like your 'first-class' citizen to be updated to something written in the last three years." I don't think that this is unreasonable.

Intel Only for now (1)

dadragon (177695) | more than 6 years ago | (#21494993)

I'd like to see a powerpc port, and I'd be willing to work on it if I understood the platform a little better. I'll wait for Apple to release Java 6, I guess.

Just wanna say thanks (1)

theolein (316044) | more than 6 years ago | (#21495807)

It's people like this who help us idiots who believed that Apple would finally provide timely releases of the JDK after it was no longer the language de jour.
Load More Comments
Slashdot Account

Need an Account?

Forgot your password?

Don't worry, we never post anything without your permission.

Submission Text Formatting Tips

We support a small subset of HTML, namely these tags:

  • b
  • i
  • p
  • br
  • a
  • ol
  • ul
  • li
  • dl
  • dt
  • dd
  • em
  • strong
  • tt
  • blockquote
  • div
  • quote
  • ecode

"ecode" can be used for code snippets, for example:

<ecode>    while(1) { do_something(); } </ecode>
Sign up for Slashdot Newsletters
Create a Slashdot Account

Loading...