Slashdot Mirror


Oracle To Monetize Java VM

jtotheh writes "According to the Register, Oracle is going to make two tiers of Java Virtual Machine — a free one and a premium paid one. 'Adam Messinger, Oracle vice president of development, told QCon that Oracle plans to offer a "premium" edition of the JDK in addition to the open-source JDK. Both, it seems, will be based on a converged JRockit VM and the Hotspot JVM from Sun Microsystems. The converged JVM will be released under the OpenJDK project. ... Messinger didn't explain how the premium JVM would differ [from] the free version, but the premium edition will likely see performance tuning and tie-ins to Oracle's middleware.'"

110 of 641 comments (clear)

  1. mm by chibiace · · Score: 4, Insightful

    the death of java?

    --
    he who controls the spice controls the universe
    1. Re:mm by HelloKitty2 · · Score: 5, Funny

      No, this is the birth of new opportunities in the java landscape, this is a clear sign of Oracle's dedication to the java community. The high-end Mercedes offering will finally allow you to look down on those Fiat drivers and know that your money is well spent.

    2. Re:mm by Slackware95 · · Score: 4, Insightful

      I agree with this statement, this is indeed the birth of new opportunity - A new technology to replace Java...

    3. Re:mm by levell · · Score: 4, Interesting

      Given that Google is on the sharp end of Oracle monetizing Java, anyone else think they might start to push Google Go really hard? It's immature at the moment but it looks really nice and I think as it matures it could really catch on.

      --
      Struggling to find a day everyone can make? WhenShallWe.com
    4. Re:mm by Anonymous Coward · · Score: 5, Insightful

      I'm personally hoping someone will come up with an open-source implementation of C# not based on the .NET libraries or the Mono toolkit, but a pure native-code compiler, with selectable manual or automatic memory management. I believe C# is 'better than the orignal' Java. It's only drawback is that it's tied to Micrsoft and Windows.

      It's pretty obvious that Oracle is hell bent on either making bumper profits off Java or killing it. They won't have it any other way.

    5. Re:mm by gru3hunt3r · · Score: 5, Insightful

      I agree - the fact Google uses/relies on Java is really an Achilles heel for them. I'm 100% certain that when Larry bought Sun he scratched a 10 year itch he's had for how "Sun ought to run their business" - by making two versions of java one "free" crippled, and another enterprise one. Get 'em hooked, then bend 'em over and make 'em take it up the ass and pay for the service - that is the Oracle business strategy isn't it? Ellison could care less if anybody new ever uses/deploys Java -- because the installed application base alone in fortune 500 companies (existing oracle customers) is easily enough to pay 10x for what Sun cost. It's a freaking mint, and I think he's doing the right thing (for his shareholders) - he's not interested in the long term business plan, only short term revenue.
      Killing mysql (a competitor they were losing business to), killing open office was just icing on the cake, and monetizing Solaris were just a few of the ways he's planning to make money.

      I imagine this conversation happening in the Oracle board room:
      Ellison: "we gotta nip this free software thing in the bud boys, next thing you know our stupid customers will be expecting our stuff for free too." (look of disgust)
      Henchmen #1: "yeah boss, but how we gonna pay for it? the shareholders will never buy it"
      Ellison: "those morons at Sun have been doing it wrong for years boys, what have I always told you"
      Henchmen #1: "the customer will always pay more?"
      Henchmen #2: "who cares if it's crap, ship it anyway?"
      Henchmen #1: "who cares if my jet wakes people up? i'm rich?"
      Henchmen #2: "nothing is sweeter than making the customer pay up the ass for crap?"
      Ellison: "no, well - yes, I've said all those things, but I'm talking about how I'd run Sun, how I'd make everybody pay for Java, nobody should expect to use it for free"
      Henchmen #2: "oh yeah boss, that was a good one"
      Ellison: "look at this boys, it's like it's a god damn christmas - we stop mysql for a few years while the community 'forks' or whatever, you realize how much revenue that is going to protect for us?"
      Henchmen #2: "oh yeah boss, that's alotta money"
      Ellison: "then we kill open office, teach anybody who bought it a lesson, nothing is free - you want to use it - you should pay for it"
      Henchmen #2: "yeah boss, keep going"
      Ellison: "you realize how many of our customers depend on Solaris - they can't replace it for at least a few years, in the meantime we can tear them a new asshole and let the money flow out"
      Henchmen #2: "that makes sense"
      Ellison: "and then there's Java, wow.. what a stupid bunch of dumbfucks Sun was, I'll replace their free love society with Larrys pleasure palace where you have to pay me for some action"
      Henchmen #2: "you mean metaphorically right boss?"
      Ellison: "hard to say, all i know is that in the next few years boys, we're definitely going to be busy screwing all Suns customers up the ass, and charging them for the pleasure of it"
      Henchmen #1: "so you mean basically we're going to do business as usual here at Oracle Co.?"
      Ellison: "exactly"

      The key word in business is "momentum" - the Sun acquisition took momentum from so many projects, and anybody that was using those projects (for commercial purposes) now is in the unenviable position that they need to either starting pay Oracle, or try and find a viable competitor (at least 5 years). In the short term everybody will pay, do you realize how many billions of dollars we're talking about - in 5 years they'll wash rinse repeat. This is the cycle we should expect to see in the future - I think it will be very good for Oracle (bad for the community, but nobody really gives a damn what those free-loving hippies think anyway)

      Remember Fortune 500 CIO's can't risk their enterprise to free "crippled" versions of software, they can't use unproven forks, if something goes wrong - it's their ass (and bye bye stock options), they'll choose free only when they absolutely have to. Nobody cares how much money "they save", it's a corporation, it's not about saving, it's about CYA.

      Oh my god I hope the folks at Oracle never get ahold of ASF.

      I have to admit - the folks at Oracle are brilliant (from a shareholder perspective) because they get how big businesses work.

    6. Re:mm by aliquis · · Score: 2, Insightful

      I agree with this statement, this is indeed the birth of new opportunity - A new technology to replace Java...

      You know a product is dead when even Microsoft offering is better.

    7. Re:mm by Tanktalus · · Score: 4, Interesting

      Well, I think Java-the-language is already out there. I can't imagine a way for Oracle to get those worms back in the can. So we must be talking about the VM, and maybe their extensions (SE/EE).

      My prediction? The VM continues to be free. EE becomes premium. SE, not sure about. And there may be a pay-for-fixes model for the VM that is, by definition, not free. If you need something fixed NOW, you pay. If you need more performance from the VM, you pay. Those fixes may or may not make it into the generally-available VM.

      The community solution? IMO, it is to finish Parrot, get a "Java-the-language"-to-Parrot compiler built (perhaps by starting with a Java-the-VM-to-Parrot bytecode converter), and then you can pretty much discard Java-the-VM. Parrot already supports a bunch of different languages (at different levels of completeness), so it seems to me to be a natural fit.

      After that project gets going, approach gcc to have gj able to target Parrot instead of Java bytecode, like all their other cross-compiling solutions. It makes Oracle irrelevant.

      Maybe, though, we'll have to wait and see what Oracle's real plans are before we, as a community, start down this road. It's an expensive road (in manpower more than $$), and if everyone continues to be happy with Oracle's free offerings, there won't be much impetus to go around Oracle. That said, I can imagine some people still worried enough about Oracle's next move to start work on this, or a similar, solution.

    8. Re:mm by c0d3g33k · · Score: 4, Informative

      You already have that in Mono. Mono is fully open-source/free/libre, there is no obligation to use the .NET libraries - you can ignore them entirely, and Mono can do full AOT (ahead of time) compilation to native code already. I'm not sure what else you want exactly that doesn't already exist.

    9. Re:mm by makomk · · Score: 2, Insightful

      This seems like a good incentive to stick with open source projects that aren't tied to a single corporate owner, like PostgresQL. Companies still can and do offer commercial support for Postgres - in fact, some of them have the advantage of employing a number of the key developers - but there's no single company that can be targeted for a buy-up like this. (While Oracle could tray and buy all of the companies offering support for a particular option, one would hope that this would attract the attention of monopolies regulators.)

    10. Re:mm by jon3k · · Score: 2, Interesting

      Wow, someone mod this guy up. Excuse me while I take my first serious look into Mono.

      (not sure if that sounded sarcastic - but I'm being serious I had no idea)

    11. Re:mm by oldhack · · Score: 2, Insightful

      You don't know Java.

      EE is bunch of specs, not a part of language to be implemented in the VM.

      Perl people (Parrot) would be the last ones, and by that I mean HELL NO, to produce anything as useful and comprehensive as the worst of the Java universe, including the god-awful JEB idiocy. At least the JEB idiots got it out the door.

      I hope Gosling would start up a project to continue Java lifeline. If there is a single software project that can measure up to Linux, it would be Java.

      --
      Fuck systemd. Fuck Redhat. Fuck Soylent, too. Wait, scratch the last one.
  2. Suicide? The end of java. by WolphFang · · Score: 5, Insightful

    Suicide? Sounds they are working on ending Java in a hurry. :(

    --
    leather-dog muksihs
    Blog: @muksihs
    1. Re:Suicide? The end of java. by Anonymous Coward · · Score: 3, Insightful

      Pretty much, yes. At least, the end of themselves as an open-source company. It remains to be seen if their special sauce will be worth buying. It probably will be, for people who are already trapped into Oracle/Sun (just as it is with Intel's compilers, that just happen to smoke everyone else's on Intel hardware) but for everyone else the world will just go on as it has.

    2. Re:Suicide? The end of java. by MrCoke · · Score: 2, Insightful

      Why is this any different as Qt (also has 2 tiers)?

    3. Re:Suicide? The end of java. by whiteboy86 · · Score: 4, Insightful

      ... people buying.. who are already trapped into Oracle/Sun...

      And this is children why Java, Obj-C, C# and other 'corporate' languages exist in the first place.

    4. Re:Suicide? The end of java. by VendettaMF · · Score: 4, Interesting

      >> I am sure more than one group of developers is
      >> seriously looking at core language jump.

      I know we are.
      Oracle is quite simply not a rational enough company to entrust with our ongoing development.

      Decisions, decisions.C# on MONO or C++ as itself. Pros and Cons for each are obvious, but the actual final scores will be hard to determine efficiently.

      Individually I'm leaning to C++ and arguing the point that sooner or later MS will do to C# & associated platforms what Oracle is doing to Java now, and what lawyers may say about MONO now will count for nothing in reality when MS decides it's time to drop the hammer.

      --
      kartune85 : Incapable of reason, observation or learning. A kind of dim, drab, flightless parrot.
    5. Re:Suicide? The end of java. by gbjbaanb · · Score: 5, Insightful

      Considering that C# is Java with a fair few mods. I'm ambivalent whether that makes it substantially better than Java or just another Java, but the point is that once Oracle starts succeeding here, Microsoft and the new board might decide to take note.

      Whilst Microsoft has never traditionally done this kind of thing, they used to be run by engineers (sort of, you get where I'm coming from) where they wanted to try and achieve technical excellence, they are now run by businessmen who are only interested in the share price (and their bonuses). Note that Microsoft heavily licences java to use in C# (Gosling said they pay Sun, now Oracle 'tasty' fees very year).

      The only thing that might stop them from tier-ing .net is that they use it to sell other Microsoft software - you don't write C# code in notepad for example (try it! its hurts) or run it on anything other than Windows. Whilst you can do this today doesn't mean they won't crack down on it in the future - and you can so easily imagine them doing so.

      At the moment, only the truly open languages are safe to invest your time in. All the company-owned ones are poised to be monetised at the drop of a hat.

    6. Re:Suicide? The end of java. by VendettaMF · · Score: 2, Insightful

      I've been using C# for windows and iPhone development for 2 years now.

      But the long and the short of it is that it is a non-free non-open collection of code, libraries and other binaries and there is a definite risk attached to using it in ways that do not directly benefit Microsoft.

      --
      kartune85 : Incapable of reason, observation or learning. A kind of dim, drab, flightless parrot.
    7. Re:Suicide? The end of java. by turkeyfish · · Score: 2, Interesting

      There is an obvious trade off. One could not expect ubiquity if your "product" is not either free or very low cost. Yet that implies less revenue.

      Oracle's strategy could work very well, where Sun's has failed, by providing two parallel tracks. One a premium track and two an open track. The premium track would essentially put paying customers perhaps a year or two ahead of the community open track users, who might see these features in the free "community" track a few years later, after something better is in place in the premium track. From a business perspective users would be happy to pay if it gives them a business advantage. From a community perspective users would be happy as they could rely on essentially free code that they could incorporate and tweak to their own ends, acknowledging that free doesn't always mean access to the most "valuable" code in the market place of ideas and corporate balance sheets.

      For Oracle to succeed it need only better refine Sun's model. They really don't have to kill Java as a free language, for on the language side they are in a position to differentiate between a free and a premium track on the JVM. The difficulty will be that they will need to bear more of the burden for developing the JVM on the universe of platforms they wish to see a "write once run anywhere" Java t actually work on.

      As a former Sun investor, who lost BIG TIME for Sun's failure to grasp a viable strategy of how to monetize Java (not that I was expecting to make a killing in the first place), I wish Oracle well in the goal of making Java succeed. The Java concept is still a worthy goal, but it will only work if the "write once, run anywhere" philosophy doesn't disappear at its core. If that happens, Java will become highly fragmented and its fate and influence in the market (open source + private source) going forward will slowly diminish. If they handle it badly, Java's lock on corporate computing might be pretty short lived and perhaps many of Oracle's products that are now intertwined with it as well.

      As always, customers will buy into a software-platform, if they believe it is in their interest to do so. This will vary as not all customer interests are aligned. Oracle has the option of choosing just how much of a differential it will make between "premium" and "community". They may make more money over the short term if they set the difference to great but loose in the long run, if they drive the community elsewhere. It will be interesting to see what happens or just where within the many elements of the Java universe, the differences are placed.

      Its not as if others haven't made mistakes with Java. Sun erred in failing to establish a clear two tiered strategy and then late in the game demanding too much of some of its bigger customers who became too dependent on Java, such as Google, who went off to develop their own "JVM" like construct (whether its different enough from the original Java is for the courts to decide). In the long run, if Oracle can keep the difference small, it will capture a larger share of the entire market. If not, expect numerous forks to appear in the future as they are beginning to do so now as Oracle tries to figure out if it is extending an open hand to the Java community or just a fist.

    8. Re:Suicide? The end of java. by Anonymous Coward · · Score: 2, Informative

      ... people buying.. who are already trapped into Oracle/Sun...

      And this is children why Java, Obj-C, C# and other 'corporate' languages exist in the first place.

      One of these things is not like the other.
      One of these things just doesn't belong.
      Can you tell me which thing is not like the other
      before I finish this song?

    9. Re:Suicide? The end of java. by gbjbaanb · · Score: 2, Informative

      nope. wrong. sorry. un-curl the corner of the C# carpet and you'll see Java.

      from http://www.basementcoders.com/transcripts/James_Gosling_Transcript.html
      Gosling's interview concerning Oracle's takeover of Sun.

      James Gosling: ...I'm sure they were looking at the license fees they were getting from Microsoft. Microsoft .NET just smears over a huge pile of Sun patents. When they did the .NET design, they basically cut and pasted from the Java spec. The way that they did CLR, you know they swizzled the way the instruction set went but the way this thing really operated, they exercised essentially no creativity when coming up with .NET. They've done some things since then that have been kind of good but as part of the various court cases we ended up with this rather odd patent deal with them that involved them paying us fairly tasty amounts of money. And I'm sure that the lawyers looked at the Microsoft numbers and said, yeah I want that from Google

      Your ISO standard is C# 2.0, not the current version - or did you expect better from Microsoft? I guess you did, more fool you.

    10. Re:Suicide? The end of java. by gbjbaanb · · Score: 2, Informative

      see my reply to the other guy - from a /. story

  3. I don't get it by rumith · · Score: 5, Insightful

    Either Larry Ellison is smart beyond my imagination, or he's too stupid to understand that he's basically killing MySQL, OpenOffice and Java - arguably the three most valuable software assets he bought with Sun.

    1. Re:I don't get it by Angostura · · Score: 5, Insightful

      I suspect that Ellison evaluates 'valuable' in straightforward monetary terms. "Is Java making me money? No? It's not valuable"

    2. Re:I don't get it by Sc4Freak · · Score: 2, Insightful

      Well, as a manager, that's his job - to maximise the wealth of the company shareholders. If Java isn't making money (directly or indirectly), then he needs to institute change so that it *does* make money one way or another. Otherwise he wouldn't be doing his job (and then he'd be fired and replaced by the board of directors).

      Maybe tiering the JVM is the best way to maximise shareholder wealth, maybe it isn't. Either way, it should be obvious that any corporate manager would see "valuable" in a purely monetary sense. Even if Oracle decided to keep the JVM completely free, it'd be because they believe that keeping it free would make them more money than charging for it (maybe they think it'd drive sales of their other products or something like that, who knows). Everything a company does, even if it seems altruistic, is somehow contributing to the company's bottom line.

    3. Re:I don't get it by Anonymous Coward · · Score: 3, Insightful

      Maybe killing those technologies is something he wants... . It is not uncommon for companies to acquire another just to silently kill of the technology.

      Personally I started looking into postgresql because to be honest I don't trust oracle and I'm certain mysql is the next thing onto the chopping block. It is a shame that a lot of providers (vps is to expensive here) don't see this coming and the number of hosts with postgresql support is very small.

    4. Re:I don't get it by Anonymous Coward · · Score: 2, Informative

      There was always fight within SUN whether/how to monetize Java and JEE. Some wanted everything for free, hoping HW would sell and pay for SW; others wanted to go non-free way to charge for everything (Solaris). Some people wanted to use tiered approach (JEE/MySQL), giving the base for free and charge for special functionality/tools on top of that. The problem was that this strategy was changing every week. And then SUN was forced by investment funds to sell itself and the rest is a history...

    5. Re:I don't get it by drerwk · · Score: 5, Insightful

      ...MySQL, OpenOffice and Java - arguably the three most valuable software assets he bought with Sun.

      But not valuable enough to keep Sun in business for themselves.

    6. Re:I don't get it by Savage-Rabbit · · Score: 3, Insightful

      Well, as a manager, that's his job - to maximise the wealth of the company shareholders. If Java isn't making money (directly or indirectly), then he needs to institute change so that it *does* make money one way or another. Otherwise he wouldn't be doing his job (and then he'd be fired and replaced by the board of directors).

      I don't think Java it self is necessarily what you should look at to make money. It's products built with Java that make money. Products like Java stand and fall with a strong developer community and convincing a significat portion of the worlds developers to use a some programming language is very, very, very hard. Universities, for example, are full of people who tried and failed to create and popularize new programming languages and the same goes for all sorts of companies that had the same idea. Making all of Java available for free was the best way to assure that it was widely adopted by a strong developer base. Had Sun made any serious attempt to charge for a "premium" edition or perhaps giving away the "basic" Java package and selling "advanced" features it would have caused Java to fail. You are better off making only a "premium" edition and distributing it for free because otherwise any developer using the "regular" edition gets the feeling he/she is a second class citizen, never mind the fact that startups for example frequently need the "advanced" or "premium" features but can rarely afford to pay insanely expensive license fees to pay for them so they will typically choose something free and that adversely affects the growth of your developer community..

      --
      Only to idiots, are orders laws.
      -- Henning von Tresckow
  4. Pay for performance? by whiteboy86 · · Score: 3, Informative

    If you want performance then you have better options, some of the IEEE standard languages for example and that is what pros like Ebay or Google are using anyway, not Java. Plus you buy yourself some freedom from the corporate control like this.

    1. Re:Pay for performance? by andre1s · · Score: 5, Insightful

      You do realize that Google uses Java extensively ?

  5. Oracle is doing everything they can to fuck up by Sycraft-fu · · Score: 5, Interesting

    I'm going to laugh as their Sun acquisition goes down in flames and they end up losing money on the whole deal. They seem to be working to identify any market they can that things are working in and eliminating it. They've done a great job at getting us to work at getting rid of all our Solaris systems as fast as we can.

    While in theory this could be fine for Java, I can't imagine it will be being how poorly Oracle has handled things so far. Most likely it'll be a case where the free JVM will be a piece of crap on purpose, and the pay for JVM will be required for anything to work well. Ya, well, that'll fly like not at all. People are not going to go and buy something to make Java apps work better. Perhaps companies who rely heavily on Java on the back end will, but more likely they'll just stop upgrading and switch to something else.

    I guess we'll see, maybe I'm wrong and the premium version of the JVM really will provide worthwhile premium features that high end users want, while the normal JVM remains for normal people. However I doubt it. I think they'll try and charge every person for the JVM on their computer, which just won't fly.

    1. Re:Oracle is doing everything they can to fuck up by polemon · · Score: 3, Insightful

      As I understand it, when the open source version gets adopted by a voluntarily group of individuals that keep developing the open source version, it might be forked pretty soon, so nothing of value would be lost.

      As for the commercial version, that is probably gonna end like many other Oracle products, that got forgotten. I'll linger around in Oracle's inventory, but nobody will care much about it. Also, the fork might overshadow the commercial version in a couple of months, since performance tunes, are not exclusive to Oracle programmers...

      --
      EOF
    2. Re:Oracle is doing everything they can to fuck up by jonwil · · Score: 4, Insightful

      If Oracle starts locking things up in the premium version, OpenJDK will be forked (there are already some shallow forks like IceTea that take OpenJDK and replace the remaining closed-source bits with stuff from GNU Classpath etc) and the community will shift.

      Its happened to OpenSolaris with the Illumos project and OpenOffice with the LibreOffice project.
      No reason it cant happen with OpenJDK.

      Although what might happen is that Oracle will find a way to write various APIs and licenses such that if you copy certain features from "Java Premium" you loose the patent grant given under the OpenJDK APIs.

    3. Re:Oracle is doing everything they can to fuck up by sg_oneill · · Score: 3, Insightful

      Oh, the dot net crowd are going to eat Oracles lunch over this. Microsofts dot net is free as the wind (well not free as in speech, but whatever) and has a lot of "enterprise-y" features.

      Am I the only one seeing echos of the sad demise of Borland into irrelevance here?

      --
      Excuse the Unicode crap in my posts. That's an apostrophe, and slashdot is busted.
    4. Re:Oracle is doing everything they can to fuck up by DrXym · · Score: 2, Insightful
      People are not going to go and buy something to make Java apps work better. Perhaps companies who rely heavily on Java on the back end will, but more likely they'll just stop upgrading and switch to something else.

      I'm surprised Oracle even have such a grip on Java as they have. Why doesn't someone produce a comprehensive open source test suite analogous to the real certficiation tests? Then who cares if a JVM is officially blessed Java or just some offshoot.

    5. Re:Oracle is doing everything they can to fuck up by ChunderDownunder · · Score: 4, Informative

      There is one for Classpath called Mauve. I doubt it's 100% comprehensive but it's a start.

    6. Re:Oracle is doing everything they can to fuck up by shristov · · Score: 5, Interesting

      According to Oracle (TFA), "There will always be a high-performance gratis JVM." Well, perhaps Oracle are just going to add enterprise-class features to Java - for example, the JRockit hot swapability mentioned in the article. Once you need such features, chances are you are able and willing to pay for these. The rest of the community could continue using Java for non-mission critical purposes. In time we'll see if this strategy is successful, or not. If demand for features like the ones Oracle is planning to develop is great enough surely open alternatives for some of these will pop up in foreseeable future. When/if this happens we'll hit the major issue worth discussing: how the Oracle-led and OpenJDK evolution paths will stay at least close to each other. If they diverge substantially, at least one would be doomed... if not both.

    7. Re:Oracle is doing everything they can to fuck up by ultranova · · Score: 4, Insightful

      If Oracle starts locking things up in the premium version, OpenJDK will be forked (there are already some shallow forks like IceTea that take OpenJDK and replace the remaining closed-source bits with stuff from GNU Classpath etc) and the community will shift.

      I'm sure that Oracle will find some obscure patent- or other issue to crush the free version. That is what patent law exists for, after all: to help build monopolies.

      Oh well, I guess it's time to start looking for another language to start new projects in.

      --

      Forget magic. Any technology distinguishable from divine power is insufficiently advanced.

    8. Re:Oracle is doing everything they can to fuck up by Lennie · · Score: 2, Insightful

      "it might be forked pretty soon, so nothing of value would be lost."

      compatibility ?

      --
      New things are always on the horizon
    9. Re:Oracle is doing everything they can to fuck up by dna_(c)(tm)(r) · · Score: 2, Insightful

      Once you're convinced you need such features, chances are you are able and willing to pay for these. The rest of the community could continue steering clear of using vendor lock-in bait for their mission critical applications in Java. It is the classical trick of offering a small incentive so that your codebase is no longer vendor neutral.

      Most Application Servers support reloading classloaders, so you can already restart apps without restarting the AS (or the OS of course).

      If we're talking about hot swapping parts of code (bug fixes etc. like you can in a debugger) then this will introduce a whole new class of problems - what version of the software is running at a particular point in time? Kind of Continuous Disintegration...

    10. Re:Oracle is doing everything they can to fuck up by Teckla · · Score: 4, Insightful

      While in theory this could be fine for Java, I can't imagine it will be being how poorly Oracle has handled things so far.

      From my perspective, it's perfectly fine if Oracle has decided to try to aggressively monetize Java. The real problem, in my opinion, is their lack of clear and detailed communication.

      To announce there will be two JVMs without giving us details is insanely stupid of them. It leaves developers, like me, uncomfortable with moving ahead on Java-based projects. It's the not knowing that's the killer. Will the free version continue to meet our needs? We don't know, because Oracle hasn't given us any damned details. Just some vague announcement that's leaving everyone uncomfortable.

      The same applies to Java on OS X, too. Oracle, once again, leaves us wondering what they'll do. They should have already announced their intention to either pick up where Apple is leaving off, and ship future versions of Java for OS X directly, or not. That way, the open source community could make a decision whether or not they want to do that work. And then developers that want to also target OS X could start making some decisions.

      But no, Oracle is being tight lipped, leaving OS X folks wondering and uncomfortable about the future of Java on OS X.

      Oracle just sucks at communication, and I've already halted my personal Java projects, and have started seriously considering alternative technologies to replace Java.

    11. Re:Oracle is doing everything they can to fuck up by PastaLover · · Score: 4, Insightful

      No reason it cant happen with OpenJDK.

      AIUI there is a major problem, one that apache Harmony is now faced with. Basically, to get a patent grant for your open source project you need to show that you have delivered a full implementation of the platform. To show that your implementation needs to pass the TCK tests. To get those tests (that are proprietary software, owned by Oracle), you need to agree to certain Field of Use restrictions. Which are incompatible with pretty much any open source license you can name.

      So while OpenJDK has Oracle's blessing and thus gets to get out from under this problem, any other open source project that forks off OpenJDK would lose access to the TCK and probably find itself in Oracle's crosshairs a couple months/years down the line.

    12. Re:Oracle is doing everything they can to fuck up by Haeleth · · Score: 5, Insightful

      "Guys, Java is dead because it was bought by a litigious patent-loving company with monopolistic ambitions and a history of screwing its customers."

      "Fear not! We'll just switch to a semi-compatible clone of a semi-closed platform owned by a different litigious patent-loving company with an actual monopoly and an even longer history of screwing its customers. Problem solved!"

    13. Re:Oracle is doing everything they can to fuck up by modmans2ndcoming · · Score: 2, Funny

      MS is litigious?

      Saying doesn't make it so.

    14. Re:Oracle is doing everything they can to fuck up by rtfa-troll · · Score: 4, Informative
      --
      =~ s,(.*),<sarcasm>$1</sarcasm>,g if any_point_you_wish();
  6. Performance-tuned Java? by kaaona · · Score: 4, Funny

    Wouldn't that be like racing whales?

    1. Re:Performance-tuned Java? by Stevecrox · · Score: 4, Interesting

      Java isn't that much slower than C++ these days, if you do it right Java/C++ performance is so close as to not matter.

      It's also more maintainable, has better frameworks and you don't have lots of beginner/intermediate level programmers introducing memory holes left, right and center.

      Saying all that I work for a company which has invested millions into Java applications. Considering how Oracle has been acting the tech leads are pushing to moving us back to C++.

    2. Re:Performance-tuned Java? by zlogic · · Score: 4, Interesting

      Hear, hear. I've developed an image processing algorithm in Java and C++ (pretty simple: for every pixel in floating point array, compute some basic stuff, create a few classes to simplify the storage of temporary values and save the result into another array). The code was as close as possible in both languages, with no obvious screwups like memory leaks or unnecessary copying of stuff. To my surprise Java ended up being 15-20% faster than C++. And C++ is THE language for image processing, every new image processing algorithm is written in C++ (with the occasional exception of C) because of performance reasons.

    3. Re:Performance-tuned Java? by hvdh · · Score: 4, Insightful

      Now try using SSE intrinsics. With Java, you can't do that. In C(++) you should get a nice speedup ending up several times faster than Java, unless you're bound by memory bandwidth.

    4. Re:Performance-tuned Java? by bertok · · Score: 3, Interesting

      Now try using SSE intrinsics. With Java, you can't do that. In C(++) you should get a nice speedup ending up several times faster than Java, unless you're bound by memory bandwidth.

      Or use a better C++ compiler, like the Intel one, which gives a substantial speed boost with no developer effort.

      There's also ready-made C++ maths libraries for pretty much everything, many with SSE optimizations.

      These micro benchmarks also ignore cache thrashing, which kills Java performance for large apps.

    5. Re:Performance-tuned Java? by devent · · Score: 3, Insightful

      Or maybe you just talking crap? Eclipse, Netbeans, Freemind, Visual Paradigm, Lotus Symphony. All have a lot of users and I'm using Eclipse all the time. For GUI apps I couldn't care less what language is used, for them are 99,99% of the time waiting for user input. In fact, sometimes Firefox is way slower then Eclipse.

      What people don't realize is that only because an application is written in C or C++ you don't need the same amount of code and abstractions that you have with the JVM. You need memory management, exceptions, logging, threading, etc. You need it all in a "native" application, and the JVM is a "native" application anyway (it's written in C++). So what you have in Java is a tiny bit more abstraction, which gives you so much more productivity for the developer.

      --
      http://www.mueller-public.de - My site http://www.anr-institute.com/ - Advanced Natural Research Institute
    6. Re:Performance-tuned Java? by swilver · · Score: 2, Informative

      Startup time? I don't think I would notice the difference when it is well below half a second.

      [~]$ time java -jar /data/Backup.jar
      error parsing commandline: Missing required option: [-c continue the last backup, -i create a new incremental]
      usage: Backup [options] databasefile target dir|files...

        -c,--continue continue the last backup
        -h,--help display this help
        -i,--incremental create a new incremental

      real 0m0.163s
      user 0m0.131s
      sys 0m0.022s

    7. Re:Performance-tuned Java? by Lennie · · Score: 2, Insightful

      (And it took years to get it to perform in anyway sane).

      --
      New things are always on the horizon
    8. Re:Performance-tuned Java? by TheRaven64 · · Score: 2, Interesting

      Or use a compiler that supports autovectorisation. Actually, this is where it gets more interesting. In theory, the Java version can be faster, because Java lacks pointer arithmetic so the compiler / JVM is free to rearrange the memory layout to better suit the vector unit. In practice, I'm not aware of any implementations that actually do this.

      --
      I am TheRaven on Soylent News
    9. Re:Performance-tuned Java? by arendjr · · Score: 4, Interesting

      Are you dynamically allocating memory during your calculations? Basically new and delete are pretty slow in C++. While garbage collection is slow as well, actually allocating of memory is much faster in Java. Fortunately, you can implement your own allocation strategy in C++ by overriding the new and delete operators. Admittedly, it's a bit more work but can in many cases easily result in a tenfold speedup.

  7. Can you Digg it? by Yuioup · · Score: 4, Funny

    Java has become the Digg of languages.

    Goodbye Java, we hardly knew thee...

  8. Uh, watever, just migrate to Python, Perl6, Lua... by polemon · · Score: 2, Interesting

    It's out of question, that this will kill Java as preferred language in academia and science.

    But who cares, really? There are other languages, that would be a more than adequate "replacement" - if I may call it that - for Java.
    So professors will have to teach Python in university, how is that something bad?

    Java was chosen a few years back, because it was modern and cross platform, but that is Python as well. I also suggested using Lua in academia. For teaching programming and data structures, this is arguably one of the favorable languages.

    I'm a Perl developer, so I'll wait and see what happens with Perl6...

    --
    EOF
  9. Don't jump to conclusions by jernejk · · Score: 4, Informative

    Oracle already has free and pay-for JVM: HotSpot is free, JRockit is not. I expect the free JVM will be just fine for desktops and small servers. I'd expect pay-for JVM to target enterprise solutions. And again, I expect them to ship this JVM for free with their middleware products (Weblogic etc.). But yes, this sucks for JBoss.

  10. Re:Uh, watever, just migrate to Python, Perl6, Lua by Ruke · · Score: 3, Interesting

    That's a nice list of scripting languages you've got there. And don't get me wrong, scripting languages are nice. However, if speed is an issue, Lua's never going to cut it in the same way that Java does.

  11. Wow.... by mark-t · · Score: 3, Insightful

    How can the people at Oracle not see that this sort of maneuver will only _decrease_ Java's popularity?

    Why did Oracle buy Sun in the first place, exactly?

    1. Re:Wow.... by headLITE · · Score: 2, Insightful

      I don't get it. JRockit was always proprietary. Why should they make it free just because they have the good sense to consolidate their JVM projects into one?

    2. Re:Wow.... by ChunderDownunder · · Score: 2, Insightful

      Agreed, provided the core JDK remains contributed to the openjdk project under the GPL, this discussion seems tainted by FUD.

      JRockit historically sped up BEA's Weblogic and it sounds like nothing more than Oracle's existing offerings benefiting from a pluggable interpreter that uses JRockit. The difference being it'll re-use more of the existing VM codebase.

      Hotspot itself exists in several flavours inc 'client', 'server' and the community contributed 'Shark' based on LLVM. To this Oracle will soon add JRockit in the premium binary-only release.

  12. Sid you mean Java or Java-VM or Java-SE or Java-EE by krischik · · Score: 2, Interesting

    I agree with this statement, this is indeed the birth of new opportunity - A new technology to replace Java...

    If you want to replace Java you can just use Scala. It can do all that Java can do and is a lot better. Or did you mean to replace the Java-VM, or Java-SE or Java-EE. Then please be more precise in future.

  13. Opensource and corporate control bad combination by Eelco · · Score: 3, Interesting

    Over the years I've seen lots of companies trying to combine the open source development model with a for profit (and publicly funded) business plan. While this seemed okayish at the time, this whole Oracle debacle is clear proof that the opensource development model combined with some corporate entity controlling it is risky from an opensource perspective. Big opensource projects hopefully have learned from this and go the Debian route : turn yourself in a NGO or something and never worry about shareprice or corporate takeovers again.

    It is a real shame that big projects like MySQL and OpenOffice are in this position. Maybe it was more or less opensource, it sure as hell was not independant. Sure forking works, but recreating the entire organisation (and funding) will keep you from developing quite some time.

  14. Scala, Groovy, Ada. by krischik · · Score: 2, Insightful

    We already got better languages like Scala for the JVM. The Ada for JVM project has been restarted as well. If it just the language you want to replace - that is not a problem.

    So what do you want to replace here? Ahh, well as you are an AC you won't answer.

    1. Re:Scala, Groovy, Ada. by Anonymous Coward · · Score: 2, Interesting

      We already got better languages like Scala for the JVM.

      Yay, let's push a language that's even more bent on allocating trillions of disposable objects per second than Java.
      But no, that's not a problem, because if you reserve 2GB of RAM per application to amortize the speed cost, it's not that slow!

    2. Re:Scala, Groovy, Ada. by swilver · · Score: 3, Interesting

      ...and how would it effect those languages when there's only a sub-standard free JVM available?

    3. Re:Scala, Groovy, Ada. by TheRaven64 · · Score: 5, Insightful

      Yes, because allocating short-lived objects in a modern JVM is a very expensive operation. No, wait, it's an increment on a pointer value stored in a register. Disposing of them is marginally more expensive, but if only very slightly. The cost is roughly equivalent to allocating a C++ object on the stack.

      --
      I am TheRaven on Soylent News
    4. Re:Scala, Groovy, Ada. by Yvanhoe · · Score: 2, Insightful

      It is not about having a better language, it is about having a language with a larger sales department. Face it : most language use decisions in companies are made by clueless bosses once the salesman from a few proprietary companies have met him. So it will be either Oracle's new and fancy java ("he said it will be really easy to develop, faster than ASM and work cross-platform without any work") or Microsoft C# or a variant for the .Net platform ("they said it is better than Java and they just drag and drop to do GUI, it HAS to be a powerful language")

      --
      The Wise adapts himself to the world. The Fool adapts the world to himself. Therefore, all progress depends on the Fool.
    5. Re:Scala, Groovy, Ada. by Anonymous Coward · · Score: 3, Insightful

      That's exactly what I was talking about. You people are content with the fact that Hotspot has pretty fast memory management, ignoring the fact that it needs a significant area of memory reserved just for being able to bump that pointer without triggering a collection every couple milliseconds.
      Oh yes I know, RAM is cheap. Hardware is cheap for corporate applications, desktop and mobile apps need to make due with what the user has.

    6. Re:Scala, Groovy, Ada. by 140Mandak262Jamuna · · Score: 2, Insightful

      Frankly, the fact that you think the GUI builder is part of the language or the platform is laughable.

      OK This is slashdot. You dont read the original article. But don't you read the comment you are replying to? The GP is not saying "GUI builder it part of language". GP says decisions are made by morons who could think so.

      --
      sed -e 's/Chuck Norris/Rajnikant/g' joke > fact
    7. Re:Scala, Groovy, Ada. by Haeleth · · Score: 5, Interesting

      You are confusing the theoretical cost of ideal garbage collection with the actual cost in a particular implementation.

      I have worked on optimizing real-world Java applications that really were running too slowly. The problem really was that they were allocating too many short-lived objects in a modern JVM, and reducing the number of allocations really did improve performance significantly. Sorry if reality doesn't match your fashionable assumptions, but that's just the way it is.

      Just look at some benchmarks some time. Scala performance is closer to Python than Java. Yes, often that's fast enough. No, it is not always possible to throw hardware at the problem when it isn't.

    8. Re:Scala, Groovy, Ada. by jbengt · · Score: 3, Insightful

      Face it : most language use decisions in companies are made by clueless bosses once the salesman from a few proprietary companies have met him. . . . ("they said it is better than Java and they just drag and drop to do GUI, it HAS to be a powerful language")

      As far as I can see, there's only one way to interpret it, and that's that the poster was quoting the legendary clueless boss, not stating his own opinion.

    9. Re:Scala, Groovy, Ada. by shutdown+-p+now · · Score: 2, Insightful

      You forget the cost of going through the collectable objects and invoking their finalizer.

      Vast majority of Java objects do not have finalizers (i.e. don't override Object#finalize), and VM is perfectly capable to figure that out and don't call it for them. This is even more true for short-lived objects - those have finalizers pretty much never.

    10. Re:Scala, Groovy, Ada. by Nethemas+the+Great · · Score: 2, Insightful

      People can throw up all manner of alternative languages as equal or superior but the problem isn't the language per-se. It's the fact that there is a massive ecosystem built around and on top of Java that doesn't exist for these alternatives. Oracle knew this, and other things and will be leveraging them to their full potential.

      With Oracle no matter what their venture, it's always been about the money. They believe that their acquisition of Sun will net them more than their initial investment. They could care less about the long term health of Java so long as they can apply strategies to bring them ROI. Thanks to some beautiful foresight on Sun's part with the GPL and patent protections, Java for the time being is safe. I do not however, believe this will continue indefinitely. Oracle's task now will be to make what is available, and possible with open-source Java as limited and marginalized as possible so that moving forward the only reasonable choice will be to purchase their non-free offerings.

      At this point it's difficult to predict where things will go. I think that the sector most in doubt at this point will not be the desktop but rather the enterprise. Java is a well established platform in the corporate world, and given the present investments of IBM, Red Hat, the Apache Foundation, etc. in enterprise Java I believe we'll see it continue on. However, with the innovation fracturing from the J2EE specification instead of being sown back in as it has in the past. Instead of being partners in innovation as was the case with Sun they will now be competing against Oracle. Whatever happens though, I think it is pretty much a given that the Java world will not flourish as it did when Sun was at the reigns.

      --
      Two of my imaginary friends reproduced once ... with negative results.
  15. Meanwhile, at Microsoft... by rennerik · · Score: 5, Insightful

    ... Ballmer et al are wringing their hands nefariously as they see the future of C#'s marketshare increase by leaps and bounds. And that's good for Microsoft in every way, since every application written in C# instead of Java means a license for Windows is being purchased to run each copy of the software. In web apps, it's a server license; in workstation applications, it's a desktop OS license. Either way, it's a win-win for Microsoft, and a massive loss for Oracle.

    Not that I mind, per se. I prefer C# in every way to Java... but from Oracle's perspective, I don't see how they see this would do anything but hurt Java and their reputation that's rather ubiquitous.

    Now if only Mono would get their asses in gear and not lag so far behind .Net versions, there would actually be an open source OS alternative to running modern C# applications.

    1. Re:Meanwhile, at Microsoft... by tsj5j · · Score: 3, Informative

      Actually mono isn't lagging THAT far behind. .NET Framework 4.0 was released in April, mono added compatibility for it in September.
      Of course there are still some missing classes, but considering Microsoft had a 2.5 year head start, mono is actually doing pretty well.

  16. Consistent by mseeger · · Score: 4, Insightful

    At least they are consistent: first they killed OpenSolaris, then they managed to split the OpenOffice community and now they will marginalize Java. I am sure they have something in store for MySQL too...

    CU, Martin

  17. Some insight from one of the bigger customers... by Anonymous Coward · · Score: 5, Interesting

    Working in a senior role within a global investment bank, we buy a lot of vendor product, especially from what is now Oracle (Oracle Databases products, Weblogic products, etc.) - and if they want to charge us for the 'better' JVM going forward, no doubt we will pay for it. As will the other banks.

    And Oracle knows this. It does not give a shit about small-scale Java customers, but the big corporates, like us, well, they know that even if we decided tomorrow that all new projects were to move to C#, or C++, or Objective-C, or whatever, that it would take a long time to change course, and Oracle can still bill for a long time.

    One thing to remember - our bank gets and stays profitable because it pushes a lot of IT outside to third-parties (offshore developers are *much* cheaper than in London and NewYork), and they do not see any problems with getting a global price agreement with companies like Oracle and Microsoft.

    Personally, I am brushing up my C++, learning Objective-C and C#, as I think the medium and smaller companies in the market will start to migrate away from Java, as the cost savings of cheaper Java developers is lost once you have pay large amounts for the Java install and licensing.

    Stallman wrote the Java trap, and we all laughed. Sun is nice we thought, it'll be ok. We were all wrong. Stallman saw further, he saw that even if Sun was ok, if someone bought Sun, then things could get messy. Welcome to messy.

  18. Re:Wow... by contra_mundi · · Score: 2, Informative
  19. Legacy by sgt101 · · Score: 5, Insightful

    1000's of big companies (telcos, utilities, retailers, gov, defence) use java in their back office, and... well everywhere.

    This may cause them to change their policy for new software development, and it may also squeeze the java developer market badly, but for sure there will be strong arguements for splashing £50k here, £90k there, £20k somewhere else, on getting the new JVM to pick up the performance of application x, y, z which are long in the tooth and a pain in the arse.

    The alternative is to rebuild, which carries risk - although would be a good move in the long run. In the meetings someone will say "yeah, but we are all dead in the long run" and that's that basically. As a CIO you just pay over £50k, get your users back on side, keep your job for another year, collect your bonus, put another years pension contrib into the pot.

    So, Oracle will make money, lots of money, off this. You guys can squeak, MS will cheer, the Python community will see a boost (perhaps), but Larry and co will be richer.

    Mysql (in the future) = Oracle feather light (down load it and run it and you are up and going in less than 1hr - oracle normal = 6hrs to setup?) But, if you are an enterprise DBA then you want the management and recovery features that Oracle gives you (as well as the scaling - even though it gets so mind bendingly expensive).

    Open office - who cares?

    Oracle bought Sun to be IBM mark 2. Expect them to buy Accenture next.

    --
    --------------------------------------------- "In the end, we're all just water and old stars."
    1. Re:Legacy by modmans2ndcoming · · Score: 2, Informative

      Java was the next Cobol about 5 years ago.

  20. It's platform, stupid ! by boorack · · Score: 5, Insightful
    For me Java/Oracle problem is more about platform than it is about language. In the old times there were platforms, like UNIX, Windows or Netware. OS/Hardware combo was a deployment platform. Now we have JVM, .NET and web browser - these are the new major platforms (plus niche things like Erlang BEAM, Parrot, Ruby/cPython interpreters, to some extend LLVM).

    Let's take JVM as an example: you have defined instruction set (bytecode), well defined ABI (this one is much better than in conventional operating systems) and well defined set of standard services (standard libraries). You also have class loader which somewhat resembles dynamic linker functionality in the conventional OS. Oh, and there is a pretty damn good debugging/profiling/monitoring infrastructure built in. And from application programmer point of view JVM is pretty much like a OS. Programmer can use many languages to target this platform, not just Java. It is possible to implement almost any language on top of JVM (albeit some things have no practical sense, for example C/C++ with its pointer arithmetics).

    Would Larry prove its intent to totally screw Java (I'm still not sure of it yet), we'd need to have another platform rather than another language. There are enough cool languages to choose from, but aside from JVM and CLR there are no viable, widely supported multi-language, multi-paradigm platforms. JVM is propably the best one available but as it ages, there are more and more shortcomings visible. Having enough support from companies and developers (and from Larry screwing up Java) one can design and implement a new VM addressing some additional things, like:

    - native support for dynamic dispatch (albeit OpenJDK7 seems to support it in some way) - what I mean by that is trying to achieve performance somewhat comparable to statically typed programs (now we mostly compare to C implemented couterparts, eg. JRuby vs. Ruby, Jython vs. cPython etc.);

    - support for big memory heaps - most VMs suck at this (except for Azul), so we have to slice server machines and run many instances of JVM on one machine, then cluster/farm these JVM which is both silly and troublesome;

    - better support for massive concurrency - again, most JVMs suck at this and Java thread model isn't perfect and isn't suitable for everything;

    - support for multiple independent garbage collector zones - some language may utilize this to mitigate concurrency/big memory heap problems (Erlang, anyone?); ability to use different garbage collection algorithms in different zones if it makes sense (ex. big heap as in Java vs. small heaps as in Erlang);

    - ability to execute on multiple target devices at once - to utilize GPUs/APUs directly from bytecode (maybe with some limitations), without those crappy hacks we see today; it also applies to memory management that seems to be a horrible hack in current GPGPU solutions;

    - better support for long running VM processes, mainly hot code loading (Sun JVM sucks at this but some other solutions like JRockit seem to do a better job), maybe some code versioning, better tools to administer / tinker with running VM process (similiar to what Erlang has);

    There is more than 15 years since Java was published. There is about 10 years since Microsoft built its CLR. And there is a lot of new things that appeared (GPUs, huge memories, multicores) and lots of new knowledge we obtained since then (look at all these JS interpreters in modern browsers!). There is also a pretty good base to build on (LLVM, V8, BEAM, PyPy and tons of other projects). On top of such VM we can implement various languages (including Java), maybe even better than JVM.

    With enough help from friendly enough companies (RedHat? Google?) we can propably do much better than JVM and leave Larry and his corporate cronies in the dust. As long as there is a good quality reference implementation we don't need to chase Java APIs nor we do need to beg for TCK access.

  21. Re:Uh, watever, just migrate to Python, Perl6, Lua by PastaLover · · Score: 2, Insightful

    The engine for those is usually written in C++.

  22. Re:Sid you mean Java or Java-VM or Java-SE or Java by gtall · · Score: 3, Insightful

    Does Scala allow me to build user interfaces? If not, it really isn't a replacement. What I need is something that allows me to build cross platform guis.

  23. Monetize? by nurb432 · · Score: 2, Insightful

    Didn't you really mean marginalize? Not that this wasn't expected.

    --
    ---- Booth was a patriot ----
  24. Re:Some insight from one of the bigger customers.. by obarel · · Score: 2, Insightful

    In other words, Java will become the new COBOL - large corporations will still invest in it, because it's cheaper than replacing everything. But no startup would touch it because they can see it has no future.

    I don't really mind - I still program in C ;-)

  25. Re:Sid you mean Java or Java-VM or Java-SE or Java by mfnickster · · Score: 2, Informative

    Can't you use Qt to build your GUIs? It's available on Windows, Linux, Mac OS and mobile platforms.

    Scala runs on top of Java anyway.

    --
    "Slow down, Cowboy! It has been 3 years, 7 months and 26 days since you last successfully posted a comment."
  26. Re:Sid you mean Java or Java-VM or Java-SE or Java by zhong-guo-1 · · Score: 2, Funny

    Well. I could whip up some cross platform guis in Scala, but the real question is: Can it web scale? If it doesn't have web scale synergies, then lets be real - it's no better than perl.

  27. Re:f1rst by gagol · · Score: 2, Informative

    You are right, this is about Oracle screwing itself... but that joke is getting old.

    --
    Tomorrow is another day...
  28. Re:Sid you mean Java or Java-VM or Java-SE or Java by gtall · · Score: 2, Interesting

    Synergies? You aren't a real programmer, are you? Just kidding, sounded like you swallowed a marketdroid sometime in your past.

    I wasn't interested in web scaling a gui, but I'll admit that is an important consideration for some. Isn't that segment of the market getting taken over by Javascript, html5, and all the other weboria crap? I just wanted a good cross-platform gui language that gives native looking app and maybe requires a few tweaks here and there to make it work like native app...like what I had to do for Java.

    When I used Java, I used the AWT. Swing was too new and seemed to suffer speed problems. Sun never got small machines. So, their graphics objects got allocated for every damn object on the screen in the paint call chain when all that was needed for most was merely the correct bounding box. Once I circumvented that, it sped up quite nicely.

  29. Re:Good. by SanityInAnarchy · · Score: 4, Interesting

    Well, there's also the fact that Java performance has caught up to the point where it's not quite twice as slow as C++, and faster in pathological cases. And there's the fact that Java, the language, isn't what's in question here -- it's the JVM, which means JRuby, Scala, Clojure, etc.

    So it's not just 10 years of Moore's Law, it's 10 years of optimization. Java was pathetically slow. Now it's the fastest thing in its class.

    So what would you replace it with? C# isn't necessarily faster, and it's got that wonderful Microsoft lock-in. Anything else is either going to be much slower (perl, python, Ruby) or much more dangerous (C, C++). It's possible there are some obscure Lisps that come close, but we're at the point where all the major optimization research goes into either C/C++ or Java, to the point where CPUs are designed to run C fast, not the other way around.

    Oh, and I expect it'll be the other way around -- the free version will be cross-platform, while the premium version will be "vertically integrated" -- might be one Windows implementation, but very likely one more, maybe on Solaris, maybe on "Oracle Unbreakable Linux", but somewhere they can "integrate" it more thoroughly into the system. At least, that'd be the typical move for them, and the smart move -- just another way for them to grab the enterprise by the balls and squeeze, while ignoring everyone else, especially their smaller customers.

    --
    Don't thank God, thank a doctor!
  30. Re:Google and Android by SanityInAnarchy · · Score: 2, Informative

    Given that Android was meant to be free and open source, requiring people to buy Java ME first would kind of undermine that. It's like accusing Mozilla of trying to save money by not implementing H.264.

    --
    Don't thank God, thank a doctor!
  31. Re:Sid you mean Java or Java-VM or Java-SE or Java by mario_grgic · · Score: 3, Informative

    Yes, Scala has full access to Java APIs including Swing.

    --
    As the island of our knowledge grows, so does the shore of our ignorance.
  32. Re:How so? by turkeyfish · · Score: 4, Informative

    You obviously aren't familiar with what transpired.

    Sun stock went into the toilet with the .dot com crash and McNeely spent more time talking a good game than in developing a viable business strategy by failing to diversifying away from SPARC or making SPARC good enough to make it worth the premium price. Their Java efforts turned out to be misguided as a means of accomplishing the latter, since it only emphasized that from a customer perspective there was little premium to be had by buying SPARC. Schwartz came on board too late to steer a different course, particularly as th tech economy was like the rest of the market in a tailspin. Board members like McNeely, who were near retirement age anyway, decided to sell out knowing it was the only way they would get that golden parachute they had been dreaming of. Towards the end as is usually the case, you saw more and more of Sun's profits directed toward big exec bonuses as they prepared to sell out, insuring the ultimate death of the company as a viable independent business.

    Microsoft investors should be getting nervous about Ballmer's recent announcement of sale of 1.2 Billion in stock. This is how the stock market works these days. Its an inside game played by insiders, while boilerplate fantasy is sold to the public and the poorly informed.

  33. Re:Uh, watever, just migrate to Python, Perl6, Lua by melonman · · Score: 2, Interesting

    > Interpreted languages, such as Perl, Python, Lua, Ruby

    I'm not sure about the others, but Perl isn't an interpreted language. The script is compiled, and then the compiled code is executed. That's not a million miles from a JIT compiler.

    > is trendy at this moment

    Maybe I missed somethng, but wasn't Perl running half the Internet before Java was a twinkle in Gosling's eye? There are many things to be said about Perl, but "new-fangled" isn't one of them.

    > It is unthinkable for a higher education course to waste both the teacher's and student's time doing vocational training

    Right, but why is that an argument for Java? You can teach Java as a way to tick CV boxes, and you can teach other languages as a way to really understand programming.

    > If a course is based on a technology which doesn't have a stable basis and which is likely to drastically change due to a project leader's whims.

    You're saying that the Perl community rushed into Perl6? Or maybe that a decade-long upgrade cycle for C++ standards is too rapid? And that the future JVM roadmap as of today is very clear to you?

    > Then there is the issue of control. If a language is not standardized then you don't have any assurance that your code will run at all in the future.

    Not sure why this is an issue for education but, in any case, backwards compatibility in Perl is legendarily good. There are plenty of production sites running Perl code that is decades old.

    I can see an argument for teaching CS using C or assembler (because they force you to understand what a computer does under the hood). I can see an argument for teaching CS using functional languages such as Haskell. I can see an argument for using Perl because it's possible to demonstrate a much wider range of programming styles than with Java. ("Whatever the question, the solution is an object" doesn't seem to me to be ideal in an educational context.)

    But I can't see offhand why Java is different in kind to any of the other languages in your list as far as suitability for education goes. It's not a very pure implementation of OO programming, it doesn't teach you anything about memory management. If you are not careful, you give students the impression that it's impossible to write code without an IDE. Java has its merits, its fans and its detractors. But it's not self-evidently The One Right Language to use to teach CS.

    --
    Virtually serving coffee
  34. Re:Sid you mean Java or Java-VM or Java-SE or Java by krischik · · Score: 2, Informative

    Scala runs on top of the JVM and support both Java-SE and Java-EE and even Android development. I don't suggest the later but for the former two it is pretty good.

    So yes: You can write apps for the AWT, Swing and SWT GUI with Scala.

  35. Re:Sid you mean Java or Java-VM or Java-SE or Java by gtall · · Score: 2, Insightful

    No, I don't need any hand holding, I've probably started building apps (guis, realtime embedded, network drivers, educational logic proggies, etc) since before you were born. I was just lamenting that C++ programming isn't an uplifting experience, especially when it comes to guis. But then you probably see nothing wrong with writing network drivers with it.

  36. Re:Sid you mean Java or Java-VM or Java-SE or Java by gtall · · Score: 2, Insightful

    Yes, but then I still must have a JVM around. The point was that if Snoracle is going to fuck up Java, then I cannot rely on it and must look elsewhere.

  37. Re:Sid you mean Java or Java-VM or Java-SE or Java by Profane+MuthaFucka · · Score: 2, Informative

    Parent poster has seen Qt, but has not used Qt. Possibly hasn't used Boost either. But he's going to flap his ignorant gums anyway.

    My fellow geeks, ignore him.

    --
    Fascism trolls keeping me up every night. When I starts a preachin', he HITS ME WITH HIS REICH!
  38. Re:Shame Really... by dumael · · Score: 2, Informative

    http://www.microsoft.com/interop/cp/default.mspx

    Shame really that someone couldn't even do the research to see if such wild claims about MS are in any way true.

  39. Pointy haired boss. by krischik · · Score: 2, Funny

    And now explain that to the pointy haired boss.

  40. Re:Good. by SanityInAnarchy · · Score: 4, Interesting

    Here's the problem: Intelligent, detail-oriented people make mistakes.

    after a few years of training can instinctively and deliberately avoid bugs both the subtle and the egregious...

    If you can find a single programmer who actually does that, post their "flawless" code along with a sufficiently-motivating bounty and see how long it lasts. To be fair, you should have some way to verify the amount of time it took to produce this code.

    In the real world...

    Wait, back up.

    higher-level languages like Java that do everything for you including tying your shoes for you...

    Wow. You're actually claiming Java ties your shoes for you? Java, the only language I know of where == can't be counted on for equality (because Operator Overloading is Bad, mmkay?), where primitives are special cases, where null is a special case, where threading is still handled via the same primitives as in languages like C or C++... That language?

    Seriously?

    I'm just going to pretend you didn't say that, so I can pretend you had an intelligent point worth my time to respond.

    So, in the real world, where Java is only moderately higher-level than C/C++, programmers can and do make mistakes occasionally. Even the best occasionally make stupid mistakes. Just off the top of my head:

    struct foo * createFoo() {
      struct foo val;
      val.a = 1;
      val.b = 2;
      return &val;
    }

    Yeah, I know it's stupid, first-year mistakes. But think about the concepts you had to summon up to tell me why that's wrong. And of course, if I do it this way:

    struct foo * createFoo() {
      struct foo *val = malloc(sizeof(struct foo));
      val->a = 1;
      val->b = 2;
      return val;
    }

    Now the caller is responsible for cleaning up after me. Sure, I can create a function that helps, if foo had a bunch of additional stuff that needs to be individually free'd or otherwise released, but they still need to call that. If they don't, I leak memory.

    We can do that, or we can do C++, where we get gems like this:

    class B: public A ...
    A a;
    B b;
    a = b; // whoops, the contents of b just got sliced!

    Or if I decide to use the heap...

    A *a = new A();
    a = new B(); // whoops, I just leaked the old value of a!

    Even if you do manage to do it perfectly every time, you're still spending far more time -- even the sheer amount of typing saved not having to deal with this bullshit is significant. And you won't do it perfectly every time.

    And when you screw it up in C/C++, you leak memory, segfault, corrupt yourself, or introduce a security vulnerability. When you screw it up in Java, so long as you're not using threads, about the worst you do is a null pointer exception.

    Yes, you can leak memory, corrupt yourself, or be insecure in Java, but an entire class of bugs are now not possible. It is no longer possible to segfault, and it is no longer possible to introduce security vulnerabilities or leak memory through your use of pointers or references.

    And you know what? For 99% of what I do with a computer, I'll gladly take a 50% performance hit for fewer bugs. In fact, I'll gladly take a 95% performance hit (and I routinely do) for even fewer bugs and (much) faster development. It's just more important for it to be reliable and maintainable than it is to satisfy someone's ego about how smart they are that they can use pointers.

    --
    Don't thank God, thank a doctor!
  41. Re:Shame Really... by vux984 · · Score: 5, Insightful

    (*) In order it to be a "sharp" the symbol in use must be (1) in italics, and (2) in a musical clef. In Microsoft's language definition it is neither, that makes those two vertical and two horizontal lines a "pound" no matter how much they want you to call it a "sharp".

    a) The pound symbol is that cursive L shaped glyph with the verital cross through it.

    b) Only in the US is # called the 'pound sign'. Canada calls it the 'number sign', most of the rest of the english speaking world calls it the hash.

    c) Technically you are correct that # isn't an actual sharp sign, but you are incorrect on both counts as to why. A sharp does not need to be on a "musical clef". And it has nothing to do with italics. The sharp must have true vertical bars, and slanted horizontal bars. A number sign must have true horizontal bars, with optionally slanted vertical bars.

    d) The language C# is called C-sharp. Wandering around calling it c-pound and actually arguing that this is somehow correct is just pointless. Why "c-pound" and not "c-hash" or even "c-octothorpe"?

    C-sharp is the clearly stated intention of the people who named it, and at the end of the day language rules are descriptive not prescriptive. The symbols use to write things do not dictate how we pronounce them. Written language is simply an approximation using a mix of tradition, convention, and convenience.

    The programming language was named "c-sharp". It was then rendered conveniently as C#. Suck it up.

  42. Re:Good. by vux984 · · Score: 3, Insightful

    You know, I never quite figured out what this 'dangerous' thing meant when talking about C or C++. Yes, there's nothing stopping you from going *(int*)NULL = 1337;, but programmers are supposed to be intelligent detail-oriented people who after a few years of training can instinctively and deliberately avoid bugs both the subtle and the egregious without wasting time that is supposedly saved by higher-level languages like Java that do everything for you including tying your shoes for you in the morning.

    One can write in assembler too. We use C/C++ because we can focus on higher level problems without having to focus on all the minutia of assembler. We use C#/Java because we can focus on higher level problems without having to focus on all the minutia still exposed by C/C++.

    Being intelligent and detail oriented still involves spending considerable time taking care of those details. Using a language without those aspects means you can spend your time being more productive.

  43. Re:Shame Really... by rtfa-troll · · Score: 2, Insightful

    Reading even the second part of the first sentence of that, which I shall quote, since you are obviously too lazy to do so,

    to the extent it conforms to one of the Covered Specifications, and is compliant with all of the required parts of the mandatory provisions of that specification ("Covered Implementation"), subject to the following.....

    Nothing is "compliant with all of the required parts" of any standard. This is before we get onto all the exclusions. This document reads like it comes from a company that has been so used to getting away with evil that it has forgotten even how to lie properly. Trying to quote it to show Microsoft is okay is like trying to say that Ghengis Khan "traveled to many places" to show that he was a culturally tolerant kind of guy.

    --
    =~ s,(.*),<sarcasm>$1</sarcasm>,g if any_point_you_wish();
  44. Re:Opensource and corporate control bad combinatio by yuhong · · Score: 2, Interesting

    Another IMO worse example is MySQL AB themselves, before they got bought by Sun. They were going to do a support model, but the big problem is that the distributions already is taking all the support money. So they tried to make money by providing support on Windows. Obviously this was flawed, so eventually they tried to make some new features proprietary (in a different way than what Oracle is doing with Java), resulting in a backlash. MySQL was almost going to IPO with such a bad business model when they got bought by Sun.

  45. Re:Shame Really... by Qubit · · Score: 2, Funny

    because both C-pound or C-octothorpe sound stupid, while c-sharp is clever

    What, the name Coctothorpe doesn't sound awesome to you?

    I think it's almost as strong a name as Octopussy...

    ...now wait a second. What if we named it Octothorpussy? We could shorten that to #Pussy or just #P, and then just colloquially call it "Sharpie".

    --

    coding is life /* the rest is */