Slashdot is powered by your submissions, so send in your scoop

 



Forgot your password?
typodupeerror
×
Java Programming

Java SE 7 Finally Approved By JCP, 13 To 1 101

medv4380 writes with news from InfoWorld about the near-term future of Java: "Java Platform, SE (Standard Edition) 7 has been passed this week by the JCP Executive Committee for SE/EE (Enterprise Edition), by a vote of 13 in favor and 1 — Google — against. Oracle, IBM, VMware, Red Hat, and Fujitsu are among the affirmative votes, and two committee members — Credit Suisse and Java architect Werner Keil — did not vote. Specifically, committee members voted on Java Specification Request 336, which pertains to the Java upgrade. Voting on the public review ballot for Java SE 7 finished up earlier this week after beginning on May 31. Java SE 7 still faces another vote on a final approval ballot."
This discussion has been archived. No new comments can be posted.

Java SE 7 Finally Approved By JCP, 13 To 1

Comments Filter:
  • "While Google supports the technical content of this JSR, we are voting no because of its licensing terms"

    Typical

    • Re:GOOG (Score:5, Informative)

      by dkf ( 304284 ) <donal.k.fellows@manchester.ac.uk> on Friday June 10, 2011 @07:38AM (#36398898) Homepage

      "While Google supports the technical content of this JSR, we are voting no because of its licensing terms"

      Typical

      Interesting that they view the licensing and transparency as deal-breakers [jcp.org], and doubly interesting that a majority of the committee members feel somewhat supportive of that position (but not enough to vote against).

      • Re:GOOG (Score:5, Insightful)

        by Metabolife ( 961249 ) on Friday June 10, 2011 @07:44AM (#36398944)

        Interesting that they view the licensing and transparency as deal-breakers [jcp.org], and doubly interesting that a majority of the committee members feel somewhat supportive of that position (but not enough to vote against).

        How I understand it is this: The licensing terms restrict Google from making their own platform specific version using the spec. It basically stops Google from rebranding Java to "Gava" and using it as the language of choice on Android.

        • Maybe you are thinking of Microsoft (C# one example). Java is the language of choice on Android already and has been from the start. They just want everyone to stop suing them for it, so they can focus on doing cool stuff. Oracle is the beast here that needs to be rained in, not Google.

          How I understand it is this: The licensing terms restrict Google from making their own platform specific version using the spec. It basically stops Google from rebranding Java to "Gava" and using it as the language of choice on Android.

      • Re:GOOG (Score:5, Informative)

        by owlstead ( 636356 ) on Friday June 10, 2011 @08:09AM (#36399170)

        The problem is that Java is not free at all. The platform is open source (GPL2), but Oracle does not allow any compatability testing between different implementations e.g. with a more permissive Apache license. Basically, because of patents, it is open source as long as you keep your frickin' hands off of it. Google has a strong invested interest because it uses Apache classes (which cannot be validated as being Java) within its Android operating system. And they are getting sued over it. Google certainly uses Java a lot, although it would go way to far to name it a "Java shop".

        The problem is that Java 7 has been long, long overdue. It's not that 1.6 is bad; far from it. It's just that people are starting to lose interest. For Java to stay alive, we *need* 1.7 and quickly - and if possible with as much buzz as possible. Java still is by far the best maintainable language. That is something we don't want to loose, especially since there are few competitors regarding stability, security and maintainability.

        In the end, they are essentially choosing between progress and halting because of licensing issues. As halting it now ay come to stopping Java altogether. Personally I think that Oracle should immediately stop with the licensing bulshit around android, but this is a technical issue, and I would have voted yes myself.

        • by Surt ( 22457 )

          Not intended to be a grammar/spelling nazi or whatever, but since the rest of your post was coherent and well written, I thought there was a chance you might be interested in knowing that the phrase you were looking for was:
          http://en.wikipedia.org/wiki/Vested_interest [wikipedia.org]

          • Thanks, I'm pretty well versed in English, but it's not my native tongue. And with slashdot you can only spend so much time reviewing your article, It's approx. one hour before people start to loose interest.

            • by Surt ( 22457 )

              Exempting that minor idiomatic mistake, your written English is better than most who learned it as their first language.

        • The problem is that Java 7 has been long, long overdue. It's not that 1.6 is bad; far from it. It's just that people are starting to lose interest.

          Oh give me a fucking break. Java is the defacto-standard programming language taught in schools, it's the language of choice for mobile devices (thanks to Google, by the way) as well as the business world.

          It's a programming language, not fucking MTV. You don't need to keep changing things every 15 seconds to keep the kids' attention span. Shit, C only gets upd

          • Yes, you may be right. Sometimes it is hard though to distinguish between the fans of the new fangled (scripting) languages and what's going on in the real world. The thing is that you need a certain amount of interest, otherwise it *will* become some kind of Cobol. Something that is *only* maintained because there is so much stuff written in it. You need a certain amount of inovation to keep bright minds interested.

            Within our company, we are more and more migrating away from C/C++ because of this. The amou

    • Re:GOOG (Score:5, Informative)

      by Tomahawk ( 1343 ) on Friday June 10, 2011 @08:04AM (#36399130) Homepage

      On 2011-06-02 Google Inc. voted No with the following comment:
      While Google supports the technical content of this JSR, we are voting no because of its licensing terms. As per the JCP resolutions of 9/25/2007 and 4/7/2009, "TCK licenses must not be used to discriminate against or restrict compatible implementations of Java specifications by including field-of-use restrictions on the tested implementations. Licenses containing such limitations do not meet the requirements of the JSPA, and violate the expectations of the Java community that JCP specs can be openly implemented."

      The proposed license clearly violates this requirement (see Exhibit A, Section II). Oracle was duly reminded of this when JSR-336 was first proposed, but has done nothing to address the issue. It would be wrong to condone the inclusion of field-of-use restrictions in a TCK license, as this clearly violates the JSPA, by Oracle's own admission. Google does not want to slow the progress of this release, but we do believe it is critical that this issued be addressed, in order to comply with the JSPA and to preserve the openness of the Java platform.

    • Re:GOOG (Score:4, Insightful)

      by Joce640k ( 829181 ) on Friday June 10, 2011 @08:11AM (#36399194) Homepage

      Typical

      You expected Google to vote in favor of something that validates the Java-patent-troll-lawsuit against them?

  • And....? (Score:4, Insightful)

    by MetalliQaZ ( 539913 ) on Friday June 10, 2011 @07:36AM (#36398882)

    I don't like this summary. Who cares? Tell me why the vote was important. Why "finally"? Was it delayed? Why did Google vote against? What are the new features? Why is this on the front page?!?

    • Re: (Score:3, Informative)

      http://jcp.org/en/jsr/results?id=5207 [jcp.org] There you will find the comments... It is good to see that it is not google the one that would like the license of java changed, but IBM and SouJava as well.
    • Google voted against because of licensing terms. Specifically, Oracle has been using their newfound ownership of Java to harrass the Apache foundation, and their free open-source Harmoney implementation of Java. Several other major firms, (IBM & Red Hat) complained in their comments after the vote. They have refused to grant Apache a tck (Technology Compatibility Kit)

      Source: http://en.wikipedia.org/wiki/Apache_Harmony#Difficulties_to_obtain_a_TCK_license_from_Sun [wikipedia.org]
    • The idea of the summary is to get you to read the article. The article seems to have links to the past issues with Java, which have been discussed on slashdot since forever. Basically you are complaining that the *summary* does not have background info. Unfortunately, it's supposed to.

      • The purpose of the summary is not to get you to read the article. It should, you know, summarize. Summaries on Slashdot should also be informative on their own; a "digest" version of the article.

        RTFA complaints are valid, but only if the original poster is making false assumptions that are contradictory to the facts in the article.

        • No, no, I want everything in news-teaser form, like:

          - "Big changes for Java today! Did Java SE 7 pass muster? Click here!"
          - "What happens when scientists think they've captured the God particle? Click here!"
          - "Sarah Palin gets exposed in Alaska! What's the biggest surprise? Click here!"

          • Who in their right mind want to see Sarah Palin naked? Nobody sane would click that article :)

    • Why "finally"? Was it delayed?

      Because Java 6 was released in 2006 and prior to that there was a steady stream of releases every 2 years or so. Then Sun was bought up by some no name Oracle that I'm sure you've heard nothing about, and Java 7 was put on hold until the sale went though all the legal stuff, and that took a while. Then Apache, that other nobody, threw a fit and tried to shut down the JCP process over the same issue Google, and others have *not enough sugar in their java*.

      Why is this on the front page?!?

      Someone thought it should go there. Probably was a

  • Google's complete comment from the vote log: "On 2011-06-02 Google Inc. voted No with the following comment: While Google supports the technical content of this JSR, we are voting no because of its licensing terms. As per the JCP resolutions of 9/25/2007 and 4/7/2009, "TCK licenses must not be used to discriminate against or restrict compatible implementations of Java specifications by including field-of-use restrictions on the tested implementations. Licenses containing such limitations do not meet the r
  • by Anonymous Coward
    But still no unsigned integers? Fucking stupid language.
    • by Anonymous Coward

      +10 informative.

      How can anyone claim something is a computer language when it doesn't have unsigned computational data types. I mean what is this crap. VBA ?

      Java is a great idea with a retarded implementation.

      • by Ant P. ( 974313 )

        Java is a great idea with a retarded implementation.

        So to extend that logic, Postgres is a retarded database for also not having unsigned integer types? You must love Oracle's MySQL almost as much as you hate Oracle's Java.

    • Comment removed based on user account deletion
      • Because sometimes one wants numbers that simply can't be negative, by definition.
      • That's about as dumb as saying why do you want a car when you have a washing machine. Unsigned integers have little to do with wanting a "biginteger". For example, when dealing with 8-bit bitmaps and doing pixel manipulation you WANT an unsigned byte because you are not going to have negative values. There are numerous other cases in which you are dealing with 4-bit, 8-bit, 16-bit, etc values that will never be negative and not being able to represent them naturally with an unsigned integer is fucking st

        • I'm not arguing for or against. I try not to do much bit slinging where I can avoid it. In fact I think most people do... till they REALLY need to. Then, for everyone's sake, I hope they do it well.

          Here is to the bit singers!

          I found this that provides some info about the lack of unsigned. I'm reading it now. http://darksleep.com/player/JavaAndUnsignedTypes.html#why_no_unsigned_types [darksleep.com]

          • Sorry, but that explanation is bullshit. The leaving out of unsigned types makes code that deals with what are truly unsigned types needlessly more complex. Gosling's explanations sound more like bullshit excuses (waaaaaaah having to implement unsigned math is hard!!) that sound like laziness on the part of the designers. The fact of life is that many things require values that are never negative so having to use 16 bit integers, for example, when one wants only unsigned 8-bit numbers plus the fact that

          • To further add on, for example if you want to work with 8-bit unsigned values you have to start with a 16-bit signed number, cast it down, then you have to do an "& 0xff" to get the actual value you want. Why do I need such needless complications to my code when they could have just gotten off their lazy asses and just created proper unsigned types? Apparently people writing C, C++, etc compilers seem to be perfectly capable of creating unsigned types despite the vague notion of how "complex" it is.

            • Actually, I didn't get far in when I posted it. I would not have if I had.

              It IS bullshit. I agree 100% No apologetics, no nothing like that. You, good sir, are right. No good reason!

              Also, it wouldn't even be that "hard" to add it. That is, insomuch as nothing would break due to that addition aside from perhaps a new keyword to avoid (I'm sure someone used uint/ubyte/ulong as a variable name somewhere along the line)

              Thanks for the proverbial smack upside the head. Apparently I needed it!

    • how about the ability to overload operators? this just needs to happen.
      • Why?

        How is
        Widget a = new Widget();
        Widget b = getBaseWidget();
        b = a + b;

        Any better than
        Widget a = new Widget();
        Widget b = getBaseWidget();
        b.addNewModule(a);

        Are you playing keyboard golf? Do you like having to remember what each operator does in every different combination? Does your IDE not auto-complete?

        Really, tell me. Overloading operators seems like a good way to help ruin the readability of your code.

        • For certain kinds of sci/math operations, operator overloading is very helpful (complex numbers anyone"), and it's quite cumbersome to write and read the Complex C = a.Add(B), especially for longer equations.

    • by HiThere ( 15173 )

      Unsigned integers isn't the point. What's needed is Range types, where one can specify both the lowest and the greatest value. Optionally also specify the increment, but that's just icing.

      • Biginteger for the rescue.
        Also most hacks for signed to unsigned conversion uses Biginteger. (Mask out parity bit, add to bigint, then add 2^32 to it.) Maybe Sun should have included this hack in a utility library :)

        • by HiThere ( 15173 )

          You're going to need to explain why you think Biginteger satisfies the requirements of a Range type. It seems to have neither a settable lower bound nor a settable upper bound. You can't say "This represents the integers -7 through 13." in any way that is obvious to me. (Yeah, you can program it. That's what a Range type is supposed to eliminate the need for.)

          • I never felt the need to use such range types, and can't imagine a situation where it would be useful. People usually want signed, unsigned or freaking huge integers. Sparing a few bits of memory doesn't turn me on.

    • I've been coding Java professionally for years. It never even occurred to me that it needed unsigned integers. Why does it NEED that? For one thing, it's an object-oriented language, so if you want to, you make make your own class that implements it. I don't think that would even create a lot of overhead. Most new languages that compete don't even let you work with primitives at all.
    • For many purposes, unsigned types just delays a problem. "I need to count over 32000 so I'll use an unsigned short" ... And then the code breaks when the unexpected happens, and the count exceeds 65000. An extra bit of count range is NOT desirable... If you want bigger counts, use the larger type!

      For the most part, math on unsigned integers produces the same result as math on signed integers. Division, being the exception, but if you are dealing with integers, you likely aren't doing a lot of division an

  • Java is Doomed (Score:2, Interesting)

    by bjourne ( 1034822 )

    It is symptomatic of the JCP (Java *Community* Process -- in reality run by a committe of about a dozen international corporations) that is filled with bureaucracy and childish infighting. IMHO the writing is on the wall for Java because stuff moves way to slowly. Java has JPA which would have been a really nice ORM... about five years ago but technology moves faster than that. Compare that to C# whose development process is entirely controlled by a single company and you have Linq2Sql and the Entity Framew

    • Java has JPA which would have been a really nice ORM... about five years ago but technology moves faster than that.

      And it came out exactly five years ago.

      "The final release date of the JPA 1.0 specification was 11 May, 2006. "
      http://en.wikipedia.org/wiki/Java_Persistence_API#History [wikipedia.org]
      Or did you mean JPA 2.0?

      IIRC java came out earlier with ORM, than MS. (Also see Toplink)

      • But, 'out' and 'part of standard Java' are two different things, and that illustrates exactly the problem with Java for many developers, which is: standard Java is always far behind the curve, so it's always necessary to augment Java with community efforts to accomplish the tasks at hand as a professional developer.

        And, great that the Java community is so active and vibrant that there *will* be something out there that solves the problem that you're having, but which one? How often have you grabbed a comm

        • standard Java is always far behind the curve

          Well of course, just look at all the platforms supported by the JVM and all the projects/enterprises which depend on Java. You can't do what Python did with 3k and break backward compatibility. You can't also do a big framework release as .Net does because Java is not controlled only by a single company nor runs in a single platform.

          How often have you grabbed a community Java package to solve some business problem and figured out a little too late that while it does 98% of what you need, you can't get the last 2% done at all without tossing that framework and starting over with a different one?

          Luckily, you can implement such 2% of features by your own. Really, it's not that hard and that's what programmers do, not simply put together a bunch of frameworks and visit /.

          • Really, it's not that hard and that's what programmers do, not simply put together a bunch of frameworks and visit /.

            Yeah, become the millionth Java programmer to create their own unmaintainable knockoff of Struts. That's exactly what the world needs.

            Out of curiousity, how much Java development have you done for large (i.e. Fortune 500) companies? Priorities are a lot different there vs. Java app you throw together for a homework assignment.

        • "But, 'out' and 'part of standard Java' are two different things"
          No, they aren't . Specs being out means part of standard Java. Hybernate existed years before that.

      • There are developers out there that actually think ORM is a cheap knockoff to LinQ. MS had it first! etc ...

        Sadly it doesn't matter as ORM was never really marketed while LinQ was and took over mindshare among developers

    • I don't think Java is doomed any more than COBOL is doomed - it's deeply embedded in so many back office systems that it is going to be around in perpetuity regardless of whether the language and its associated environment has any further development. .Net/CLR is indeed a better "Java" than Java but it isn't as entrenched, still basically dependent on the Windows platform and Microsoft itself seems to be going cool on the whole project so I'd say it was the more likely candidate for ultimate doom than Java,

      • That is my feel of it too. Like a nice old mainframe/cobol-ish platform, but is more modern for the late 20th/21st century.

        If my website needs to be rewritten to be enterprisish, I have 2 options Java or C#/ASP.NET. With Java I can run the code 10 years from now when its old and crusty on a mainframe if I wished or a few servers just like Cobol. Whether that is a good thing or not is debatable but it is conservative and I know it will still run. With Microsoft I would likely have to rewrite it every few yea

        • by Shados ( 741919 )

          With Microsoft I would likely have to rewrite it every few years when things change but it would be more modern and any developer with Visual Studio can work on it.

          .NET code from the original 1.0 version still work in 4.0. There are a VERY breaking changes... there's a few in java too. To be fair, the .NET ones break a bit more than in Java, but it is still very very minor. We're currently going through dozens of applications we wrote around the time .NET 1.0 came out, and most of them run as is, a few too

    • Do you really believe all the bullshit you just wrote? If you spend all day immersed in MS crap, then I suppose it's not your fault.

      The Java platform had so much potential that will go to waste.

      Did you read who are part of the JCP? Do you have any idea of how much money and resources have been invested in Java platform? So, you really think these players are just going to say 'Hey, I think it would be better to ditch all of this and become MS resellers'. Actually, it's the other way around.

      The future looks fairly bleak for Linux on the server side without a competitive virtual machine.

      Sure, Linux is competitive on the server side because of the JVM. Please Mono,

    • It is symptomatic of the JCP (Java *Community* Process -- in reality run by a committe of about a dozen international corporations)

      Of course: those companies have a lot of people working on Java. They *are* a large part of the community.

      that is filled with bureaucracy and childish infighting.

      They are having serious issues regarding licensing. To call that bureaucracy and infighting? I presume that is rather subjective. Personally, I think it is rather a defining issue.

      IMHO the writing is on the wall for Java because stuff moves way to slowly. Java has JPA which would have been a really nice ORM... about five years ago but technology moves faster than that. Compare that to C# whose development process is entirely controlled by a single company and you have Linq2Sql and the Entity Framework.

      Java as a language is mainly build on being easy to maintain. A lot of people don't believe in Linq2Sql as it merges two languages together. It's rather questionable if that is the right road to take. It's certainly not the Ja

    • To bad, I say. The Java platform had so much potential that will go to waste. It would have been hard enough for Java to complete if the CLR wasn't superior technology, but it is. The future looks fairly bleak for Linux on the server side without a competitive virtual machine.

      Then take OpenJDK and fork it! Except that you can't relicense it because it's GPLv2, and GPL isn't compatible with anything other than GPL.

  • I do not like where Java is going and I know I am not alone.

    I do not like how it is being proprietary from a once open standard and what the new license agreement is doing to Google. If it can happen to Google it can happen to Apache or anyone else. Java is old and not being updated which is why real Java developers download free third party api's like Hibernate rather than wait on Oracle. After LinQ beating ORM's and the lack of AJAX and other things that .NET is doing it seems to be falling further and fu

    • You're right. What is Java desperately needs is more cowbell.

      Toplink was out in 1998, Hybernate was out in 2002, in 2006 came out the JPA standard, that gave a uniform interface for both. .net got LINQ in 2007, how is that beating Java in ORM?

  • Java programming [cat-v.org] and bureaucratic standards [cat-v.org], with some luck they will catch soon up with the level of C++ insanity.

Our policy is, when in doubt, do the right thing. -- Roy L. Ash, ex-president, Litton Industries

Working...