Catch up on stories from the past week (and beyond) at the Slashdot story archive


Forgot your password?
Java Programming Sun Microsystems IT Technology

Java 1.5.0 Now Officially Java 5.0 534

Quantum Jim writes "In a move which out-does Netscape's one-version number skip and Winamp's two-numbers skip, Sun has announced that the upcoming Java2 release will be marketed as version 5.0, skipping three-and-a-half numbers. Can version 6.022E23 be far behind? Thanks to David Flanagan for the heads-up."
This discussion has been archived. No new comments can be posted.

Java 1.5.0 Now Officially Java 5.0

Comments Filter:
  • by Anonymous Coward on Sunday July 04, 2004 @06:26PM (#9608768)
    Slackware's comes to mind. Any others?
  • by MikeXpop ( 614167 ) <mike.redcrowbar@com> on Sunday July 04, 2004 @06:27PM (#9608774) Journal
    Winamp 5 isn't exactly Winamp version 5. It's more like 3.5. They used the number 5 because they wanted the features of 3 with the speed and ability of 2. 2+3=5. And that's where they got the number.
  • by NitsujTPU ( 19263 ) on Sunday July 04, 2004 @06:27PM (#9608779)
    From briefly viewing some literature about Java 1.5.0 (er, 5.0... W0w!) the feature that excites me most about this is the ability to strongly type container classes, such as one can do in Ada or C++.

    • by MarkWPiper ( 604760 ) on Sunday July 04, 2004 @06:41PM (#9608877) Homepage
      While this is a nice feature, it is strictly (at least for now), syntactic. The difference is that the expense of casting is still occurring under the hood; you just no longer have to bother typing it out. I believe people are referring to it as 'autoboxing'. Therefore, these strongly typed container classes are not as powerful as C++'s templates.

      I read a pretty good interview w/ Eckel and that guy who has done most of the work on C#. The creator of C# was bashing Java's generics, because they aren't giving the full performance possible. And I agree. There is still such a thing as performance critical code, and Java can make it frustratingly hard to write it. Providing featureful, fast data structures would be a good place to start.

      I can't find the article I'm referencing, but this sums up Eckel's view. []

      Pizza [] was an alternative implementation of generics for Java. I wish that Sun had chosen this project as their basis for 1.5's generics, rather than GJ (Generic Java). I believe its implementation is much closer to that of C++'s templates. I'd love to use pizza, but it's just not wide-spread enough to justify it in enterprise code.

      • If you liked Pizza, maybe you'll like Scala [], a functional, multiparadigm language developped by the same author, Martin Odersky. I have him as a programming teacher, and we learnt functional programming with Scala. It was a great course, and the language is really elegant and powerful.

        It has bindings with Java and .Net, but remains functional-oriented.
      • by therealmoose ( 558253 ) on Sunday July 04, 2004 @07:18PM (#9609126)
        Auto(un)boxing is the (de)encapsulated of raw types (int, char) into their wrapper classes (Integer, Character) and back as required. Instead of:
        int i = ((Integer) container.get(indx));
        auto(un)boxing allows you to just type:
        int i = container.get(indx);
        It is quite unrelated to generics.
      • by newhoggy ( 672061 ) on Sunday July 04, 2004 @08:13PM (#9609496)
        Sun's move is actually a very smart move because Java's value is not in the language or the VM, but the libraries. Not just the libraries that come with the JDK, but the huge number of libraries "out there". This move allows them to make all libraries 100% backward compatible.

        Once the greater majority of libraries have been rewritten to fully utilise genericity, it would be time to think about integrating generics into the VM.

      • While this is a nice feature, it is strictly (at least for now), syntactic. The difference is that the expense of casting is still occurring under the hood; you just no longer have to bother typing it out.

        Are you sure? I understood that it worked by generating implicit subclasses of your generic type that are customized in terms of return type. So if you had say an object of type Iterator, the run-time environment would procede as if the object's next() function was declared as "String next ()" ?

  • 95 - 2000 (Score:3, Funny)

    by alitaa ( 636041 ) on Sunday July 04, 2004 @06:28PM (#9608780)
    that number skip was quite huge too :p
  • Isn't GNU Emacs really at version number 1.21.x.y but they just skip the leading "1." when writing it? Then this would be the same, except that it's just a programming language and not an operating system in desperate need of a good editor.
  • by Anonymous Coward on Sunday July 04, 2004 @06:28PM (#9608786)
    Sun already jumped 1.2 and called it "2".
  • Whoa (Score:2, Insightful)

    by Jugalator ( 259273 )
    Hmm... That must be some kind of record?

    Although Microsoft did go from Windows NT 4 to Windows 2000, that wasn't really a version jump (Windows 2000 = Windows NT 5) but a change of branding.

    Anyone know even greater version inflations?
    • Re:Whoa (Score:3, Informative)

      by jrumney ( 197329 )
      Anyone know even greater version inflations?

      Emacs 1.12 to 13.0. Like Java, its not a real version skip, just the initial "1." got dropped because it seemed superfluous if it was never getting updated.

  • Awesome (Score:2, Funny)

    by Anonymous Coward
    This will go great with my new copy of Linux 10.0.
  • The preceeding 1 has never really meant anything it has been there since Java has been called Java IIRC. So really they have just dropped a superflous digit from the front of their version numbering system. Think of it as a refactoring...
  • Good to know... (Score:3, Insightful)

    by Mark_MF-WN ( 678030 ) on Sunday July 04, 2004 @06:29PM (#9608794)
    Good to know that Sun is hard at work, coming up with strange new ways to confuse the end-user.

    Seriously though -- I love Java, but Sun needs to pull its head out of its ass before C#, PHP, and Python relegate Java to the scrap heap.

  • by nurb432 ( 527695 ) on Sunday July 04, 2004 @06:30PM (#9608803) Homepage Journal
    With how everyone has been treating them, versioning is pretty much worthless, beyond identifying what you have..

    None is consistent, there is no 'standard' and its ( as is apparent by the story, and many in the past ) all arbitrary...
  • by nagora ( 177841 ) on Sunday July 04, 2004 @06:32PM (#9608810)
    As someone who is sitting here with "Learning Java" on the desk, I was already wondering why Java2 was called 1.4.x.


    • by barcodez ( 580516 ) on Sunday July 04, 2004 @06:39PM (#9608869)
      When Java SDK went from 1.1.x to 1.2.0 they decided that they had made lots of big changes (IIRC Swing and Collection.. possibly Inner classes *shrug*) so they called it Java 2. However when they went from 1.2 to 1.3 they hadn't made too many major changes so they didn't bother and the same for 1.4. There are lot's of changes in 1.5 so I guess they thought they should give it a new number. However Java 2 version 5 is stupid as is J2SE 5 and J2EE 5 - all very confusing for everyone.
      • When Java SDK went from 1.1.x to 1.2.0 they decided that they had made lots of big changes (IIRC Swing and Collection.. possibly Inner classes *shrug*) so they called it Java 2.

        Then why not Java 2.0? Why Java 2 1.2? I ask because I've been confused by this before, though got it worked out.
    • Java 2 started with 1.2. They should have stuck with that naming scheme, as its confusing that Java 1.2 is also known as Java 2, and 1.5 is also known as Java 5, but 1.3 and 1.4 are still Java 2.
  • by eidechse ( 472174 ) on Sunday July 04, 2004 @06:32PM (#9608812)
    "This is the version you're looking for."
    [waves hand Alec Guinness style]
    • Alec Guinness was always my favorite.

      AG: "This isn't the code you're looking for"
      SCO: "THis isn't the code we're looking for"
      AG: "You're a bunch of whiny assholes"
      SCO: "We're a bunch of whiny assholes"
      AG: "Slashdot was right all along"
      SCO: "Slashdot was right all along"
      AG: "Move along"
      SCO: "Move along, Move along"

      Linus Torvalds: "I thought for sure they were going litigate us"
      AG: "The force is your ally to a weak mind"

      Not that I'm implying any SCO code is in linux, but if you couldn't see that
  • by ameoba ( 173803 ) on Sunday July 04, 2004 @06:32PM (#9608815)
    They should've just adopted an existing versioning system such as the one GNU Emacs uses and called it Java 15.0 to avoid creating any unnecessary confusion.
  • by Tar-Palantir ( 590548 ) on Sunday July 04, 2004 @06:33PM (#9608819)
    6.022E23 is Avogadro's number, the number of atoms in a mole of an element.
    • Yes, but non-scientists probably think that a mole is just a furry animal. :-)

      For the confused: 6.022E23 represents the number of molecules in a large container of any gas (specifically a 22.4L gas can). That's why Avogadro's number is important.

      • by Noren ( 605012 ) on Sunday July 04, 2004 @07:06PM (#9609056)
        That's only true for an ideal gas at STP (Standard temperature and pressure). Admittedly, this is where a lot of courses emphasize moles to learn the Ideal Gas Rule. In the real world things aren't quite so simple (and no real gas is truly ideal, that's just a first-order approximation.)

        The formal definition of a mole is that it's the number of atoms in 12 grams of the isotope Carbon-12. The molecular weight of atoms as listed on a periodic table represent the average mass of a mole of the element in naturally occurring proportions. In the case of Carbon, small amounts of the 13C and 14C isotopes result in an average mass slightly above 12.

    • by fcw ( 17221 ) * on Sunday July 04, 2004 @08:41PM (#9609649)
      Now also known as Javagadro's number, the number of functions in the standard class libraries.
  • by YetAnotherAnonymousC ( 594097 ) on Sunday July 04, 2004 @06:33PM (#9608821)
    I'd settle for 3.0 if they had picked that. Java 1.2 would be 2.0 (inner classes, collections, other major additions).
  • it was confusing enough when java 1.2 was marketed as "java 2," and we subsequently saw java 2 1.3 and java 2 1.4. But java 2 5.0? That's just rediculous. :)
    • java 1.2 was marketed as "java 2," and we subsequently saw java 2 1.3 and java 2 1.4. But java 2 5.0?

      it'll probably be Java5 1.5. however, they may have thought of exactly what you thought of and decided to dump the whole dual versioning system and jump from 1.4 to 5.0.
    • just wait until 1.6 comes out, and then we'll see java2 5.0 1.6 ;)

      seriously though, it seems like sun should just pull an emacs, drop the "1.", and use the minor version number as THE version number from now on. Then the ordering would become sane; we'd have java5 now, java6 next, java7 later on, etc.
    • Java vs. JDK (Score:3, Insightful)

      by autopr0n ( 534291 )
      Well, the 'language', the 'ideal' of java is at version 2, while the development kit is 1.4. However, apperantly Sun has decided to rename their development kit from 1.5 to 5. So now we have J2SDK 5. Which is just bizzare.
  • by fastdecade ( 179638 ) on Sunday July 04, 2004 @06:34PM (#9608831)
    Anyone who says this is irrelevant, we should focus on the technology etc, has failed to understand that software is about more than technical details.

    Managers don't understand the details - they don't bother to learn that 5.0 is really 1.5, and they make decisions based on their high level views.

    Sun has hurt Java's name, and let its developers down, with this absurd naming move, a repeat of the shambolic schizophrenic 1.2/2.0 business years ago.

    So now we have Java 2 Version 5????? Employers will want to know why developers haven't done any version 3 and version 4. And it will certainly confuse the crap out of them.

    Java has a good name for professionalism, but whoever came up with this ought to hang their head in shame.
  • by Croaker ( 10633 ) on Sunday July 04, 2004 @06:38PM (#9608857)
    God, I hate marketing. Why do you have to have yet another number attached to a product? I could never figure what the hell Sun was talking about when they would go off on "Java 2", but then sprinkle in "1.4" or "1.5" when talking about the JDK. or JRE.

    Jesus. Just give me a version number so I can track what it's compatible with, and what features it has. If you're bumping up your version number for a product, bump them for all related ones as well, in the same increment. Don't make me try to figure out what version number of the language is supported by which version number of the developer's kit for god's sake. Is it so damn hard?

    I thought marketing was suppose to create clarity in the minds of the potential customer. Screwing around with numbering schemes isn't the way to do that. I don't care what your internal taxonomies are. Just label the thing, and stick with it.

    I also take it that Sun's marketing/engineering is stealing their "internal" project naming protocols from Apple?

    • by Mark_MF-WN ( 678030 ) on Sunday July 04, 2004 @06:54PM (#9608979)
      What world do YOU live in? It sounds like a pretty nice place. Where I live, marketing is intended to confuse and bewilder the customer so that they pay for things that they neither want nor need.
    • I could never figure what the hell Sun was talking about when they would go off on "Java 2", but then sprinkle in "1.4" or "1.5"

      Amen brother. Tell it like it is. How does Sun expect to compete with .Net if they can't even stop confusing everybody over the version numbers. They're just version numbers for crying out loud. Bring them in line ... just make them both higher than they were before, but the same number.

      • You're joking, right?

        You're asking how sun can compete with Microsoft's .NET initiative in terms of confusing people?

        Tell me, what version of the .NET framework are you running? What version of studio .net and what version of the project files? Do you know the differences between the syntax of line end points between library version 1.0.3333 and 1.0.5000 (the library version used with Framework 1.1)? Have you checked your global assembly cache lately?

        Shit man. Most people still don't even know what .
    • I thought marketing was suppose to create clarity in the minds of the potential customer.

      Aaawww... they're so cute when they're all innocent and naive like that. (^_^)

      Marketing is the reason I can buy two different brands of low-cal Pepsi (Diet Pepsi and Pepsi Max(*)); any differences are relatively minor, but Pepsi Max allows men to buy the stuff without being seen drinking a "girl on a diet" drink.

      Marketing is meant to sell stuff. Whether Sun will actually do this with their fscked-up numbering is
  • by notsoclever ( 748131 ) on Sunday July 04, 2004 @06:39PM (#9608865) Journal
    Remember when they released Solaris 2.7 as Solaris 7 instead? Nothing new here.
  • Marathon once changed its name to Snickers. Opal Fruits became Starburst. The Splicer sank without trace. What happened to Spangles?
  • versions of tomorrow (Score:3, Interesting)

    by MrLint ( 519792 ) on Sunday July 04, 2004 @06:48PM (#9608923) Journal
    Well there has been some speculation for the past several years what will happen when apple set to MacOS 10.9 (X.9)?

    Will it be 11? XI?
  • Oracle (Score:3, Informative)

    by snowtigger ( 204757 ) on Sunday July 04, 2004 @06:48PM (#9608931) Homepage
    I believe Oracle started by releasing version 2.0

    "to make it sound like it had improvements from the first version"
  • by damm0 ( 14229 ) on Sunday July 04, 2004 @06:49PM (#9608936) Homepage Journal
    Hey, if it works as a marketing ploy and increases the number of people who want my skills, I'm all for it.
  • by omicronish ( 750174 ) on Sunday July 04, 2004 @06:50PM (#9608945)
    that Java is better than C#/.NET: 5.0 > 2.0. I was so confused as to which I should choose. Thanks Sun for helping!
  • Java numbering... (Score:4, Insightful)

    by Kindaian ( 577374 ) on Sunday July 04, 2004 @06:52PM (#9608959) Homepage
    Why not calling it just Java 2004???

    After all, we are all talking about vintages aren't we?

    More seriously, Sun should just drop the Java 2/5 numbering and just use the year that is launched as the "brand"... and keep a "internal" version number for identification purposes...

    That would keep the market droids happy and the programmers would have both an inteligent numbering and a discreet numbering to work with...
  • java -version (Score:3, Insightful)

    by mpn14tech ( 716482 ) on Sunday July 04, 2004 @06:58PM (#9608999)
    The question is what will java -version or System.getProperty("java.version") show. This could be a big deal for installers that expect a specific version format string. A similar case is in Windows 2000 the api version returns 5.0 and Windows XP returns 5.1
    • Re:java -version (Score:3, Informative)

      by harmonica ( 29841 )
      The second beta still has the 1.5 naming scheme:
      java version "1.5.0-beta2"

      Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0-beta2-b51)
      Java HotSpot(TM) Client VM (build 1.5.0-beta2-b51, mixed mode, sharing)
  • by Pharmboy ( 216950 ) on Sunday July 04, 2004 @06:59PM (#9609013) Journal
    In other news:

    Linus Torvald announced today that the next version of the Linux kernel will be released a "Linux Kernel Version 11". Said Torvald, "Thats one more than Mac's OS, and several more than Microsoft, so people will know its better."
  • by ringer9cs ( 743732 ) on Sunday July 04, 2004 @07:02PM (#9609036)
    What happened from Gentoo Linux 1.4 to Gentoo Linux 2004.0!!!
  • by Boyceterous ( 596732 ) on Sunday July 04, 2004 @08:38PM (#9609633)
    They should have called it
    Seven of Nine
    and introduced a couple of bulging container classes.
  • Common for Sun. (Score:3, Interesting)

    by jellomizer ( 103300 ) * on Sunday July 04, 2004 @10:20PM (#9610113)
    Take a look at solaris versions. Well there were 2 sets of versions Solaris and Sun OS

    There was Solaris 2.5 and 2.6 then they made solaris 7 aka 2.7 then solaris 8 and solaris 9 and if you check the version numbers you get Solaris 2.9 and SunOS 5.9

    This seems to be common for sun when their product seems to reach maturity and they are not planning on doing a major overhall to their product they will drop the first diget then make the 10s spot the version number. I Think it is more for an advertisement thing because a lot of people dont like getting incremental updates .1 .2 .3 they like getting v2 v3 that way it sounds like they are getting a major version change. But with Java Code being stablized people are still on 1.2 and 1.3 where they really should be at 1.5 for best functionally.
  • by greyhoundofdeath ( 783411 ) on Monday July 05, 2004 @02:19AM (#9611132)
    Let take a look at some airliner sequences. Just when you think they're being consistent, they zing you.

    A310 up 10
    A320 up 10
    A330 up 10
    A340 up 10
    A319 down 21
    A321 up 2
    A380 up 59

    727 up 20
    737 up 10
    747 up 10
    757 up 10
    767 up 10
    777 up 10
    717 down 60
    7E7 D0?
    I guess they've been using HEX all along. Who the $#%^ versions in HEX?

Beware of Programmers who carry screwdrivers. -- Leonard Brandwein