Java To Be Opened For Christmas? 243
MBCook writes "At the Oracle OpenWorld conference, Sun's CEO Jonathan Schwartz announced on Wednesday morning that Java would be opened within 30-60 days, which would would mean about Christmas Day at the latest. Sun first announced they would do this back in May at JavaOne but didn't give a date. We've seen rumblings before on this topic. Schwartz also commented on the companies Sun Fire servers, Sun's relationship with Oracle, and general trends."
All I want for Christmas... (Score:2)
64-bit (Score:5, Interesting)
Re:64-bit (Score:5, Insightful)
Re:64-bit (Score:5, Funny)
Think outside the box (Score:5, Funny)
Re:64-bit (Score:4, Insightful)
Re:64-bit (Score:5, Funny)
OK...pick either VB or PHP to hit the dumper. And then everybody who think's he's a programmer who knows only the one that gets GCed.
Re: (Score:3, Funny)
Are you buying?
Re:64-bit (Score:4, Interesting)
Re:64-bit (Score:5, Informative)
Re: (Score:2)
Re: (Score:2)
Re: (Score:2)
Re: (Score:3, Interesting)
Re: (Score:3, Informative)
Re: (Score:2, Interesting)
I dunno if that's the case in Java, but any "hello world" Win32 program is certainly single-threaded.
Re: (Score:2)
Re: (Score:2)
Re: (Score:3, Informative)
Re:64-bit (Score:5, Informative)
http://packages.debian.org/unstable/net/gcjwebplu
[alpha, amd64, arm, hppa, i386, ia64, m68k, mips, mipsel, powerpc, s390, sparc]
Re:64-bit (Score:5, Funny)
Re: (Score:3, Informative)
Re:64-bit (Score:5, Informative)
Re: (Score:3, Insightful)
Been there, done that... (Score:2, Informative)
Re: (Score:2)
Co-ffeee... (Score:2, Funny)
Sorry, couldn't resist, must have had too much caffiene thismorning...
heresy! (Score:2)
Re: (Score:2)
Re:Co-ffeee... (Score:5, Funny)
Re: (Score:2)
Re: (Score:2, Funny)
Re:Co-ffeee... (Score:5, Funny)
Re:Co-ffeee... (Score:5, Insightful)
Using Azureus as an example of memory problems in Java is like using Firefox as an example of memory problems in C++
Re:Isn't the garbage collector supposed to minimiz (Score:4, Interesting)
Only if you redfine 'leak' to be something other than data which is no longer reachable.
A precise collector will always correctly identify the liveness of data, because it knows what is a pointer into the GCed heap. (That is the definition of a precise collector).
A conservative collector is used when an object may or may not be a pointer into the GC heap (e.g., it may be a pointer into memory that is not to be managed by the collector, sometimes it may be another type of object entirely). Conservative collectors must err on the side of retaining possibly (but not provably) unreachable objects, and so can leak. However, for a number of years now, modern approaches such as barriers and generational scavenging asymptotically eliminate such retained dead objects from the managed heap, unless they are deliberately created. Such deliberation usually requires some effort, can be prevented by the compiler, is readily detected at runtime, and is easy to debug.
Bad programming practices can result in the growth of lots of live data. Typically this involves using global variables. Sometimes this is accidental, such as when the top-level retains a history of results returned to it for debugging purposes or other convenience. However, these are not leaks per se -- the data is live in that it is reachable. Making the data in question unreachable (reset the global variable or previous-results list) will allow either type of collector to reclaim the space.
In general it is much more common that memory is consumed by abandoned data that was created in heaps not managed by the collector, and these heaps are almost always used by code written in another non-GCed language. This includes the runtime, libraries, and foreign functions. Usually this is fixed via careful wrapping of the non-GC-language code with finalizers (exceptions, dynamic winding/unwinding, and other techniques), and in most GCed languages which expect to interact with things like the POSIX API this is usually done through libraries written in the GCed language.
Finally, some GC implementations, particularly conservative ones, are simply buggy or are not using modern techniques. In this case it's the implementation's collector leaking, not the language.
Re:Co-ffeee... (Score:5, Informative)
I'll do a test right now, with Java 1.6b2 and Eclipse 3.2 with an Athlon 64: 12 seconds to the workbench.
Yep, that's a long time. Keep in mind Eclipse is a heavy app and I do have many extensions installed. Other Java apps I use regularly, such as pdftk (command line) come up instantly and work very fast.
Properly written Java apps are not slow, though if they use Swing they look hideous.
License (Score:5, Interesting)
Re:License (Score:5, Interesting)
So in other words (Score:3, Funny)
Re:So in other words (Score:4, Informative)
Re:So in other words (Score:4, Informative)
Re:License (Score:5, Informative)
Re: (Score:2, Informative)
Don't be cheap... (Score:2)
Re: (Score:2)
How many days are in your Java? (Score:2)
within methinks
Re:How many days are in your Java? (Score:5, Funny)
The time difference depends on whether or not the garbage collector runs during that time.
Don't get yer hopes up (Score:2, Interesting)
But at this point it really doesn't matter anymore. GCJ already builds many major Java based apps into either Java bytecode or native executables and has long since passed the point where development would be hindered by a Open Source/Free Software release of Sun's version.
GCJ is now bringing a lot more to the table than just cloning the Sun stuff. Sun would never do native executables
Re:Don't get yer hopes up (Score:4, Informative)
Just on a wild guess, since C/C++ doesn't target a VM it'd be like saying "we can get assembler code from C, why can't we get C from assembler code?" Going from byte code is easy (well, not really but...) since eventually the byte code has to run on actual hardware, but I don't think there's any good reverse mapping. In the end, I think you'd end up building a x86 VM inside the Java VM, which would have some terrible overhead.
Re: (Score:3, Interesting)
Not really. GCC generates x86 code in the backend, which operates on some intermediate language. If the same intermediate language is generated from the Java frontend and the C frontend, and the Java bytecode backend handles that full language, it would be possible to compile C to Java bytecode.
Re: (Score:3, Interesting)
It isn't, if you're targetting bytecode. Bytecode is handled as a special case which bypasses GCC's RTL representation.
Since the JVM doesn't allow arbitrary access to memory, it's not feasible to make a Java bytecode backend for GCC. (Java bytecode is Turing complete, so it's technically possible; but you'd have to resort to ugly hacks like representing memory as a gigantic, flat array of bytes.)
Re:Don't get yer hopes up (Score:4, Interesting)
my understanding was it was more like
java-->java bytecode-->GCC internal-->native code
the trouble with java bytecode is that if you wan't it to run on suns vm and certainly if you wan't it to run in any kind of restricted environment it has to pass the bytecode verifier. Short of essentially having an emulated main ram with a C heap inside it (possible but almost certainly not good for performance) passing the bytecode verifier with something compiled from C would be pretty damn hard.
Re: (Score:2)
Something I have been wondering.... GCC now accepts Java source and emits either native binaries or Java bytecode. Can it take C/C++/etc and emit bytecode?
No.
If it is treating bytecode as just another target what if a C# frontend were written? Could gcc take C# on input and emit Java bytecode on the other end? And if a mono backend were added could it compile Java source to it? And if this all came to pass would it be a sure sign the end of times were at hand?
Mono can already do all of this - mono can
Re: (Score:2, Insightful)
WODE is a silly myth promoted by people with an axe to grind, usually those who have no real world experience with Java. Its extremely easy to write portable code in java, but java won't stop you from writing unportable code, just like any other language.
Re: (Score:3, Interesting)
I have worked on shrinked wrap software that was intended to run on both Linux and Windows, and i can tell you that there are little bugs that crop up now and then due to inconsistent handling, rendering issues, font issues, and especially in the way the Look and feels work. Granted it's not as bad
Re: (Score:2)
The problem with that is Java bytecode assumes ac
Re: (Score:2)
How did you come to that conclusion?
This question brought to you by the letters Q, E, and D.
Re: (Score:2)
I know it's too late for anyone to read anyway
Re: (Score:2)
Except for those projects who don't want to fight with managing target platforms. Unlike most C++ libraries Java runs somewhat decently everywhere. No working around OS-specific compiler quirks, GTK not using Aqua on MacOS or Windows not supporting half of the libr
Re: (Score:3, Insightful)
Sez you. In the real world, java has been the language with the most projects on Sourceforge for quite some time. There are also many other repositories. So you don't speak for the majority.
In the Free world portability comes from automake/autoconf and doesn't need to pay the emulation overhead of a virtual machine or any of the other problems.
Again, the majority of languages today, including the open source world, target a
Re: (Score:2)
> been Java compatible and most definatly can't keep up with the current pase one single bit.
And I suspect the GCJ developers would agree with your criticisms but reply thus:
"Yes, GCJ isn't complete yet and doesn't run many programs yet. On the other hand we are continuing to work on it and welcome any and all assistance."
The distro maintainers who ship GCJ as the default Java would probably say: "We
Re: (Score:2)
So instead, they can just for example write an x86 front end for their hardware and recompile/interpret that at runtime and leverage the gcc toolchain? Like Itanium perhaps? Or even modern x86 cpus...
Braindamaged t
An open source VM isnt much use (Score:4, Insightful)
Re: (Score:3, Insightful)
Yes, but do they handle the full language that Sun's VM handles, and are they as fast?
Re: (Score:2)
The 'language' is quite small, it's just the virtual instruction set. Most of the Java platform is the runtime library, which is huge. There are a few non-Sun VMs, and some of them are very fast. The problem is implementing the libraries, and this is difficult because they are so big. The Classpath and Harmony projects are working towards this, but having Sun release theirs under a Free Software license would make
Finally (Score:4, Insightful)
It looks like Sun Microsystems are starting to see the benefits of Open Source technology, first Open Office (Under the GPL no less) then Solaris and now Java, - I can only hope it catches on throughout the industry.
Just a couple of points - I know that Java isn't being released under the GPL, and that there are still some interesting debates going on about the CCDL and interoperability with the GPL (I wont even pretend to know the precise issues), but it is definitely a good thing. Since Sun Microsystems is primarily seen as a hardware company, and presumably isn't too worried about the revenue's it is losing from the software sales it could have had (I know this doesn't apply to Java but it could have to Open Office and did to Solaris) it does mean that nothing that they are doing can be readily applied to a Software company. So anybody suggesting that Microsoft et al should start Open Sourcing their code because it works for Sun Microsystems is probably a little off the mark.
Well anyway - Be a good day when it *actually* happens and his is very good news. I wonder if I should look at using Java...
PS: By the way (and slightly random) my spell checker in OO.org attempts to correct CCDL as CUDDLY and GNU-GPL as SNUGGLE, how sweet.
Re:Finally (Score:4, Insightful)
The fact of the matter is that they for the most part suck. As you mention yourself, they are only now close to becoming 1.4 compatible. The problem, of course, is that 1.5 was a huge improvement over 1.4 and it came out over 3 years ago. 1.6 is in beta 2 and will be released soon.
You can spend a lot of time discussing performance comparisons between the different VM's like SableVM, but that's not really interesting. It doesn't really matter which "free" VM you use, you still don't have a modern class library available until Sun releases theirs. That is why an open sourced version of Java is interesting for these parties.
Personally, I think the Sun VM is fantastic, but giving the "free" alternatives the ability to use the same class library will only increase competition and that is good for everybody. Today, they are playing the catchup game, and that must be really boring, since no one that really matters actually use their product for anything important.
Firefox : Iceweasel :: Sun Java : ??? (Score:4, Insightful)
Re: (Score:3, Insightful)
And wasnt that why Sun Microsystems were *not* going to Open Java? Im sure I remember reading that they wanted to maintain control of the development of the language and its implementation, although that was a long while ago.
I wouldn't though compare this to the Debian - Firefox - Iceweasel scenario though, as Debian are not Forking Firefox, developing it independently and making it less compatible, but simply working around some (legitimate) issues that Debian have with Mozilla. (and Mozilla has
Re: (Score:2)
Re:Firefox : Iceweasel :: Sun Java : ??? (Score:4, Insightful)
While not 100% true in all cases, the beauty of java isn't really in the base JVM, its in J2EE. At least, it is what pushes it in the corporate space, where the money is. With that in mind, a specific J2EE implementation usualy has a couple of "supported" JVMs (sometimes only one even). So I suspect even these alternate JVMs, at least the serious ones (which would want to work with J2EE, or else be forgotten), will stay in line (read: compatible) with the commercial J2EE implementations, or die. So while we WILL see a bunch of weirdo useless JVM/Java implementations (I realise both aren't the same thing, but the logic still stands), there should be a couple that stay at the top, and we'll just use those.
Re: (Score:2)
Re:Firefox : Iceweasel :: Sun Java : ??? (Score:5, Insightful)
So? There already are several more versions of Java. What keeps the ones that succeed largely compatible isn't licensing (as the non-Sun, non-Microsoft ones are reverse-engineered, not licensed) but the fact that there is no interest in incompatible "Java". Releasing Sun's implementation under the GPL (or the CCDL, or, heck, into the public domain) isn't going to change that.
Re: (Score:2)
I see what you're doing there..
Re: (Score:2)
No thanks, my pants are already full.
Re: (Score:2)
This is why open computing is not based only on the available of open source. Another key element of open computing is open standards. Java has open standards; you can go download the Java Language Specification [sun.com] and check if any given implementation conforms to it or not. You can also go download the Java Virtual Machine Specification [sun.com]
Extensive libraries (Score:2)
But how big is the Java Library Specification? How can one be sure that an implementation of all of java.* and javax.* is 1. possible within human life span and 2. correct?
Re: (Score:2)
The end result was Microsoft creating
umm yeah ... who cares (Score:2, Insightful)
Re: (Score:3, Informative)
solaris was never a big player on anything other than (expensive) sun hardware and even there linux was creeping in.
sun java is the primary implementation of java. That is it is what everyone writes there code to work with and what you expect to find if you purchase java hosting.
as to the license terms iirc the CDDL is a mozilla like license, incompatible with the GPL (but then so is nearly every copyleft license other than the GPL itself). Opensourcing the real thing will remove mo
Re: (Score:3, Insightful)
And HW accelerator licencing ...? ARM, AVR32, etc (Score:5, Informative)
Still wondering if this means they'll be opening up specs on how the ARM Java acceleration works ... it would be nice to have some of those free JVMs able to use that to speed up their
bytecode interpretation.
For those of you who don't know about this, most modern ARM CPUs -- like the ARM-926ejs as found in the Nokia 770 and many cell phones -- include three processor modes: (1) pure 32bit ARM instructions, (2) a 16-bit compressed version of ARM instructions called "Thumb", widely used in microcontrollers, (3) an 8-bit Java bytecode interpreter. The first two have public documentation. But ARM won't give docs to the last out, because Sun won't let them do that; you need a separate licence from Sun to get those documents. So it's fully within Sun's power to open up some widely available Linux-savvy hardware to run Java a lot better ...
There's another CPU that's in the same kind of boat, the new AVR32 from Atmel. You may have noticed that Linux 2.6.19-rc includes initial support for that architecture. AVR32 CPUs have analogues of (1) and (3) above ... but again, Atmel won't give docs to
the Java acceleration out, because Sun won't let them do that.
(And for background info: yes AVR32 is very new, likely its audience today is almost
all developers, only one model of chip available so far.)
So how about it, Sun ... are you really going to open Java up??
Re:And HW accelerator licencing ...? ARM, AVR32... (Score:2)
My question isn't about J2ME or any blob of Sun code though. It's about actually having an open technical ecosystem. That said:
I'll believe it when I see it. (Score:2, Insightful)
I'll belive this is really "open" when (if) I see it and it's really open.
And if so it will be a first for Sun.
Re: (Score:3, Informative)
Re: (Score:3, Informative)
OpenOffice,
OpenSolaris,
NFS,
Netbeans,
GlassFish
etc etc
Sun also contributes to Gnome, X.org, PostGreSQL, Mozilla and many other projects.
Get a fucking clue and stop spreading the same old FUD.
Re: (Score:2)
I stand corrected.
You're right: At the very least about OpenOffice,
and I should have remembered that they DID release
the code (even though they kept the "Star" version,
which my employer runs on many of its machines,
proprietary.)
The first time they "opened" Solaris they didn't
really - one of those non-free licenses - and I
threw in the towel on paying attention to them
when I migrated from last personal Sun instalation
to Linux.
Which decade are you referring to?
'80
In other news... (Score:2)
... the new Amiga is just around the corner!
I'll believe it when it happens.
It's essential that Java not fragment (Score:2, Insightful)
An even wiser zen monk didn't go into a fast-food joint, and said
"Make me one OF everything."
One standard version of core Java things like the language definition, bytecode definition,
and the annointed standard libraries is absolutely ESSENTIAL to Java's continued success.
Because "one of everything" means that a java app and library code-sharing culture and a
shared and reusable expertise can flourish. Fragmentation of the cor
IBM Trolls (Score:5, Interesting)
Have they ever heard of NFS? OpenOffice? OpenSolaris?
Is there something wrong with the CDDL that's not wrong with the Mozilla license? From what I understand, the CDDL is similar to the Mozilla license but simpler. I invite every single one of those armchair critics to stop using Firefox if they're so adamant.
Unlike IBM (with the exception of Eclipse), Sun actually *open sources* stuff. I invite those IBM trolls to push their corporate master to open source WebSphere, DB2, Rational Rose, or Lotus Notes.
Re:IBM Trolls (Score:4, Insightful)
In all fairness, FF is dual-licensed under the GPL.
Re:IBM (non)Trolls (Score:2)
You don't need to be from IBM to be extremely skeptical about Sun's record of open sourcing Java. They have repeatedly promised to do that, and never done it. It's been many years now ...
Do you maybe recall the whole bit about pushing Java through ECMA? The reason that fell down is that ECMA required real openness, and Sun was unwilling to let the reins loose enough to achieve that. So they created their own quasi-open "Community Process", which they control to a degree that is completely incompatible
Apache Harmony - Open Source Java SE (Score:2)
Nothing better to find in your stocking.... (Score:4, Funny)
Thank you, thank you, I'll be here all night!
Okay, please run the stock up. (Score:2)
Re: (Score:2)
Re: (Score:2)
Re: (Score:2)
1)
2) The original post is quite right, SUN (even though it was a license dispute) argued specifically against JAVA being NOT under th
Re: (Score:2)
Re: (Score:3, Informative)
Interesting. The Open Source Initiative disagree with you [opensource.org], and the Free Software Foundation describe it as a GPL-Incompatible, Free Software License [fsf.org]. Sounds pretty open to me. Oh, and I actually have read the license; I suggest you do to.