Slashdot Mirror


Oracle's Ambitious Plan For Client-Side Java

snydeq writes "Fatal Exception's Neil McAllister suggests that the real news out of this year's JavaOne is Oracle's ambitious plan to revitalize Java on the desktop, the Web, and mobile devices. 'It's been tempting to assume that Oracle, with its strong enterprise focus, would ignore the client in favor of data center technologies such as Java EE. This week, we learned that's not the case. In fact, the real news from this year's JavaOne conference in San Francisco may not be Oracle's plans for Java 8 and 9, but the revelation that Oracle is gearing up for a new, sustained push behind Java for the desktop, the Web, and mobile devices. If it can succeed in its ambitious plans, the age of client-side Java could be just beginning.'"

292 comments

  1. *yawn* by theNetImp · · Score: 1, Flamebait

    I stopped caring about Java in 2002, I still don't care about it, and will care even less tomorrow.

    1. Re:*yawn* by theNetImp · · Score: 0, Troll

      So when you moving out of your parent's basement?

    2. Re:*yawn* by tech4 · · Score: 0

      .NET and C# pretty much took over Java. Sure, Java supports more platforms, but it's resource and memory hog, insecure (there's tons of Java exploits out there but none for .NET!) and Java development is light years behind .NET and C#.

      On the other .NET is really lightweight, fast and C# as a language is fast and easy, while it still allows to do a lot of powerful things. You also get access to some devices that Java doesn't support and comprehensive libraries like XNA. If you wanted to make a game, you could code for all Windows, Linux (Mono, even if its sometimes lagging behind on new features), Windows Phone 7 and Xbox360 all at once. Also, Visual Studio is much better development IDE than any other.

    3. Re:*yawn* by Anonymous Coward · · Score: 0, Troll

      The reason I chose C# over Java for my latest work project is because C# has serial port support in its standard library. Using free (!) Visual Studio express, I banged out the project (A PLC control serial interface) in a weekend.

      I had originally planned to use Java, but the instructions for installing the javax.comm package were arcane and riddled with command-line bullshit. Fucking seriously, guys...it's 2011.
       
      ...and I'll be the first person to bash Microsoft, but they've made my job significantly easier.

      -- Ethanol-fueled

    4. Re:*yawn* by Xugumad · · Score: 5, Insightful

      > resource and memory hog

      Got anything to show it's worse than .Net?

      > there's tons of Java exploits out there but none for .NET

      What, language-level exploits in Java? Care to give an example?

      > Java development is light years behind .NET and C#.

      Erm. Hey, quick, distraction! Behind you! *runs*

      Seriously though, yes Java lags behind in features. Cross-platform development; Java runs on Windows, Linux, the BSDs, Blackberry phones, Android (well, it's a close varient) and frankly pretty much everything else too. I'll admit game development in Java is decidedly mixed (I believe, anyway, have never tried it myself).

      Ultimately, there's a lot of code out there in Java, and it's not at all a bad platform, the world does not move on just because something a bit better comes out.

    5. Re:*yawn* by Anonymous Coward · · Score: 0

      There is no single computer language that is fast, lightweight, powerful and easy to use. Why do you think we have so many of them in the first place?

    6. Re:*yawn* by santosh.k83 · · Score: 3, Interesting

      "Sure, Java supports more platforms, but it's resource and memory hog, insecure (there's tons of Java exploits out there but none for .NET!)..." Since installing Windows 7 (about a week back) I've had to apply more than 8-10 patches for .NET "security vulnerabilities" and "exploits" already.

    7. Re:*yawn* by kelemvor4 · · Score: 3, Insightful

      "Sure, Java supports more platforms, but it's resource and memory hog, insecure (there's tons of Java exploits out there but none for .NET!)..." Since installing Windows 7 (about a week back) I've had to apply more than 8-10 patches for .NET "security vulnerabilities" and "exploits" already.

      No way. Tech4 said it was the only completely secure software ever written so it must be true.

    8. Re:*yawn* by Midnight+Thunder · · Score: 2

      Cross-platform is a big feature point of Java and the I am sure that the memory usage problem is solvable, thought I am yet to see any real move from Oracle.

      For me the biggest problem when it comes to desktop applications is the requirement that all UI elements must be coded. This means that every IDE codes their UIs in ways that other tools can't leverage. If Oracle wants Java to be serious on the desktop, then I believe they need some sort of markup for easily designing UIs, without having to resort to code. The code should only be there for the functional aspects. Microsoft has achieved this and so has Apple (NIBs). It would be nice to see Java benefit from something similar too.

      I must admit I took a crack at trying to create such a tool, but it is a lot of work to get right and for it work the format needs to be documented properly.

      --
      Jumpstart the tartan drive.
    9. Re:*yawn* by Xugumad · · Score: 4, Insightful

      Brilliant, now try making it run on OpenBSD. Too weird? How about OS X?

      Well done, you used a tool appropriate to the job, and got a good result. I've written C# apps to integrate with MS Office, platform-agnostic server apps in Java, high performance stuff in C, text processing tools in Perl and text adventures in Inform. In all cases, the language fitted what I wanted to do, well, but that doesn't make it inherently better than another language in some grand scheme of things.

    10. Re:*yawn* by sourcerror · · Score: 2

      Pretty much this.
      Even though C# fanboys like to bash Eclipse and Java, they just don't suck badly enough. Yeah, Eclipse needs a GUI designer and it would nice to have delegates/events ala C#, but the workarounds are not that bad to tie yourself to MS. Java gained most momentum in the years when you needed a serial number even to install (!!!) the MSDN documentation from a CD. If it weren't for Java we wouldn't have stuff like Visual $language Express for free.

    11. Re:*yawn* by lolcutusofbong · · Score: 1

      If Oracle really cared about Java on Linux, they wouldn't have retracted the ability for the major GNU/Linux distros to stop distributing the binary Sun^H^H^HOracle JDK. OpenJDK can still do that, but the Official Binary Java can't.

    12. Re:*yawn* by solidraven · · Score: 1

      Java is only as cross platform as Oracle wants it to be. If they don't port the runtime and tools it's worthless. So I wish to argue against it being a true cross platform language. As all that happens is the JVM executes commands written in a compressed script.

    13. Re:*yawn* by Anonymous Coward · · Score: 0

      .NET and C# pretty much took over Java. Sure, Java supports more platforms, but it's resource and memory hog, insecure (there's tons of Java exploits out there but none for .NET!) and Java development is light years behind .NET and C#.

      Yup, and that is why more and more teams out there are using scala instead of java as a language on top of the jdk. You still get the java ecosystem (which is way better than the .net one) and a language that is even better than C#.

    14. Re:*yawn* by Anonymous Coward · · Score: 1

      and frankly pretty much everything else too.

      Except ps3, xbox360, wii or ios.

    15. Re:*yawn* by Anonymous Coward · · Score: 0

      "I know you are but what am I?" Are you fucking serious? I guess I shouldn't be too surprised that some bottom-tier scrublord Java developer has the mental age of a five year old.

    16. Re:*yawn* by David+Gerard · · Score: 2

      Java is cross-platform enough for our professional use - development on Windows, deployment on a mix of Solaris SPARC, Solaris x86, Debian, RHEL and Ubuntu Server. It really does Just Work, and well enough for actual money-making activities (niche professional publishing for paid subscribers, in this case) if you keep to pure Java.

      --
      http://rocknerd.co.uk
    17. Re:*yawn* by Anonymous Coward · · Score: 0

      Hey, Tech4, you need to man up and post as your username instead of hiding behind AC when you need to hurl shit like a monkey.

    18. Re:*yawn* by solidraven · · Score: 0

      For those of us in a more technical context (in my case EE to be specific) you'll learn that it's not cross platform at all though. Yet managers will still believe Sun/Oracle's nice marketing speech. Sadly for us, they then hire java programmers and make our lives a living hell cause we have to work with embedded Java. And once you encountered that you'll learn there is no such thing as a cross platform version of Java. Even basic functionality becomes questionable actually.

    19. Re:*yawn* by modmans2ndcoming · · Score: 0

      That does not make those tools inherently better for the job they were picked for either.... If only we have proper tool developers out there who some how were able to replicate the Visual Studio tool set for every language, the world would be a better place.

    20. Re:*yawn* by modmans2ndcoming · · Score: 1

      Real men (and women) work in assembly. C is a shitty language who's purpose was to give shitty low end people a job at developing crappy applications.

    21. Re:*yawn* by Anonymous Coward · · Score: 2, Insightful

      Same for me...and I code in Java for work on a daily basis.

      The thing is, Java as a language/development platform has had everything I need and use for many years now. Sun (and now Oracle) have failed miserably to offer a compelling developer proposition outside of the core language and API. The EJB debacle just showed how much the Java community, and not Sun/Oracle, is driving the Java innovations that are actually useful.

      What Java needs (and won't get, because there's no money for Oracle in it) is for Oracle to focus on improving the core VM and cleaning up the core APIs. On the VM side, they need to clean up class hierarchies and dependencies so that VM doesn't need to load so many classes at startup. On the API side, JSRs like 310 (Date/Time API) are needed to replace parts of the Java API that, quite frankly, suck. AWT and Swing are simply not as good as alternatives like SWT...I'd like to see Oracle deprecate them and work with IBM to include SWT in the core Java distribution. In the enterprise space, the only part of J2EE that I find compelling is the servlet spec, and even that needs a serious cleanup. JSP needs to be deprecated in favor of 3rd party tools like Freemarker, Velocity or any other templating language that encourages a stricter separation between presentation and business logic and does not require a container to evaluate and test.

      For everything else, Oracle should let the community push the platform. The most useful parts of the Java platform have come from groups like Apache, Spring, IBM, Google and Redhat. The last time there were advances in the JDK or J2EE that actually affect my current work was in 2004 when Java 5 added many significant language features. So I've basically stopped paying attention to Java, the Oracle product, and anything Oracle has to say about Java and now only focus on what they community plans for it.

    22. Re:*yawn* by modmans2ndcoming · · Score: 0

      write once, test everywhere.... Yeah!

    23. Re:*yawn* by Mitchell314 · · Score: 1

      Assembly!

      It's fast.
      It's lightweight.
      It has the most expressive power
      It's easy to use . . . so as long as you stick to "Hello World" programs. :P

      --
      I read TFA and all I got was this lousy cookie
    24. Re:*yawn* by Xest · · Score: 2

      Meanwhile it continues to power the backend of countless websites and systems you take advantage of day to day from your bank to your supermarkets stock control system to eBay and Google, to any smart features you may have on your TV or set top box.

      And really, that's the beauty about Java, it doesn't matter if people like you care about it or not, it'll still continue to sit happily working away solving countless problems across the globe.

    25. Re:*yawn* by David+Gerard · · Score: 1

      Yeah, but not even Linux is all that cross-platform on embedded ... We do have it a fair bit easier than you!

      --
      http://rocknerd.co.uk
    26. Re:*yawn* by solidraven · · Score: 1, Offtopic

      Actually, if you want something cross platform then take a look at NetBSD. It's about the easiest thing out there to port to a new system. If you get the basic hardware support working it'll generally manage to boot to a useful state. Also note how it uses 0 Java in doing so. The cross platform nature of code depends more on the programmer's skill than the language I'd say. If you think about it that way ISO C is about as cross platform as it gets. An ISO C compatible compiler is one of the first tools made for a new system after an assembler. And it's available on rare and exotic architectures, neither of those can be said about Java (assuming you leave SPARC out of the question).

    27. Re:*yawn* by Dr_Barnowl · · Score: 1

      I've yet to find anything that doesn't work on OpenJDK that works on the "Official" binaries, even things that warned me to use the Sun JDK seems to work just fine on OpenJDK.

    28. Re:*yawn* by sourcerror · · Score: 3, Insightful

      However application developers usually aren't happy with "basic hardware support", they want to OpenGL, H264 hardware acceleration, want to access webcam, microphone etc. Pure ANSI C is fine and dandy, but the real power comes from the (cross-platform) libraries, and that's what Java/Python/C# got right. People want batteries included.

    29. Re:*yawn* by Have+Brain+Will+Rent · · Score: 1, Redundant

      Mmmm memory hog? How much does an extra 4GB cost these days? $30? And frankly beyond a certain basic cost for the JVM big memory usage is often the result of poor programming.

      --
      The tyrant will always find a pretext for his tyranny - Aesop
    30. Re:*yawn* by RCL · · Score: 1

      Since when Java/Python/C# can help you access OpenGL, webcam, etc on a different platform?

      I have N900 phone, which runs Linux. I want to access its camera. WIth C/C++, I can at least port my own video4linux library in reasonable time, because v4l2 support is there. Java wouldn't help me with that at all.

      "Fat" languages may be fine for getting something done in quick and dirty way on few well-supported platforms, but on an obscure platform, you are much more safe sticking to C/C++ - if there's no API to access hardware from that language, there's no way to access it at all.

    31. Re:*yawn* by Anonymous Coward · · Score: 0

      Ah, the incompetent C# "programmer" that's too stupid to understand C++. Are you upset because the real programmers look down at you? Is it difficult going through life feeling inadequate? Like a second class "programmer"? Like a low life POS? Do you contemplate just ending it all?

    32. Re:*yawn* by shutdown+-p+now · · Score: 2

      it would nice to have delegates/events ala C#

      Complaining that Java doesn't have delegates compared to C# is so 2002. These days, the list would include reified efficient generics (no boxing for value types and separate codegen), lambdas, sequence comprehensions (LINQ), generator methods (yield), opt-in duck typing, and a dozen more minor things.

    33. Re:*yawn* by Anonymous Coward · · Score: 1

      > Visual Studio is much better development IDE than any other

      You have got to be fsm-damn kidding me! Your post smells of "Microsoft employee", but your love of Visual Studio tells me that you truly do not know much about IDEs. Intellij Idea, Eclipse, Netbeans and VS+Resharper are all far superior to Visual Studio.

      If you had said:
      > Visual Studio is much better development IDE than Notepad
      I would agree with you.

    34. Re:*yawn* by solidraven · · Score: 1

      And that's where you're wrong. OpenGL, hardware acceleration of video and audio, webcam support, ... are all low level features that require drivers to be written and they're all in the low level programming territory. Only after the low level programming has been done by somebody else there will be high level programming support. You're mistaken in where the power comes frome. Python/C#/Java are about getting something done, not about getting it done efficiently and right. The real workhorse in the background is still often a combination of a C/C++ program with parts written in assembly. I wouldn't dare to directly communicate with a graphics card in all the languages you named there (required for most of the features you suggest). In C/C++/Assembly that's a different story though. If I want something to become cross platform at that level I'll just dump all the useless layers. The hardware is often far more standardised than the operating system is. Have the C/C++ compiler and the included linker take care of the addressing and dealing with the operating system if necessary but break out of the cage, surpass the limits of the programming languages their design. In Python/C#/Java you're restricted to the feature set you're given. In C/C++ combined with assembly your only limitation is the hardware.

    35. Re:*yawn* by Anonymous Coward · · Score: 1

      I stopped caring about Java in 2002, I still don't care about it, and will care even less tomorrow.

      Then it's a good thing you made the effort to drop by this forum and contribute to the discussion.

    36. Re:*yawn* by LordThyGod · · Score: 2

      .NET and C# pretty much took over Java. Sure, Java supports more platforms, but it's resource and memory hog, insecure (there's tons of Java exploits out there but none for .NET!) and Java development is light years behind .NET and C#.

      You live in a small, closed world. Glad if works for you. As long as you stay on MS desktops and friends it probably works OK. But for mobile, web and other stuff that is happening, it kinda sucks. The biggest problem with Visual Studio is its a MS product. Which means you get locked into the (inferior) MS world. Not to mention the inevitable bloat and odd behaviors, etc that seem to come with any MS desktop product.

    37. Re:*yawn* by igreaterthanu · · Score: 1

      It has the most expressive power

      Abstraction gives you expressive power. Assembly isn't abstract at all, it lets you do one command in one line.

      Languages such as C might let you do ten commands in one line, languages such as Java or C# might let you do 10 times more again.

      And then there are functional languages...

      --
      I dream of a nation where a man is not judged by his skin color but by an number assigned by a credit rating agency.
    38. Re:*yawn* by Midnight+Thunder · · Score: 1

      C/C++ well get you anywhere, but unless you want to be writing stuff from scratch you want to leverage libraries where the work has already been done for you. If these libraries are cross-platform, then even better. I can't imagine trying to write support for OpenGL or H264 without an existing library to leverage. Languages like Java, also depend on libraries to get their work done and delegates anything low level via a native library.

      --
      Jumpstart the tartan drive.
    39. Re:*yawn* by lolcutusofbong · · Score: 1

      That's cool, I'm an OpenJDK guy myself. I just think Oracle is trying to lure people to Oracle Enterprise Linux with it.

    40. Re:*yawn* by cheekyboy · · Score: 2

      Before commenting, I have programmed in both, but they are not my primary langs.

      1) .NET is not light weight, the HD size of the framework is huge, 300meg+ . Ram usage is hard to guage because its a grey line between .NET and Windows resources.

      2) besides ram, what other resources does java use? I know it likes to pre allocate ram, but it doesnt hard reserve the ram, so its not really that hungry. I want some real analysis done. Like how much ram is used between languages for say 1 million nodes in an array, or list, or hash,directory map.

      One thing I did find weak in .NET was audio control, well something like volume control. Where is the one liner?

      To me, its not so much the language, its the framework toolkits/apis to the OS or libraries which are more important.

      But now both language are owned by two evil corps. So that sucks.

      --
      Liberty freedom are no1, not dicks in suits.
    41. Re:*yawn* by Mitchell314 · · Score: 1

      No, expressive power has nothing to do with abstraction or how much you can do with one line. If you have two sets of actions A and B, and define sets A' and B' to be the set of all possible outputs for A and B respectively, then A is considered to have more expressive power than B if B' is a subset of A'.

      What you're talking about is the expressiveness of a line of code from a language, which is a very different thing than that of a language itself.

      --
      I read TFA and all I got was this lousy cookie
    42. Re:*yawn* by RCL · · Score: 1

      I agree, but it's easier to port and use C/C++ library in a C/C++ program. Porting the same library to use in Java would just add more work. By example: OpenGL (ES) is already provided on N900, but you can't use it in Java, you need to find and compile Java's bindings which aren't readily available for Maemo.

      My point is: Java is only 'cross-platform' if you limit platforms to "ones supported by Sun/Oracle".

    43. Re:*yawn* by rve · · Score: 1

      Java is cross-platform enough for our professional use - development on Windows, deployment on a mix of Solaris SPARC, Solaris x86, Debian, RHEL and Ubuntu Server. It really does Just Work, and well enough for actual money-making activities (niche professional publishing for paid subscribers, in this case) if you keep to pure Java.

      If you keep to pure Java.

      In the enterprise, enormous Java applications are tested and deployed on some middleware layer, such as IBM Websphere. Now as long as you only use best practices and open standards, and your code doesn't depend on a single proprietary IBM class, porting the application to say JBoss or Glassfish should only be a matter of deploying the application somewhere else, right? Except it isn't. Various things suddenly work subtly differently or even not at all, and before you know it, a couple of weeks of regression testing, reconfiguring and porting effort have passed.

      Sure, now you're not having to port your application from, say AIX on POWER to Linux on x86, which I'm sure would have been more than a couple of weeks of work, but from Websphere to Glassfish. You know how difficult it is to get time and a budget for radically changing a project that's already tested, deployed and considered functioning properly. Management will probably decide to stick with IBM to remove the risk.

      Java really is mostly cross-platform, but I'm not convinced this feature of Java gets a lot of use in the enterprise.

    44. Re:*yawn* by dave87656 · · Score: 1

      Java is on more machines than any other platform on the planet.

    45. Re:*yawn* by peppepz · · Score: 2

      .NET and C# pretty much took over Java.

      No, I think .NET is losing relevance as Windows does the same.

      Sure, Java supports more platforms,

      It's easy to support more than ONE platform, since .NET only runs properly on Windows.

      but it's resource and memory hog,

      Benchmarks show that Java runs much faster than .NET.

      insecure (there's tons of Java exploits out there but none for .NET!)

      That's why my Windows Update log shows I have 9 "critical security updates" for the two .NET frameworks I have installed in my Windows machine. And by the way, I don't see why I need to have more than one version of .NET installed at the same time, and why .NET updates have to be so heavy. 40 megabytes for a single security patch?

      and Java development is light years behind .NET and C#.

      The appeal of Java comes from the fact that it's not an academic language, it's a blue-collar one. This means that Java code is meant to be readable and predictable, but it needs more boilerplate lines. If you want the latest computer science features, you might look at the new languages built on the JVM, such as Scala. C# development is light years behind Scala.

      On the other .NET is really lightweight, fast and C# as a language is fast and easy,

      Benchmarks tell a different story. And in my personal experience, .NET applications are slow. Cold-starting the Catalyst Control Panel on the Core i7 laptop I'm writing on takes something like ten seconds, during which no progress indicator is shown. The old ATI Control Panel, which wasn't .NET-based, launched instantly.

      You also get access to some devices that Java doesn't support

      Java supports the same devices as the underlying OS. Of course, doing that kills the program portability. Which is something one wouldn't worry about when coding in .NET, since .NET runs with full functionality on Windows only.

      and comprehensive libraries like XNA.

      Java's immense software library, much of which is shipped by default in the 20 MB Java installation, is one of its strongest selling points.

      If you wanted to make a game, you could code for all Windows, Linux (Mono, even if its sometimes lagging behind on new features), Windows Phone 7 and Xbox360 all at once.

      Or you could code it in OpenGL, and it would run on Windows, Linux, Mac OS, Android, Symbian, iOS, HTML5 browsers, and non-Microsoft game consoles.

      And Mono lags _years_ behind on new features, doesn't implement key ones such as WPF, and is slow. I've never seen it run flawlessly a .NET application that wasn't written specifically for it.

      Also, Visual Studio is much better development IDE than any other.

      Nah. Netbeans is better, and is free as in freedom. No ripped-down, "first dose for free" versions needed. Then there's Eclipse which is free, too. And IntelliJ which is commercially supported.

    46. Re:*yawn* by peppepz · · Score: 2

      Java the platform gives you everything you need to write portable code. It can't prevent people from writing code that isn't portable.

    47. Re:*yawn* by David+Gerard · · Score: 1

      Our stuff is webapps running in Tomcat. We have had the blue-suited spirochetes around to try to sell us on Websphere for the same job. But we know from experience that even upgrading Tomcat is fraught with Apache's apparent inability to grasp the meaning of the word "stable", and that a ton of testing is required. But when it's the same Tomcat version on each of the OSes, all is well (enough) - the requirement of dev on Windows and deploy on something Unixish seems to be sufficient cross-platformness to enforce sufficient coding discipline.

      Or, to otherwise precis your comment, all software sucks ...

      --
      http://rocknerd.co.uk
    48. Re:*yawn* by buchner.johannes · · Score: 1

      You can do all of these things in Jython, or your favorite JVM language.

      Bashing the conservative Java syntax is ok, but it does in no way mean you have to leave the JVM.

      --
      NB: The message above might reflect my opinion right now, but not necessarily tomorrow or next year.
    49. Re:*yawn* by sourcerror · · Score: 1

      " Only after the low level programming has been done by somebody else there will be high level programming support. You're mistaken in where the power comes frome. "

      And it's already done by the vendor (be it Oracle/Sun on PC, or phone manufacturer in Android or Windows Phone). The thing is, when you got the proper hardware abstraction libraries, the languages are on equal footing, and there's much easier to debug an application in Java/C# than in C/C++. Also, with Java/C# you can expect that the libraries will be somewhat standardized even if the hardware has different capabilities, so you don't have to learn new APIs all the time to do the same thing. This advantage might come from the fact that Java/C# are trademarked and are controlled by corporations, but it's still an advantage for the average developer.

    50. Re:*yawn* by sourcerror · · Score: 1

      Of course I know that, but the developer doesn't have to go hunt for zillions of different opensource/commercial libraries. And can expect decent documentation.

    51. Re:*yawn* by shutdown+-p+now · · Score: 1

      There are many things that you just cannot do in JVM, though. For example, tail calls (so no Haskell and no ML, at least not in a usable form). No low-level interop features such as unsigned types, unions, or raw pointers w/arithmetic.

      Some things you can do, but not in an obviously interoperable (between languages) way, or with heavy runtime penalties. For example, reified generics - even Scala doesn't do them. Or value types - you can use heap objects for everything, but that's expensive.

      Then, of course, if you go that way, you'd have to compare the entire gamut of CLR languages to JVM languages, not just Java to C#. But even then... CLR is rich enough that you can compile the entirety of ISO C++ to it. JVM, not so much.

    52. Re:*yawn* by sproketboy · · Score: 1

      - .NET and C# pretty much took over Java.
      No it didn't Java is still the #1 language out there despite Microsoft's marketing efforts.

      - it's resource and memory hog,
      The 90's called. They want your opinion back - and .NET apps use the same amount memory as Java but as a bonus can only run on Windoze.

      - there's tons of Java exploits out there but none for .NET!
      Really? Citation please.

      - Java development is light years behind .NET and C#.
      MVC Java 1999 - .NET 2008
      ORM Java 1999 - .NET 2008
      DI Java 2004 - .NET 2010
      FAIL.

      - Visual Studio is much better development IDE than any other.
      ROFL. Coming from the usual Microsoftfie that hasn't used anything else. IntellIJ is light years ahead of Visual Studio. Visual Studio feels like Notepad by comparison. Is use them both daily and without resharper VS is almost unusable. No local history? Hello? It's 2011!

      Java has much better tool support and IDEs because there's actual competition in the Java marketplace - as apposed to what Microsoft excitements down on you peons.

    53. Re:*yawn* by DaVince21 · · Score: 1

      If you don't care, you couldn't care less.

      --
      I am not devoid of humor.
    54. Re:*yawn* by LostMyBeaver · · Score: 1

      And you know God has to be real because there's like a whole billion people who believe in him/her/it.

      What kind of an argument is that really?

      Mass scale proliferation through business agreements and perceived lack of alternatives does not a great platform make.

    55. Re:*yawn* by dave87656 · · Score: 1

      Agreed. And I'm not saying that makes it good or bad (to witt MS Windows) but it's worth caring about and you may be more affected by it directly than you know.

    56. Re:*yawn* by solidraven · · Score: 1

      In very few cases has something like Java been ported to a certain platform though. If you step away from x86 it becomes a lot harder. ARM is still somewhat possible. But beyond that it becomes problematic.

    57. Re:*yawn* by ytpete · · Score: 1

      Visual Studio is not what I'd hold up as the gold standard for toolsets. Have you ever used a good, modern Java IDE like IntelliJ? Or even Eclipse? After years of using those, I cry a little every time I'm forced to go back to VS.

  2. Time to move on by phy_si_kal · · Score: 1

    It's 2011, and we're probably a decade too late for bringing heavyweight Java to the client. The future might be in languages like Dart or, for quoting the same Fatal Exception's Neil McAllister, Opa.

    1. Re:Time to move on by Anonymous Coward · · Score: 0

      I think you're too pessimistic. Java has actually a pretty big installed base and is supported on almost anything.
      The real surprise behind Oracle's strategy is that they will be continuing with client-side Java, even though just ten years ago (a century in IT, I know) their CEO proudly told the world we would all just be owning thin Internet clients by now.

    2. Re:Time to move on by Midnight+Thunder · · Score: 2

      I don't think its too late, though they have a lot of work in front of them AWT failed because it was limited in its platform integration and Swing because it really didn't feel like it was intended for any specific platform with a lot of the important UI hooks missing.

      The best solution so far has been SWT, IMHO, though I am yet to see any small applications, since they all seems to follow the same UI design approach as Eclipse and tend to feel rather heavy. It would be nice to see SWT as a UI extension that is bundled with the standard OpenJDK.

      Getting a good cross-platform UI solution is no easy feat, given all the different expectations of uses on different platforms. There are solutions out there, but they all succeed and fail for different reasons.

      --
      Jumpstart the tartan drive.
    3. Re:Time to move on by Anonymous Coward · · Score: 0

      SWT is so hard to use. I saw no holes in Swing and I created an entire enterprise app in Swing. Started with SWT and wanted to kill myself.

    4. Re:Time to move on by leenks · · Score: 4, Interesting

      SWT is awful. At least Swing is pretty clean, and logical. SWT is often utterly insane - look inside the code for proof of that. Swing is also totally extensible. SWT is not (the number of classes that state the class is not final but must not be extended is quite impressive). I say this as someone working on a small (450k semicolons) SWT/RCP application which integrates components written in Swing, JOGL and Processing.org.

    5. Re:Time to move on by Plouf · · Score: 1

      This is the whole issue with Swing: this a wonderful piece of software, the best GUI framework I ever worked on. Really. SWT, on the other hand, is inconsistent and difficult to use, brittle at times and indeed full of dirty hacks when you look at the code. And still I'm using SWT because at the end of the day the end-user doesn't care whether the toolkit is nice and neat.

      What matters is platform integration: SWT supports Windows 7 jumplists, non-rectangular windows for ages, uses the native file selector (gosh how I hate Swing as a user for this), has a decent native drag&drop, is low on resource consumption, supports other OS plugins such as Windows speech recognition etc... Most importantly, it allows you to get out of the sandbox by directly exposing the underlying platform's APIs. Want to use some Windows-specific effects such as transparency or whatever? Just call OS.sendWindowMessage and you're done. Sure this will cause platform incompatibility but the end-user doesn't care (hint: users don't care whether the application they're using looks the same on their neighbour's computer, what matters in how it looks on theirs).

      Pluggable look&feel and cross-platform consistency is almost never part of any requirement, and I'll trade cross-platform compatibility for a Java P-Invoke instead of JNI anytime.

    6. Re:Time to move on by zaphirplane · · Score: 2

      what's this "feels heavy" that can not possibly be from a user POV, I've never heard a user talk about how heavy an app is!
      secondly what in the 3 monkeys do you mean by missing important UI hooks, like what ? html has very simple UI and look at gmail / gdocs. tell me a bit more about the important hooks vs say html or flash. or is that another "feeling"

    7. Re:Time to move on by Plouf · · Score: 1

      You're right, but reality is never fully black or white. I'm interested into cross-platform compatibility let's say 95% of the time. But I'm perfectly ready to give up the last 5% to please the user and deliver the extra mile in term of platform integration and usesability. This is why we didn't use C# in one of my projects: we wanted cross-platform, but we then selected SWT as we knew (and it turned out the be the right decision) that at some point integration and platform-specific features would be needed.

      This is the problem with Java and Swing in particular: to refuse any pragmatism and to sacrifice the end-user experience to the "purity" of the framework. "100% pure Java" is considered to be an ultimate goal within the Java community. This is weird: I've never seen such as thing as "100% pure C# code" or "100% pure C++ code" or whatever. In SWT if I want to use ActiveX on Windows I'm able to do so. Sure this will only work on Windows, but then I'm able to if-then-else my code to offer an alternative implementation on other platforms. I'm able to use application-wide menus on MacOSX. Sure this makes no sense on other platforms but again who cares? Swing prohibits this kind of pragmatism and this is one of the reason, IMHO, why Java never actually took off on the desktop.

    8. Re:Time to move on by sproketboy · · Score: 1

      Agreed and Swing nicely integrates with graphics code since you can easily access the Graphics2D object for anything.

    9. Re:Time to move on by leenks · · Score: 1

      You can access the equivalent for SWT fairly easily, and there are implementations of Graphics2D that proxy to the underlying SWT GC if you want to use Graphics2D, eg in the JFreeChart experimental jar (we do this for some of our custom drawn components, simply because it means we can use them in SWT and Swing with a bit of glue code).

    10. Re:Time to move on by sproketboy · · Score: 1

      Maybe but SWT still sucks though.... ;)

  3. No Thanks by WrongSizeGlass · · Score: 1, Insightful

    I've spent quite a bit of effort over the last two months removing Java from all of my clients' computers. I've seen it used as an attack vector far too often and it was time for Java to go. I've even got some - but not all - of my clients to let me remove Flash and Acrobat Reader. In the long run it's safer for them, and cheaper for them too.

    1. Re:No Thanks by Anonymous Coward · · Score: 2, Insightful

      I've spent quite a bit of effort over the last two months removing Java from all of my clients' computers. I've seen it used as an attack vector far too often and it was time for Java to go. I've even got some - but not all - of my clients to let me remove Flash and Acrobat Reader. In the long run it's safer for them, and cheaper for them too.

      Why is it that every Java story on Slashdot is infected by an IT Admin Monkey telling us that he's removing Java from his "users" machines. If these IT monkeys really wanted to remove the most targeted attack vector from their "users" machines they would replace "Windows" with something secure.

    2. Re:No Thanks by Cwix · · Score: 4, Insightful

      If these IT monkeys really wanted to remove the most targeted attack vector from their "users" machines they would replace "Windows" with something secure.

      Actually if they wanted to remove the most targeted attack vector they would remove the users from the machines.

      --
      You are entitled to your own opinions, not your own facts.
    3. Re:No Thanks by Anonymous Coward · · Score: 3, Funny

      Yeah, my sysadmin went a step further and unplugged the Internet from the wall. He said that it was being used as an attack vector far too often, and it was time for the this ridiculous "Internet" thingy to go. In the long run, it's been safer, and cheaper for me too!

    4. Re:No Thanks by Midnight+Thunder · · Score: 1

      Why is it that every Java story on Slashdot is infected by an IT Admin Monkey telling us that he's removing Java from his "users" machines. If these IT monkeys really wanted to remove the most targeted attack vector from their "users" machines they would replace "Windows" with something secure.

      This generally makes me think of admins who want an easy life, instead of trying to understand what the problem is and solving it properly. This is usually the most dangerous sort of admin - reminds me of the intern who got an application to compile, by removing all the logic from the code. Also, how many time do you have people saying Java is slow or something else negative, only to find the are actually talking about JavaScript in the web browser?

      If we uninstalled everything that was a possible vector of attack, then we would be left with a fully erased computer, disconnected from the internet. No computer is immune to attack (this includes Linux and MacOS X), its just that the way they are targeted and the frequency of attacks vary.

      --
      Jumpstart the tartan drive.
    5. Re:No Thanks by TheRaven64 · · Score: 2

      If they really wanted to make their machines secure, they'd remove the users. Unfortunately, IT is never told to make the network secure, they are told to make it secure and usable. Uninstalling Windows typically means rewriting a large amount of Windows-only code, or at least doing exhaustive testing of it in WINE, and that's beyond the budget of most IT departments.

      --
      I am TheRaven on Soylent News
    6. Re:No Thanks by Anonymous Coward · · Score: 0

      Guess what dumb ass... the most used attack vectors are no longer parts of Windows... they are the shitty tools from 3rd parties that windows users use.

    7. Re:No Thanks by Anonymous Coward · · Score: 0

      Hell, even the fully erased disconnected computer is still vulnerable to attack by hammer.

    8. Re:No Thanks by Kookus · · Score: 0

      You should cut off your penis, it can be used as an attack vector as well.

    9. Re:No Thanks by Anonymous Coward · · Score: 0

      The best solution to most problems is usually to address the root cause of the problem. Perhaps you need to "help" your clients by simply removing their computers, as that would certainly help to minimize their IT costs. Getting rid of their IT consultant might, alternatively, address their productivity problems.

    10. Re:No Thanks by igreaterthanu · · Score: 1

      Uhhh you do realize that Flash and Java (along with all their respective security vulnerabilities) run on Linux and OS X too, right?

      --
      I dream of a nation where a man is not judged by his skin color but by an number assigned by a credit rating agency.
    11. Re:No Thanks by Anonymous Coward · · Score: 0

      This is why I rarely read Slashdot any more, the comments on this article are just immature and/or wildly inaccurate.This parent here probably takes the cake. He goes around uninstalling adobe reader because it is "safer and cheaper" for his clients? Really? Better get rid of computers entirely, there is no risk of getting hacked then!

      Meanwhile in the rest of the world PDF and adobe reader are pretty much the standard platform agnostic way of distributing documents. I can't remember the last time somebody sent me a document in something besides PDF.

    12. Re:No Thanks by zaphirplane · · Score: 1

      really? you analysed the attack vectors and discovered the exploitation and looked at the numbers and the majority were java
      Then you rolled up your sleeves and walked around the dozen or so desktops in your company and uninstalled java.
      Is that the story, cause I call bullshit

      me sayz, help desk guys, removes java from pc, cause read something somewhere negative about java

    13. Re:No Thanks by Anonymous Coward · · Score: 0

      Yes and now you've rendered their computers useless. Congrats, maybe you should join Gnome.

    14. Re:No Thanks by jon3k · · Score: 1

      . If these IT monkeys really wanted to remove the most targeted attack vector from their "users" machines they would replace "Windows" with something secure.

      IT monkeys have software requirements dictated by forces beyond their control. Like that CRM software some random VP bought because some salesman got him drunk and took him to a strip club last week. Welcome to the real world.

    15. Re:No Thanks by Anonymous Coward · · Score: 0

      I've spent quite a bit of effort over the last two months removing Java from all of my clients' computers. I've seen it used as an attack vector far too often and it was time for Java to go. I've even got some - but not all - of my clients to let me remove Flash and Acrobat Reader. In the long run it's safer for them, and cheaper for them too.

      Why stop there? I'd turn unplug the power.

    16. Re:No Thanks by Anonymous Coward · · Score: 0

      Wow, I've never seen any sort of security edict have "usable" as a component. Often it's not even a side effect.

  4. Java is cool by cosmicvisitors · · Score: 2

    There are some pretty cool developments going on in Java lately, e.g. LINQ, functions and reified generics. Why wait for the JCP when there are enough mad people out there who will implement all the tools that Java is perceived to lack? See for example: https://github.com/nicholas22/jpropel-light

    1. Re:Java is cool by nicholas22 · · Score: 1

      There are some pretty cool developments going on in Java lately, e.g. LINQ, functions and reified generics. Why wait for the JCP when there are enough mad people out there who will implement all the tools that Java is perceived to lack? See for example: https://github.com/nicholas22/jpropel-light

      Also see http://slashdot.org/submission/1810940/java-linq

    2. Re:Java is cool by Anonymous Coward · · Score: 0

      unless they can get JOGL working out of the box, on any platform with hardware to support it, and running at a decent speed, they are doomed.

      Along a similar line, GET RID OF SWING. I can't believe people still write applications with it, and finish the job thinking "hey, that looks great!".

    3. Re:Java is cool by sourcerror · · Score: 2

      There's nothing wrong with Swing. If you don't like the defualt* look and feel just download for free/buy a nicer one.

      http://geeknizer.com/best-java-swing-look-and-feel-themes-professional-casual-top-10/
      http://dlemmermann.wordpress.com/2011/05/10/the-best-swing-look-feel-bizlaf/

      *I think the default Swing LaF is pretty nice since 1.5.

    4. Re:Java is cool by leenks · · Score: 1

      And replace it with what? The only real alternative is SWT, and that's awful to work with. At least Swing is a nice framework, and anyway, Swing apps can look nice, the main problem being that most developers don't bother to find out how (and that most Swing guides / books are wrong in many ways).

    5. Re:Java is cool by Anonymous Coward · · Score: 0

      SWT is more of an analog to AWT...JFace and EclipseRCP are more apt comparisons to Swing. Another alternative would be QT Jambi. Both would be preferable to Swing.

      The main problem with Swing is that its focus is on developers rather than users. There's a lot of people that really enjoy developing Swing applications but almost none that actually enjoy using them, especially when the development was done on a different platform. SWT, for all its warts, does not compromise the user experience. With that said, many SWT applications (Eclipse, Vuze, etc) do compromise the user experience and thereby giving SWT a bad rap.

    6. Re:Java is cool by shutdown+-p+now · · Score: 2

      This is not Language Integrated Query. It's just a bunch of standard methods operating on sequences (granted, that itself is overdue from Java as well, but it alone doesn't make LINQ).

    7. Re:Java is cool by shutdown+-p+now · · Score: 1

      Why wait for the JCP when there are enough mad people out there who will implement all the tools that Java is perceived to lack?

      The question is, how many people will aware of the existence of (yet another) Java fork, and actually use it instead of Oracle's JDK.

    8. Re:Java is cool by shutdown+-p+now · · Score: 1

      There are many Swing L&Fs, but they are all crap. Even the "native" ones are crap (easy to spot that they are not native). And don't even get me started on the way standard dialogs (file open etc) are handled.

      Oracle should take a clue from Qt - it also draws its own widgets, but it does it in such a way that you'd be hard pressed to tell the difference from a native app.

    9. Re:Java is cool by Heir+Of+The+Mess · · Score: 1

      Wow, is that what you call LINQ? In C# LINQ looks like this:

      var filteredStrings =
      from s in myStrings
      from p in myPrefixes
      where s.StartsWith(p)
      select s;

      I guess Java really is light years behind. In C# you can multithread this as well:

      var filteredStrings =
      from s in myStrings.AsParallel()
      from p in myPrefixes.AsParallel()
      where s.StartsWith(p)
      select s;

      --
      Australian running a company that does C# / C++ / Java / SQL / Python / Mathematica
    10. Re:Java is cool by Moochman · · Score: 1

      You sir, are full of misinformation. When you set Swing to use native LaF, it actually uses the system's own drawing of the widgets. That's true on Windows, Mac and Linux/GTK+. Has been for years. Only in certain areas (e.g. the file dialog boxes) can you tell that it's not native, because of the layout and functionality, not the LaF.

    11. Re:Java is cool by shutdown+-p+now · · Score: 1

      When you set Swing to use native LaF, it actually uses the system's own drawing of the widgets.

      That's exactly what I referred to. It uses system APIs to draw individual elements of widgets (not whole widgets, generally speaking - e.g. on Windows there's simply no API that lets you draw them whole), but the widgets themselves are not native (i.e. a Swing button is not a Win32 HWND of window class "BUTTON" on Windows, for example). I don't care much, except that Swing "native" L&Fs still look crappy, either because they don't quite compose the elements right (especially true with Gtk, easily observable on some themes), or because they miss some important parts (e.g. no drop shadows under drop-down menus on Win32, which visually separate the popup from the window beneath it).

      For dialog boxes I indeed referred mainly to the functionality. Well, look, too, since it doesn't get all the icons right.

      Either way, the conclusion that it looks and feels like crap still holds.

    12. Re:Java is cool by Richard_at_work · · Score: 1

      .Net has that form of LINQ as well, and you can convert between the two (method based and query based) easily enough.

    13. Re:Java is cool by sproketboy · · Score: 1

      Shhh. The Microsofties have to pay for that kind of thing..

    14. Re:Java is cool by Heir+Of+The+Mess · · Score: 1

      Yes the code I posted was for C#, I was replying to a Java guy who was saying that Java has LINQ but looks like this http://slashdot.org/submission/1810940/java-linq

      --
      Australian running a company that does C# / C++ / Java / SQL / Python / Mathematica
    15. Re:Java is cool by Richard_at_work · · Score: 1

      I know the code you pasted was for C#, my comment was directed at your initial opening sentence... .Net has both query form Linq (what you posted) and method form Linq (what the java version looks like), and the two are interchangeable.

      Query form looks better, but method form has distinct advantages in some cases.

    16. Re:Java is cool by Heir+Of+The+Mess · · Score: 1

      I know the code you pasted was for C#, my comment was directed at your initial opening sentence... .Net has both query form Linq (what you posted) and method form Linq (what the java version looks like), and the two are interchangeable.

      I read your comment in the wrong context. Thanks for clarifying.

      --
      Australian running a company that does C# / C++ / Java / SQL / Python / Mathematica
  5. Java plugin by Lord+Lode · · Score: 2

    Just make sure the Java plugin doesn't hang browsers anymore or make them sluggish!

    I hate it when visiting a academical website that has the well-meant intention to show some mathematical principle using a Java applet, but instead Firefox hangs while loading it... I'm not sure if it's the fault of Firefox or the Java plugin, but no matter what, it doesn't help Java.

    Flash can do it, why not Java?

    1. Re:Java plugin by Anonymous Coward · · Score: 0

      This is something I don't understand. Back in the day, Java applets were slow. Computers and browsers are now substantially quicker, yet Java applets are still slow.

      However I can turn on my cheap mobile phone with a comparatively slow CPU, and load a Java game, and it loads and runs quickly. Why can't we have mobile phone java performance in the desktop browser?

    2. Re:Java plugin by leenks · · Score: 1

      With the latest Java releases (you are running the latest 6.0 release?) you shouldn't be seeing that behaviour. The way applets are handled has totally changed to be more like Webstart, which makes them much more robust. That said, I don't run Firefox, so maybe there is an issue there.

      However, most Java applets are badly written. Few people appreciate how to use Swing/AWT properly in an application, let alone in Applets.

    3. Re:Java plugin by modmans2ndcoming · · Score: 1

      So, you are asking that Intel insert some custom circuits to process Java byte code directly then? That is how the cell phones do it.

    4. Re:Java plugin by ADRA · · Score: 2

      Nah, its probably slow for the same reason people perceive slow (or fast) boot screens. 99% of all java applets download their entire payload up front, so you see a lot of spinning java logos waiting for things to load (because its downloading everything).

      The savvy Java applet developer and most other app platforms (including most flash applets) have a low introductory payload to throw up the splash screen to show how close they are to loading the thing. If you don't know what I'm getting at, take a look at newgrounds and see pretty much every game/animation with their loading screens.

      --
      Bye!
    5. Re:Java plugin by Anonymous Coward · · Score: 0

      When was the last time you tried this? I just tried opening a page* with an applet which visualizes U.S. zip codes on a map, it loaded in a split second and shows no lag at all. Java 1.6.0 update 26, Firefox 7.0.1, Windows 7.

      * Page with applet: http://benfry.com/zipdecode/

    6. Re:Java plugin by JAlexoi · · Score: 1

      Flash is almost always fully preloaded, while Java is almost never. I bet you have Java Quick Start turned off...

    7. Re:Java plugin by Billly+Gates · · Score: 1

      Sounds like your university or community college website is very outdated.

      The reason Java had to be used was because IE 6 didn't support MathML tags (1998 standard I may add) to display equations on webpages. IE 7 fixed that when Vista came out in 2005-2006 which is better late than never.

      Even the oldest students who are seniors this year, assuming they bought their computers when they were freshmen back in 2007 had at least IE 7 and probably use IE 8 if they use the default settings in Windows Update. Generation Y folks typically know better and use Chrome or Firefox mostly anyway :-)

      The applet serves no purpose anymore and simple 1998 standard html 4.01 will do fine. Or Flash if they want some video. This is 2011 and we will be in 2012 in just a few months. There is no need for that silly requirement due to a poor browser from 2001.

    8. Re:Java plugin by Anonymous Coward · · Score: 0

      Flash doesn't make browsers sluggish?
      I'll keep that in mind.

    9. Re:Java plugin by Anonymous Coward · · Score: 0

      Because flash is used mostly in ytube, so it's mostly used as a app instead of a application and applications suck ass because programming is hard, and video is smooth because the (patented) codecs are implemented in hardware.

    10. Re:Java plugin by peppepz · · Score: 1

      By the way, I think it wasn't a wise choice from Sun to brandize the applet loading appearance with the Java logo by default. Besides being tacky, the spinning logos make the user associate Java with the waiting they have to endure before the page they want is displayed.

    11. Re:Java plugin by Anonymous Coward · · Score: 0

      Hmm I have the opposite problem.
      Flash always hangs on Linux and Java works fine.

      Maybe the problems with you and how you've configured your computer

    12. Re:Java plugin by Lord+Lode · · Score: 1

      No, it does not. I have never had a browser HANG due to Flash. I play games on Newgrounds very often. Some extremely complex things are possible in Flash.

      Though the most recent firefox, with java, on Linux, can hang on some old websites which use a Java applet to demonstrate something. Maybe simply because it's trying to load a file that doesn't exist anymore, but that makes the entire UI of firefox hang??? In Flash, instead, there's a loading bar, but you can continue to use the browser.

    13. Re:Java plugin by aliquis · · Score: 1

      Just make sure the Java plugin doesn't hang browsers anymore or make them sluggish!

      Flash can do it, why not Java?

      What? Though I agree.

      I have no idea whatever Firefox developers have worked more on Flash or not though.

    14. Re:Java plugin by Anonymous Coward · · Score: 0

      They must GWT for compiling their codes to browser native javascript codes. The GWT is fair enough for making web contents and demos through Java codes. Era of browsers plugins ended.

  6. And They'll Do This by Greyfox · · Score: 1

    By suing anyone who actually does anyone with it? Sounds like a great strategy to me!

    --

    I'm trying to teach myself to set people on fire with my mind... Is it hot in here?

  7. licenses by roman_mir · · Score: 5, Informative

    I have a set of systems I am building that are used by a store chain. It's my line of products, one of the components is a store management system that is used in the stores. Every piece is server/client, but in this component the client is a Java swing application that also can be used as an applet (that's the good part about Java, with minimum work you can have it working as an applet if it works as an application.)

    So I know that most people on /. are derisive about such solutions, but I am moving the stores from Window platform to GNU/Linux (Ubuntu actually). Of-course it's possible to build everything in C and C++, etc., but when the entire solution is java with every component on every server / client, even though most clients here are thin, that run in a browser of choice, using Java as a client is really the most logical thing.

    Every component is compatible with each other, the communications between components are all built in exactly the same manner, be it a server-server or server-full client.

    The important thing is that moving from Windows to GNU/Linux is easier, because the look and feel stays almost the same.

    The one real problem for me is actually some driver for certain types of devices, like zebra thermal printers and such, but that's not a problem with Java itself, that was a problem with moving the clients from Windows to GNU/Linux (haven't figured this out yet, so one of the computers in stores is still Windows, because the configuration and font setup software supplied with the Zebra printers is for Windows.)

    I can accept the hate, that the Java solution may not be wonderful or uber-cool or whatever the current feelings are about what people hate today, but the point is that it's working. If I couldn't get it to work, I would have had no choice but to go with something else, but that would require extra work, to get it all communicating with the server sides, that are Java based.

    The speed of this application totally depends on the data model, database work, algorithms and communications, but the Java GUIs themselves are not presenting any major problems. If I want to, I can even style the main frame of the window with anything, any kind of graphic that doesn't look like a normal window, this works with JNI, but I don't really need that in this project.

    I have used this in a browser as an applet and I have used this to communicate over the Internet, not just within the stores themselves, which is an interesting feature.

    So can somebody tell me what they think I should be on a look out for here? Is Java going to blow the fuses or are the tables going to catch on fire?

    1. Re:licenses by Anonymous Coward · · Score: 5, Interesting

      We thought (signed) Java applets would be a sound method to get cross-platform client software onto desktops. What we found is that the browser plugin from Sun/Oracle and even OpenJDK is buggy and unstable on most platforms. We get assertion failures out of the plugin loader that have been listed as bugs on Sun's tracker for almost a decade, as well as bizarre GUI related exceptions. Things seem to get worse the more you use the applet/browser interfaces, for example to access the cookie store or the page DOM.

      It crashes or hangs Firefox and Seamonkey on Linux x64 perhaps 10% of the time the applet loads. It crashes Safari on Mac OS X over 50% of the time. It seems most stable, but still not foolproof, on older Windows systems.

    2. Re:licenses by roman_mir · · Score: 1

      Well, in my case this particular client application is normally installed as full desktop app, running it an applet is possible and I sometimes do it, but that's not the main selling feature. In reality there is no reason to run this application in a browser. In a store there are normally 2 computers for administrators - one is on the Internet and internal network, and the other is on the internal network only. Both computers have the client installed and one of them has the server installed, both clients connect to that server.

      The client app can control the store over the Internet without a browser as well. One issue that I found is that I have to replace the default open sdk that comes with Ubuntu for Sun implementation of the JVM. Also out of 15 computers installed, 3 are sometimes misbehaving in a strange way, the JVM gets killed with a weird problem like this. Yes, not everything is 100% smooth, but having this on 3 computers out of 15 (which really need to be replaced), is telling me that something is more likely to be wrong with the entire setup rather than the language or the JVM.

    3. Re:licenses by leenks · · Score: 1

      There is your problem, you are running as root ;-)

      But seriously, it looks related to these two bugs - http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6935229 and http://bugs.sun.com/view_bug.do?bug_id=6896647. Try enabling the XX options suggested and see if it fixes them (and upgrade to JDK7 when you can; there are lots of things fixed in JDK7 that annoyingly haven't been backported to 6.0).

    4. Re:licenses by Anonymous Coward · · Score: 0

      I have a set of systems I am building that are used by a store chain. It's my line of products, one of the components is a store management system that is used in the stores. Every piece is server/client, but in this component the client is a Java swing application that also can be used as an applet (that's the good part about Java, with minimum work you can have it working as an applet if it works as an application.)

      If the applet requirement could be relaxed / is not needed, Python is also an option, especially if you combine it with py2exe. You can even have GUIs using wxWidgets or TK AFAICT.

      Just a thought for those who aren't familiar with Java.

    5. Re:licenses by Anonymous Coward · · Score: 0

      Rather than an applet, have you considered using WebStart? It doesn't sound like you need any of the advantages of applets and disabling the Java browser plugin will make the browsing more secure, which sounds important if these computers control the store and have internet connectivity. As a bonus, your app should require fewer modifications and run into fewer sandboxing restrictions than it would to work in an applet.

    6. Re:licenses by roman_mir · · Score: 1

      Yes, I have looked at it as well, but as I said, the client is normally running as a stand alone, there is no real good reason to have a browser window around the application window, so it's not really the main point. The main point is portability and complete compatibility between all solutions, binary compatibility as well as source compatibility.

      Between various server side systems here, plenty of source code ends up being reused. From beans to helper classes, to entire packages. It's like one huge application that spans central office, stores, suppliers, manufacturers and even clients, so there is no reason to not reuse multiple pieces of it all over the place. Write once, hopefully reuse as much as possible.

    7. Re:licenses by roman_mir · · Score: 1

      Well, a huge part of the data model and object model is pretty much the same across multiple applications here, so it's easy to reuse the beans that way, and the communications between server/server and server/full client are then very simply serialized objects, which are java objects. So that works smoothly when all parts are using the same object model and serialization functions, which is what you get with Java. So I haven't looked at say serializing/deserializing Java object model in python. It probably can be done, I haven't looked at it, and if the business requires something like that I may as well have to at some point, I just don't see the reasons right now, when the app is working and only features are added.

    8. Re:licenses by Anonymous Coward · · Score: 0

      The one real problem for me is actually some driver for certain types of devices, like zebra thermal printers and such, but that's not a problem with Java itself, that was a problem with moving the clients from Windows to GNU/Linux (haven't figured this out yet, so one of the computers in stores is still Windows, because the configuration and font setup software supplied with the Zebra printers is for Windows.)

      Use ZPL - stay as far away from Zebra windows drivers as possible! Our clients tend to want to use Zebra, and we see regular print-servers die due Zebra's drivers.

    9. Re:licenses by roman_mir · · Score: 1

      The JVM is installed as a root, the tomcat server runs as a tomcat user, but I do navigate system as root :)

      I am actually going to try these flags in one of these stores, see if that helps. Of-course there are all sorts of errors that creep up and kill the JVM this way. Here is a shitty one, that only affects 2 stores for some reason and this one crashes the client, not the server.

      Lovely stuff like this, very useful.

      # Problematic frame:
      # C [libc.so.6+0x6e199] unsigned long+0xec9

      Life is basically hard :) these are just little things.

    10. Re:licenses by roman_mir · · Score: 1

      I am using ZPL, but on the client, and only the client that is working on a Windows machine is able to print in Cyrillic. One of these days I may get around figuring out why I can't print Cyrillic with ZPL from a GNU/Linux machine, but obviously I use CUPS there, with RAW and send ZPL to the printer.

    11. Re:licenses by rastoboy29 · · Score: 1

      As long as it's performant, it doesn't matter.

      Performance has long been an issue with most Java apps, however.  But resouce usage on the client should not be too important since your application is the only thing the system will be used for.

      Security matters as well, but that's generally down to your software design skills, and not he language used.

    12. Re:licenses by roman_mir · · Score: 1

      Well, it's not the only app running. There are some office apps, email client, possible a browser opened at the same time. Things like that, who knows what's in the browser.

      It's about 2G RAM per machine and I dedicate 1G to the client (-Xms256m -Xmx1000m), it's not absolutely necessary, but they can load the entire base (about 35000 SKU) into the memory of the applet and they can open multiple catalog windows in it as well, multiple order windows, who knows what they do. 35000SKU would easily take 35000 20MB in one catalog window (though they are normally using filters not to download the entire catalog from the server into the client app).

      But you are right, this is one of their main application that they use to manage the store - incoming/returning/moving orders, catalogs, inventorizations, write offs, various reports, main office server communications, price changes, equipment setup, price checker and multiple POS communications and sales data handling, all that jazz.

      The speed of the interface is not the issue, the issue can be something they require to execute on the database level maybe.

    13. Re:licenses by roman_mir · · Score: 1

      35000SKU would take 20MB per window at least, in the previous comment I typed an extra 35000 there for no reason.

    14. Re:licenses by Anonymous Coward · · Score: 0

      You can still use c/c++. PHP allows for c/c++ library interaction. You basically want to do as much server side code while the only code the client should interpret is html and javascript. If you need security, you can use https://. And if it's within an organization, you can deploy the certificates with the web browser so that it will accept them without having to use a certificate authority.

      It sounds like you inherited an existing implementation. Hence why you're doing java everywhere.

    15. Re:licenses by roman_mir · · Score: 1

      1. I didn't inherit anything, it's all my original implementation, which has now taken 2 years.

      2. The client application in question is much more robust than any browser based web app can deliver. Try manipulating thousands of rows of data in a single table in DOM with Javascript, you'll quickly find out what I mean, regardless of what you use, your own scripts, or 'go' or any other library out there.

      3. There are parts of the system (which consists of multiple applications), that are exposed to external users, this is an integration project after all, integrating stores and main office, and then suppliers and manufacturers and even eventually store clients, those who have discount cards. So of-course everything that is exposed uses encryption etc.

    16. Re:licenses by illtud · · Score: 1

      The one real problem for me is actually some driver for certain types of devices, like zebra thermal printers and such

      I don't know what you did to fix this, but for zebra card printers, they have pretty good documentation, and I wrote my own userland apps to talk raw ZPL (IIRC) to create cards (figuring out the image printing was a PITA). Funny thing is that I got much better results than the commercial windows application I was replacing, which was pretty crap (printing black by overlaying YMC rather then the black K layer). It wan't fun but I haven't had to touch if for years. I guess the thermal printers are wildly different, but possibly simpler, though.

    17. Re:licenses by roman_mir · · Score: 1

      doing the same thing. The problem is printing Cyrillic into RAW with ZPL.

    18. Re:licenses by illtud · · Score: 1

      We have the same issues with some accented characters, and the solution that I'll implement (if I ever get round to it) is to rasterize the string and print it as an image. No reason why it shouldn't work (dunno if zebra thermal printers can print graphics).

    19. Re:licenses by Anonymous Coward · · Score: 0

      The one real problem for me is actually some driver for certain types of devices, like zebra thermal printers and such, but that's not a problem with Java itself, that was a problem with moving the clients from Windows to GNU/Linux (haven't figured this out yet, so one of the computers in stores is still Windows, because the configuration and font setup software supplied with the Zebra printers is for Windows.)

      You can print directly to the Zebra printer the documents for the printer command language are downloadable from Zebra's website

    20. Re:licenses by Anonymous Coward · · Score: 0

      Let us know how that goes for you when Oracle starts charging for runtime licenses and the SDK and when they decide the server side must run on Oracle Unbreakable Linux. Gosh, that's what we get when we let developers make system engineering decisions...

    21. Re:licenses by slack_justyb · · Score: 1

      Zebra in Java is quite easy. Just setup a mapping to the printer as a RAW printer. Then head over to Zebra for the ZPL II guide. I think the rest will explain itself. A couple of the chapters cover sending TTF to ZPL and converting PCX into RAW image data for ZPL processing.

    22. Re:licenses by roman_mir · · Score: 1

      I'll switch to Open SDK then, which of-course will require some rework, because there are certain differences.

      Not only am I the one making all of the system engineering decisions on this, but I am the one setting business requirements as well. Nobody is above you, you know, when you are doing something by yourself on your own, with your own time and your own savings.

      Grow up.

    23. Re:licenses by roman_mir · · Score: 1

      I know this works, the speed is awful.

    24. Re:licenses by drinkypoo · · Score: 1

      Oracle has repeatedly proven itself to be willing to screw around the customer. That's the danger, it's not technical. If you trust that Oracle won't abuse you down the line so that you feel you have to abandon Java, and your application works, then no one is being hurt.

      --
      "You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
    25. Re:licenses by roman_mir · · Score: 1

      It's possible to switch to a different SDK and JVM if something that terrible happens.

    26. Re:licenses by Glock27 · · Score: 1

      I'm sure you're not using mysql either then, eh?

      (Since apparently you don't care that it can be forked as open source just like Java...)

      --
      Galileo: "The Earth revolves around the Sun!"
      Score: -1 100% Flamebait
    27. Re:licenses by drinkypoo · · Score: 1

      I'll grant you that, and that if you aren't doing anything particularly interesting, you might just be able to switch it out from under. But in practice, it seems like every major Java application ships with a particular JRE and often they don't support anything else.

      --
      "You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
    28. Re:licenses by roman_mir · · Score: 2

      I don't know the definition of major in this context, if by 'major' you mean - it's built for Weblogic server 3 or 4 or 8 or 11 or for Websphere 4, 6, 7, 8 whatever, then yes, you may be stuck (and it's not a fact, but remember than normally you are stuck), so you have to migrate to the next version of that software to migrate to another JRE.

      As to doing something 'particularly interesting' - this is business software. The interesting things here are the complexity of integrating multiple stores and offices and suppliers and manufacturers, the entire chain. Having the data available as soon as possible, having it all being transactional, having very quick response and very useful analysis tools. Having data being redundant and having ability to restore information quickly, if parts of it are lost in different systems from other systems. Having enough functionality to be able to compete.

      The importance of business software today is in providing ability to compete in this market, which is the market of wider separation between those who have money to buy anything they like, and the majority, whose available funds are shrinking due to the inflation and the resulting price hikes and the joblessness.

      The business software is not about launching a satellite to the other galaxy, it's about integration, speed, analysis, being faster than the other guy, being able to show, to prove that your software actually MAKES MONEY.

      When you design your own line of software, your own systems as an investment, with your own time and savings and abilities, if you can't make money for your customers then you fail. That's all that is 'interesting' in this case.

    29. Re:licenses by jon3k · · Score: 1

      Why not build it in HTML5/JS/CSS? Then your application can run anywhere without any 3rd party addons like JRE. Even on smartphones and tablets. As someone who has had to manage JRE on a Citrix farm many years ago let me be the first to say "FUCK JRE." We'd end up running ~6 versions of it that had to be installed, in order, oldest to newest, everytime we built out a new node because we had 10+ java apps that REQUIRED different versions of JRE and would not function unless specific versions were installed. It was _miserable_.

    30. Re:licenses by roman_mir · · Score: 1

      It's an app to run in a store, they don't do pagination, the filters are there, but it's possible to pull out an entire catalog, so say 40,000 lines of data in one window.

      Let me put it this way: browsers are SHIT at this. Total irredeemable SHIT. Try it sometime, to pull 40,000 lines into a table, and then do manipulations on that (from sorting columns, to adding/removing rows for example). There is no patience for 5 minute page reloads, redraws, refreshes and repositioning.

      No library can help with that either, no 'go', nothing.

      Pulling out 40,000 lines that are serialized Java beans, compressed during transmission, rendering them all is just a couple of seconds, and then the table interface can do sorting and more in under a second per function.

      So there you go, and that's just one example.

      Other examples include being able to use various hardware from the interface, types of barcode scanners and printers that require other tricks and drivers your favorite browser is useless for.

    31. Re:licenses by jon3k · · Score: 1

      Why not just pull one screen of viewable data, show that, then in the background load the rest of the data? You could use Comet to slowly feed data into the app? Or what about just memcaching the entire catalog and spitting it out at them on an unfiltered query? There's lots of ways here just be creative! :) Also don't forget that browsers support compression.

    32. Re:licenses by roman_mir · · Score: 1

      Over 2 years of work on all of this, what do you think, you are coming out with something that was NOT looked at?

      When you build your project like that, go ahead, be creative. You'll soon find that being creative to get around browser and document related problems takes all of your time rather than actually building the functions that business actually needs.

    33. Re:licenses by jon3k · · Score: 1

      #1 i don't know you
      #2 i dont know how long you've worked on this
      #3 we'll just have to agree to disagree that it is impossible to return a list of 40,000 elements without resorting to a java applet.

      Best of luck on your project :)

  8. Plans for Java lawsuits??? by Anonymous Coward · · Score: 0

    Is this really a plan to increase use of Java so Oracle's Ellison can initiate more lawsuits to hopefully create more revenue streams from other companies using Java IP?

  9. baby steps by Anonymous Coward · · Score: 0

    They might want to consider open sourcing Java. In the purest sense, that would mean cancelling the lawsuits against Google. After that, they could form an alliance with companies that have experience creating client side java frameworks. Google would be a good choice here, too, given the success of their Android efforts.

  10. Obligatory by adibe · · Score: 2
    1. Re:Obligatory by devent · · Score: 1
      --
      http://www.mueller-public.de - My site http://www.anr-institute.com/ - Advanced Natural Research Institute
  11. Java - aptly named by Anonymous Coward · · Score: 0

    as in, what to go make while you wait for your desktop application to load.

  12. Yay Java by Anonymous Coward · · Score: 0

    Yay Java! Looking bad on every platform for many years (non-native widgets, etc. - you can always tell a Java app because it looks so out of place). Breaking applications with every "security" update (which is really a full release with lots of breaking changes). We're working (slowly) to get rid of damn Java on our 80,000 machines. The language would be fine, but the constant security problems and fixes that break existing code show that Sun / Oracle just don't put enough effort into a decent, supportable, implementation.

    1. Re:Yay Java by leenks · · Score: 1

      What are you replacing it with?

    2. Re:Yay Java by siride · · Score: 1

      Have you see all the crappy 3rd party Windows apps that, despite being written in C/C++ or C#/VB, insist on creating their own custom UI controls that work in subtly (and not so subtly) different ways from the ones provided with Windows and very often don't look the same as the Windows ones (and often look terrible)?

  13. Performance by Anonymous Coward · · Score: 0

    So will it be faster? That's all I care.

  14. why sue google then? by josepha48 · · Score: 1
    Why are they sueing google over its implementation of the jvm instead of working with them if they really want java on mobile?

    Client side java, really? That's so last century oracle! Get with the program.

    --

    Only 'flamers' flame!

    1. Re:why sue google then? by icebraining · · Score: 2

      They're a business, not a charity. They want Java on mobile if they can get part of the profits.

    2. Re:why sue google then? by JAlexoi · · Score: 1

      Then they should start working WITH Google instead of just demanding protection moneys using patents.

    3. Re:why sue google then? by Billly+Gates · · Score: 1

      Oracle didn't even make the VM. Some research student did.

      That is like you inventing some cool thing and someone uses and then I sue claiming I own your product. How would you feel? This is exactly what Oracle is doing and I think it is dangerous as anything that looks like Java can now be a liability. Another judge can quote this case as proof based on his ruling and so far he is favoring Oracle.

    4. Re:why sue google then? by icebraining · · Score: 1

      But why would Google work with them?

    5. Re:why sue google then? by JAlexoi · · Score: 1

      Patents.

    6. Re:why sue google then? by icebraining · · Score: 1

      Patents, against whom?

    7. Re:why sue google then? by JAlexoi · · Score: 1

      Google needs teh patents(that's the reality of US legal system). Oracle needs more than milking Google, they need their hand in the Android gingerbread jar. If they end up not working together, that will be a huge blunder on Oracle's side.

  15. no need. javascript has too much momemtum by GodWasAnAlien · · Score: 4, Insightful

    Google was the best bet in bringing Java back to life.

    But Oracle is suing Google for making Java somewhat popular again ...

    I imagine even Google will give up on Java at some point with some new platform that exposes binder services to javascript, deprecates Java, and merges with Chrome OS.

    1. Re:no need. javascript has too much momemtum by Anonymous Coward · · Score: 0

      Given that C# has a published spec, Google could write up a Dalvik compiler for C# out of spite.

    2. Re:no need. javascript has too much momemtum by Bill_the_Engineer · · Score: 2

      Actually Google was just bastardizing Java as much as Microsoft did with J++. Oracle has every right to sue Google and Google isn't as innocent as you seem to believe.

      Sun made a promise to keep Java standardized as much as possible. Oracle stepped up to the plate and continue to defend Java.

      --
      These comments are my own and do not necessarily reflect the views or opinions of my employer or colleagues...
    3. Re:no need. javascript has too much momemtum by Anonymous Coward · · Score: 0

      The important difference here is that mobile Java was in serious, serious need of "bastardization". Android is probably closer to what people know as Java than two random J2ME implementations are to each other.

    4. Re:no need. javascript has too much momemtum by angel'o'sphere · · Score: 2

      Actually Google was just bastardizing Java as much as Microsoft did with J++. Oracle has every right to sue Google and Google isn't as innocent as you seem to believe.

      Sorry, but this is just plain wrong.
      Google does nothing that harms Java in anyway. After all there is no "Google Java". The program text for android applications running on the Dalvik VM "looks like Java" just as C looks like "C". But that has nothing to do with Java Trademarking etc.

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    5. Re:no need. javascript has too much momemtum by Anonymous Coward · · Score: 0

      Google was just bastardizing Java as much as Microsoft did with J++

      At no point have Google ever claimed that what they have is Java. It might bear some resemblance to Java: hell, it may even be compatible with Java, but that doesn't mean squat as they don't call it Java. Unlike Microsoft, who bastardised their certified Java implementation into J++. Huge difference.

    6. Re:no need. javascript has too much momemtum by ADRA · · Score: 2

      Sun/MS
      1. Microsoft's J++ implementation mirrored the functionality delivered with J2SE
      2. Microsoft's were in a business relationship with one another regarding

      Oracle/Google
      1. Google's Android competes with J2ME in cursory ways for sure, but I'd equate J2ME as more dumbphone+ based, and the standard Android API's are really pigeon holed into the types of devices they're using them on now. App engine's a very far throw from J2EE and I'd consider them so different that they can't be considered direct competitors
      2. Google and Oracle have no existing contract or licensing agreement to violate
      3. Google never called the product that they use as Java. It may be like it, but not exactly the same

      Net result:
      1. Oracle can only sue Google over Copyright & Patent. No contract dispute, no Trademark infringement. Forgetting the quagmire of software patents for a minute, if Google's guilty of either case, they'll be reaching in deep. If not, then oh well
      2. Some would consider Google evil for taking the (open) Java Language and making a new device profile that competes more or less with J2ME which Oracle charges real money for. Then again, I think that languages should be free, and if someone wanted to write a delphi or VB6 competitor, I wouldn't complain about that either

      --
      Bye!
    7. Re:no need. javascript has too much momemtum by JAlexoi · · Score: 1

      Really... Have you ever developed with that crap called J2ME? Android is breath of fresh air in the mobile Java related world. If it weren't for Android, Java on the smartphone would be dead by now.

    8. Re:no need. javascript has too much momemtum by JAlexoi · · Score: 2

      I'd argue that J2ME is NOT Java. You can't port anything useful to J2ME from a proper Java application. It's easy to port code to Android, on the other hand. As Android is still on Java 5 syntax, it'll be harder to port things in the future. But I doubt that Google is in a position to upgrade development to Java 7 at the moment, because of the lawsuit....

    9. Re:no need. javascript has too much momemtum by shutdown+-p+now · · Score: 1

      Microsoft, back in the day, signed a licensing agreement with Sun - which is why it was called "Microsoft Java", despite "Java" being trademark of Sun. That agreement had certain clauses that were violated.

      Google didn't sign any agreements with Sun/Oracle, and they don't use Sun/Oracle trademarks in their products. They're just using the source code, licensed under an open source license.

    10. Re:no need. javascript has too much momemtum by sjames · · Score: 1

      At this point where people are calling the language, the VM and all "the new COBOL", they should be happy that Google is at leasdt keeping the language and the idea of running on a VM alive. It's not binary compatible, but it's at least source compatible. MS made sure even the source wasn't compatible.

      Otherwise, developers start seeing Java as a one-way ticket to a dead end job maintaining crumbling old business apps,

    11. Re:no need. javascript has too much momemtum by Anonymous Coward · · Score: 0

      What Google is doing is using the Java syntax running in their VM against Android specific libraries. What Microsoft did is use Java syntax running in their VM against Windows specific libraries. In both cases the resulting app no longer runs in pure Java.

    12. Re:no need. javascript has too much momemtum by Tablizer · · Score: 1

      Otherwise, developers start seeing Java as a one-way ticket to a dead end job maintaining crumbling old business apps,...

      That's gonna happen anyhow; there's always a "new kid on the block" to legacy-ize anything you are using at the moment.

    13. Re:no need. javascript has too much momemtum by peppepz · · Score: 1
      http://developer.android.com/guide/basics/what-is-android.html

      What is Android?

      Android is a software stack for mobile devices that includes an operating system, middleware and key applications. The Android SDK provides the tools and APIs necessary to begin developing applications on the Android platform using the Java programming language.

    14. Re:no need. javascript has too much momemtum by sjames · · Score: 1

      Not so sure about that. C is still rather relevant. A lot of people don't realize how important FORTRAN still is in engineering and scientific computing, but it's not considered risky to admit knowing it to an interviewer. Pascal is effectively dead, but it's safe to admit to. Perl and Python are both older than Java.

    15. Re:no need. javascript has too much momemtum by BonThomme · · Score: 1

      And what SunOracle is doing with J2ME is, oh well, I have no idea what they are doing there...

    16. Re:no need. javascript has too much momemtum by Tablizer · · Score: 1

      Some languages indeed do have some staying power, but you cannot know which ones in advance. Note that Perl is beginning to take significant hits because of it's allegedly out-dated idioms. I'm not putting a value judgement on Perl, only saying that the demand and perception of languages changes heavily over time, making for a moving target for those wanting to pick a good "career language".

    17. Re:no need. javascript has too much momemtum by sjames · · Score: 1

      And that's exactly why Oracle should be happy that Google has caused Java to be associated with some "hot new thing" rather than just a pile of moldy middleware apps that are overdue for decommissioning. Otherwise, it''s past it's peak and into the long fade out.

    18. Re:no need. javascript has too much momemtum by Tablizer · · Score: 1

      Oracle is "genetically wired" to attack competitors. That's how it "won" the database wars. If you hire aggressive marketing teams who specialize in bashing competitors, it's hard to make them change their spots when some cooperation later becomes the better strategy.

  16. Never ever going to happen by Junta · · Score: 3, Insightful

    First, you would have to get every vendor to agree to this. Not a single one will. Oracle has spent time making enemies of most people required for such a plan to succeed, and their mission statement completely conflicts with the goals of the rest of the people that would be needed.

    Oracle has been too confrontational with Google to get their help on anything that would advance Oracle's motives.

    Since Oracle's angle is in effect reducing platform differentiation, Microsoft and Apple are not about to give them the time of day as success would simply erode whatever value they could possibly construct.

    Open source communities have been sufficiently alienated by Oracle's goings on that they don't have a prayer in Firefox or other open source browsers either.

    Combine this political obstacle with the simple fact that there isn't a large need to be filled. Between Flash and Javascript+HTML5, there isn't much to add to the web experience and for things like smartphone and desktop applications, the respective vendors have it too good right now in their walled gardens to relinquish control.

    This didn't happen in the late 90s/early 2000s, and it's not going to happen now.

    --
    XML is like violence. If it doesn't solve the problem, use more.
    1. Re:Never ever going to happen by Bill_the_Engineer · · Score: 1

      First, you would have to get every vendor to agree to this. Not a single one will. Oracle has spent time making enemies of most people required for such a plan to succeed, and their mission statement completely conflicts with the goals of the rest of the people that would be needed.

      Who are these enemies? Apple, IBM, and SAP are members of the OpenJDK project. Sure Google chose to make their own bastardization of the JVM and call it Dalvik which used a different byte-code format that is almost a one-to-one byte code replacement to the JVM format. They also are not using the standard class libraries either.

      Google isn't the entire IT ecosphere despite what they wish. Now Google and their fanboys are astroturfing the comment boards a lot, but it still doesn't reflect the reality of Java's continued and dominate use in enterprise.

      --
      These comments are my own and do not necessarily reflect the views or opinions of my employer or colleagues...
    2. Re:Never ever going to happen by angel'o'sphere · · Score: 4, Insightful

      Dalvik which used a different byte-code format that is almost a one-to-one byte code replacement to the JVM format.

      That is incorrect. Javas byte code manipulates a stack, the Dalvik VM is a register machine.

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    3. Re:Never ever going to happen by Junta · · Score: 1

      Apple's relationship with Java started at slightly more than token and has recently markedly declined as they realized they can charge people to develop and market iApps in a walled garden and Java doesn't play into their strategy.

      IBM and SAP I'll give you are very attached to Java, but I don't see that doing much for "Java everywhere". Java in the enterprise is there and will continue to be there, but the goal in this article was Java *everywhere*. In the consumer market, Java plays a negligible client role, and an ever reducing role in internet services.

      --
      XML is like violence. If it doesn't solve the problem, use more.
    4. Re:Never ever going to happen by Bill_the_Engineer · · Score: 1

      That is incorrect. Javas byte code manipulates a stack, the Dalvik VM is a register machine.

      That's being obtuse. Data format has nothing to do with implementation. One attribute has nothing to do with the other. Try again.

      --
      These comments are my own and do not necessarily reflect the views or opinions of my employer or colleagues...
    5. Re:Never ever going to happen by angel'o'sphere · · Score: 1

      That's being obtuse. Data format has nothing to do with implementation. One attribute has nothing to do with the other. Try again.

      Wow ... I'm impressed, you are in the marketing?Writing three sentences that make no sense at all in a row to make a nice sounding phrase makes neither your phrase true nor my previous post wrong.

      So, what is the equivalent Dalvik opcode for aload_0 or for ladd e.g.? Ah ... you see, there is none.
      So much to your "almost a one-to-one byte code replacement" ... there is no single byte code in the Dalvik VM that is remotely doing the same thing a byte code does in the Java VM. Sorry, get a clue about microprocessors, obviously (looking at your brain dead answer) you don't know the difference of a register machine and a stack machine.

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    6. Re:Never ever going to happen by JAlexoi · · Score: 1

      Apple, IBM, and SAP are members of the OpenJDK project

      Are you an Oracle DBA, per chance? Because you defend one of the most hated companies in Java land. You just have to remember how anyone in Java world viewed Oracle's products prior to BEA acquisition.
      You might think IBM's involvement in OpenJDK might mean something positive, but IBM is still a very aggressive competitor to Oracle. IBM is pretty much on a all hate relationship with HP and hate+cooperation with Oracle.

    7. Re:Never ever going to happen by JAlexoi · · Score: 1

      The opcodes themselves are one to one, just like you would transform an add command to a Power CPU to a x86 CPU. In the end it's still an add command.(By the same logic, LLVM is guilty of the same thing)
      Next, and most important point, is that the .class file format is radically different to .dex format. Sure, they're convertible.. Just like ODF can be converted into OOXML.

    8. Re:Never ever going to happen by Anonymous Coward · · Score: 0

      Bill the Engineer is obviously not a low level programmer.

    9. Re:Never ever going to happen by angel'o'sphere · · Score: 1

      The opcode is *not* transformed one to one. And yes, the LLVM is guilty of the same thing.

      Sorry, why do you argue about stuff that is obvious?

      Even for a Power CPU there is no direct mapping to x86 possible.

      Usually you have to map an opcode in one architectue to *several* opcodees in the other one. Also you have freedom to map it from time to time to a different sequence.

      Example in Java Bytecode:

      iload_2 # load local variable (an int) at index 2 onto stack
      iload_1 # load local variable at index 1 onto stack
      iadd # pop the top two values from the stack, add them and place the result back on the stack
      istore_1 # pop the top element from the stack and put it into local variable index 1

      First of all you should note that none of the opcodes has an argument.
      The "local variables" are the current stack frame.

      Now lets look at "one possible" translation into
      Dalvik VM code (the first two opcodes are not really necessary in this example, but lets stay "similar" to the JVM code above):

      move 01,20 # load local variable 01 into register 20
      move 02,21 # load local variable 02 into register 21
      add-int 20,21,22 # add registers 20 and 21, store result in register 22

      As you see we used registers 20,21 and 22 for calculation. However we could have used as well 7,8,9 ;D or whatever.
      In other words you have plenty of options how to translate the above JVM bytecode into Dalvik Bytecode, not just one and so it is not a one to one mapping.

      Regarding PowerPC and x86 the situation is even more complex. Both are register machines. A traditional x86 (8086, 80386/80486) is a CISC CPU, while a PowerPC is a RISC CPU. In conception the PowerPC is similar to the Dalvik "CPU". That means PowerPC uses opcodes with 3 operands (where approbriated, ofc), like the Dalvik "CPU". The x86 only has operands with two operands. The x86 has a few special purpsoe registeres, used for indexing mainly and only four general purpose registers, and an Accumulator (for calculations). However as far as I know all the general purpose registers can be used as an Accumulator.
      The PowerPC on the other hand has 32 general purpose registers that can be used for everything, indexing and calculations. Yes, I know, modern x86 have similar capabilities. Original x86 however had pretty wiered ideas about execution modes and segmented memory, and lots of special purpose registers.

      If you are interested in this stuff perhaps this is a good starting point: http://en.wikipedia.org/wiki/QuickTransit
      There are lots of links on that wikipedia page, it is a summary about the company that made the Rosetta PowerPC translator to x86 for Apple.

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
  17. rewrite swing from scratch or stop right now by canoeberry · · Score: 3, Interesting

    Why all the freakishly negative comments about one of the best languages to come along in a while? Super blazingly fast and fun to program. No, it's not ruby or python, but then again those languages are slow as thick shit in comparison. Anyway, if Java is going to succeed on the desktop it has to be possible to write apps which don't take up 500M of RAM, like Eclipse for example. That thing uses 500M of real memory for what!? Displaying a UI, edit three or four files, a console window ... I mean, this is 500M we're talking about. I blame Swing and the fact that its components are based on AWT Component, which is a huge memory hog with about 60 instance variables - holy cow, I thought I was exaggerating but it's close enough (53 + 13 because JComponent extends Container not Component). 66 * 8 = 512 bytes although not all elements are pointers I admit. Awesome! (not). I wonder if things would have been different if they didn't completely screw up Swing. AWT was done in about a week in 1995, it's OK that it wasn't perfect. But there is no excuse for Swing to suck so badly.

    1. Re:rewrite swing from scratch or stop right now by Anonymous Coward · · Score: 2, Interesting

      Java just allows for shitty code. I have written C++ apps. They all used somewhere between 2 and 10 megs of RAM. I wrote a small Swing GUI with one text pane and 4 buttons, it uses 50-70 megs of RAM. WTF? Then, I wrote an entire enterprise app in SWING and man that thing uses a TON of memory....somewhere around 256-500 megs depending on if someone has been using it a lot or not. Not to mention now I work on J2EE code, which is just inefficient as shit. Our web frontend is so slow and all the UI guys say it's the backend and I keep telling them it's the ORM layer and there is nothing I can do about it except add indexes. Eclipselink sucks balls. God I miss the days of C++ when I managed the memory I created. I felt so fulfilled deleting it. Now I can just create objects willy nilly and not know the consequences in the JVM. Fucking inefficient garbage collection. I've watch programs thrash pulling in gigs of RAM from the DB and trying to garbage collect over and over. It's pathetic. Long live efficient languages. I am not a bad developer, btw. I am senior level, btw. I have worked with grad students and learned from the best software engineers out there. Don't call me a newb you Java fanboys. I've worked with it for 10 years now and generally like the language but hate the performance.

    2. Re:rewrite swing from scratch or stop right now by Doctor+Faustus · · Score: 2

      Eclipse doesn't use Swing. Eclipse is the premier SWT app.

    3. Re:rewrite swing from scratch or stop right now by angel'o'sphere · · Score: 1

      What exactly sucks in Swing?
      And why are you complaining about Eclipse using 500M?
      Do you really think MS Visual Studio uses less?
      WTF when you compile a few undret megabytes of source code, where exactly do you think this is happening? My computer uses RAM for that ...

      Java can use as less RAM as a C program can. With one small exception: the JVM is added.

      Do you have any clue about what you are actually talking? Your Eclipse example is not even using Swing and you complain about Swing, sigh. If you are not able to program a simple text editor in Java e.g. that only uses 50kb of RAM + the JVM then it is YOUR fault and not Javas.

      Computing has changed the last years, you know?

      My MacBook Pro has 8Gig RAM ... why should I care that Eclipse is using 500MB?

      WTF, look at Word or Excel, that are shitty programs using zillions of RAM ... Google Chrome which I use to type this right now holds 2.6GB of RAM.

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    4. Re:rewrite swing from scratch or stop right now by tfigment · · Score: 2

      I total agree. My boss pretty much discarded his middle layer in geronimo and rewrote the php layer to directly use the database instead of webservice because performance was so poor on our critical monitoring website.

      We use a lot of Java and it just sucks memory and performance like there is no tomorrow. We have one server that we just had to up the memory from 5 GB to 7 GB to 10 GB because the fracken java app was doing god knows what with what should be at most 500 MB of data. I'm sure its bad code and one day we will get a fix from the vendor but this is not the first time I've seen this though never of that magnitude.

      On topic we also use a Java Webstart based thick-client HMI and not a week goes by that most I get one comment or another about how much memory it using on users desktops (minimum 256 but usually 400 or so) and how crappy it looks (using swing widgets). My laptop only has 2 GB and between this app, firefox and eclipse I have nothing left and for anything else and have to play games with what apps I have open or risk running off the swap drive. I've only ever used one Java client application that was so well performing, well behaved and nice looking that I didn't know it was Java and was surprised by it usually that is not the case.

    5. Re:rewrite swing from scratch or stop right now by gangien · · Score: 1

      It's funny you complain about swing and then bring up an example of eclipse, which is not swing.

      It's true java uses up too much memory in general. There's also many complaints about swing, but you don't know what you're talking about.

      And eclipse, btw, does a ton of shit. Not that it should eat up .5 GB of memory, but..

    6. Re:rewrite swing from scratch or stop right now by JAlexoi · · Score: 1

      I am not a bad developer, btw. I am senior level, btw.

      Do you know how much an hour of your work costs compared to a gig sick of Buffered ECC RAM? Newegg says highest priced DD2 is $80 per 1GB. Now do the right thing, calculate how much your company would spend on buying the memory and letting you spend 1 less on a specific task, as opposed to spending 1 hour more and not buying 1GB RAM...

    7. Re:rewrite swing from scratch or stop right now by ljw1004 · · Score: 1

      And the other stuff that Eclipse does...

      Parse your code in the background, generate symbol tables, maintain complete symbols of every class in your program, generate bound method trees at least of the current method you're on and usually others, provide intellisense, refactoring, scan your code for usage or other stylistic errors, colorize, ...

    8. Re:rewrite swing from scratch or stop right now by nzac · · Score: 3, Informative

      Why all the freakishly negative comments about one of the best languages to come along in a while? Super blazingly fast and fun to program. ... Anyway, if Java is going to succeed on the desktop it has to be possible to write apps which don't take up 500M of RAM

      Java is a trade off that uses excessive memory usage to allow you to 'have fun programming' (write shit code) and run almost a fast a C/C++ and have byte code that will run on multiple platforms.

      Its inherent to the language to use heaps of memory (needing a VM and using conservative GC) and have slow load times populating that memory. Is a language that has a niche (only good for running on a desktop with 4Gigs or more of ram) not a brilliant language. Probably the main reason its hated, is its owned by Oracle though. You cannot rewrite Java and have the extra memory usage disappear.

    9. Re:rewrite swing from scratch or stop right now by devent · · Score: 1

      Are you for real? My Eclipse uses 76MByes of RAM. Please read with me: 76 Megabytes RAM. Seventy six. And I have a bunch of plugins, like Groovy, Maven, etc. What I did was start up Eclipse and run a few tests in JUnit.

      Also you picked your application somewhat wrong. Eclipse is not a text editor, it's a full blown IDE, like VisualStudio. How much does VisualStudio uses, and it's written in C++. Also Eclipse uses SWT not Swing; SWT uses the native widgets of the system, and Swing is drawing it's own widgets.

      --
      http://www.mueller-public.de - My site http://www.anr-institute.com/ - Advanced Natural Research Institute
    10. Re:rewrite swing from scratch or stop right now by shutdown+-p+now · · Score: 1

      Why all the freakishly negative comments about one of the best languages to come along in a while?

      "One of the best languages"? Are you kidding me?

      No lambdas. More verbose than PL/I. Lame.

    11. Re:rewrite swing from scratch or stop right now by Anonymous Coward · · Score: 0

      If you took a break from your ignorant ranting and did some actual research, you would discover the following:

      - eclipse does not use swing, like at all; it uses native window controls on each platform
      - swing is a very nice toolkit, with built in support for theming
      - big java applications (eclipse) are not big due to java. I can mention some very large C apps too (like open office (java disabled), and firefox / mozzila) etc.

    12. Re:rewrite swing from scratch or stop right now by sjames · · Score: 1

      Because Java on the desktop has a history of producing software comparable to a pig with a JATO strapped to it's back? Because as soon as it escapes from a small embedded environment, Java likes to sprout a bazillion oddly deformed appendages with alphabet soup names, all of which are billed as the second coming of Christ? Because people don't like who they'd have to thank (and be beholden to)?

      Java has improved in recent years, but it's going to take a long time for the stench to fade.

    13. Re:rewrite swing from scratch or stop right now by Anonymous Coward · · Score: 0

      Eclipse does not use Swing, it uses SWT. SWT uses native widgets.

    14. Re:rewrite swing from scratch or stop right now by nzac · · Score: 1

      I can mention some very large C apps too (like open office (java disabled), and firefox / mozzila) etc.

      Stop trolling:
      LO has pretty good memory usage and firefox has really low memory usage (compared to alternatives).
      Nether of those are C apps they are just native not requiring a full VM. If they were written purely in C they would use even less memory and not be finished yet.
      Seriously generic conservative GC on a web browser would be painful.

    15. Re:rewrite swing from scratch or stop right now by Anonymous Coward · · Score: 0

      If you want efficient performance in a java application, you will be watchful of how much object creation you are doing. Profilers can help quite a bit in identifying inefficient spots in the application (in an objective way).

    16. Re:rewrite swing from scratch or stop right now by Anonymous Coward · · Score: 0

      Dude. Your code sucks. Your swing app isn't releasing memory because of memory leaks you created. Your J2EE app is either using the ORM layer wrong, not making use of its features or you just have no idea how to write SQL and use a database. The problems you describe are created by you, not the language. I'm dead serious.

    17. Re:rewrite swing from scratch or stop right now by Mongoose+Disciple · · Score: 1

      It's funny that all these people are calling bullshit on Eclipse taking 500 meg of RAM, when I was thinking that I've never personally seen it use that little.

    18. Re:rewrite swing from scratch or stop right now by mswhippingboy · · Score: 1
      Eclipse's memory usage has to do with it's OSGi underpinnings. OSGi is a fantastic, but very complex dynamic module platform. I agree it has performance issues, but it's more a problem with OSGi than with Java. Besides, Eclipse uses SWT, not Swing for it's GUI.

      My guess is Oracle will be replacing (or at least modifying) Swing for desktop apps to leverage JavaFX.

      The rest of my comment is not directed toward you, but toward all the Java haters here.

      For those who wish to bash Java's performance, all I can say is you obviously don't know what you are doing. I've been on a team developing a very extensive customer portal team that supports nearly 5 million customers with hundreds of thousands of hits/day (not just page flips, but real n-tier transactions hitting multiple database backends and web services, all either Weblogic or Tomcat J2EE app servers).

      My development time is split just about evenly between Java, C# and C++ and I think each has it's strengths and weaknesses and each is a good tool to have in your toolbox. Bashing any of these languages is more a reflection of the ignorance of the commentor than a reflection of the language itself. Just because Java doesn't require you to free the memory you allocate through object instantiations, doesn't mean you don't have to ever think about memory at all. You still have to be judicious in allocating objects. Techniques like reusing already allocated objects rather than creating new ones can make a huge difference in performance.

      --
      Sometimes the light at the end of the tunnel is the headlight of an oncoming train.
    19. Re:rewrite swing from scratch or stop right now by mswhippingboy · · Score: 1

      Now I can just create objects willy nilly and not know the consequences in the JVM.

      I think I've found your problem.

      --
      Sometimes the light at the end of the tunnel is the headlight of an oncoming train.
    20. Re:rewrite swing from scratch or stop right now by Anonymous Coward · · Score: 0

      "Probably the main reason its hated"
      What does that mean.
      Hated by the guy over the road ?.
      Hated by by all the people making all the great free libraries.

    21. Re:rewrite swing from scratch or stop right now by nzac · · Score: 1

      Hated such as some people in they would write "freakishly negative comments". If all Java implementations were fully GPL and the IP was owned by SUN then /. might be more lenient towards it.

    22. Re:rewrite swing from scratch or stop right now by Anonymous Coward · · Score: 0

      Java is a trade off that uses excessive memory usage to allow you to 'have fun programming' (write shit code) and run almost a fast a C/C++ and have byte code that will run on multiple platforms.

      Its inherent to the language to use heaps of memory (needing a VM and using conservative GC) and have slow load times populating that memory. Is a language that has a niche (only good for running on a desktop with 4Gigs or more of ram) not a brilliant language. Probably the main reason its hated, is its owned by Oracle though. You cannot rewrite Java and have the extra memory usage disappear.

      *LOL* Ever used an Android mobile device? Just about everything is written in Java for Android and the apps run fine with the restricted memory.

    23. Re:rewrite swing from scratch or stop right now by Xest · · Score: 2

      The 1980s called, they want their understanding of software back.

      Much modern software, supported by modern OS' use available memory to cache as much stuff that can be cached to increase performance. If a piece of software is using a few hundred mb it's probably doing so for good reason, rather than wasting CPU cycles dynamically calculating everything whilst your few gb of memory sits completely unused.

      Modern IDEs don't just provide a few text editor windows, they provide things like autocomplete, and it's far better to keep a cache of possible autocomplete options that's updated as code changes than it is to try and re-parse the entire code base to find out what those options are each time.

      Times change, high memory usage doesn't necessarily mean bad software, it can sometimes be a result of the developers of that software choosing to accept higher memory usage to cut down CPU usage so that features can be added that just simply wouldn't be feasible if it was all dumped on the CPU every single time it's used.

      This isn't to excuse all high memory usage apps, Firefox is an example where I'm not convinced it's all about caching, and seems to largely be a result of memory leaks because you can have 20 tabs open on an evening using a few hundred mb, leave the Window open, go to bed, come back the next morning and find it using a couple of gb. But oh wait, that's not possible, because it's a super efficient C++ program and only Java programs can end up using excessive amounts of memory right?

    24. Re:rewrite swing from scratch or stop right now by drinkypoo · · Score: 1

      Because Java on the desktop has a history of producing software comparable to a pig with a JATO strapped to it's back?

      Someone always pops up to say this in every conversation about the relative merits of various languages, and in this one, it might as well be me: Java lets more people write programs. That has positive and negative repercussions.

      --
      "You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
    25. Re:rewrite swing from scratch or stop right now by jrumney · · Score: 1

      ...it has to be possible to write apps which don't take up 500M of RAM, like Eclipse for example. ... I blame Swing ...

      Eclipse doesn't use Swing, it has its own toolkit called SWT.

    26. Re:rewrite swing from scratch or stop right now by BonThomme · · Score: 1

      Try closing your program's console window in the IDE after doing a run.

    27. Re:rewrite swing from scratch or stop right now by aaaaaaargh! · · Score: 1

      I think he meant "one of the best languages among Java and C++".

      For anyone else Java is just a monstrosity of ultra-verbose OOP hell.

    28. Re:rewrite swing from scratch or stop right now by Anonymous Coward · · Score: 0

      (first you should know that I work on a Swing app deployed on *thousands* of customers desktop: Windows and OS X and it also runs on Linux. Please mod me up +5 insightful even though I'll swear a lot).

      You're 100% on spot. Swing sucks. It sucks so much it's not even funny.

      Not only is it one of the worst UI ever but it's also darn impossible to extend in any sane way. Try, say, to get rid of the famous "blank rectangle" in the top right of a scrollable JTable. It is *so* pathetic and lame to do that it's basically easier to rewrite your freakin' entire JTable component from scratch. None of the Swing abstraction makes any sense whatsoever: it's pure bullish mental masturbation. Sure there are like, what, one famous desktop app using Swing: IntelliJ IDEA (Java IDE). Some people realized Swing sucked more than you can imagine and created alternatives, like SWT. Others went to re-invent a saner (proprietary) wheel. Wanna have a cube grid component in Swing? There's no f*cking way you can base it on JTable. Better start from scratch (we surely did).

      The "waste" and "mental masturbation" is not only in Swing: look at BufferedImage. Seriously. Not only it's leaking memory left and right and has ten-years old "flush" issues that still haven't been solved in a sane way but it's also wasting countless memory for nothing. They went through crazy abstraction for nothing: game programmers hate it, image/3D manipulation programs don't use it (how many "Adobe In-Design", Gimp, Photoshop, etc. are programmed in Java? Zero: that's right: zero f*cking zero. Because a simple "getRGB" means a call visiting about 20 classes, doing whatnots shit with color model and "monitor abstraction" and whatnots f*cks like taht). Most people don't realize the amount of waste that goes in when you create, say, a 1920x1200 BufferedImage and try to manipulate it's pixels (either for analysis or for modification, applying filters, etc.). This bullsh!t is so innefficient that you'll run OOM in no time. Sure, you *can* try to access directly the underlying int[] pixels array, provided that kind of BufferedImage supports such "hackery". If it doesn't, you'll first need to hack your way around one, meaning even more and more BufferedImage garbage sh!t.

      Then there's the entire mentality: "objects creation and garbage-collection in Java costs basically nothing, so let's create millions and millions of objects while doing even the most trivial operation".

      Want me to get started on the amount of uber-waste that goes into a sh!t like HashMap using F*CKING OBJECTS for keys and value? Really? I mean f*cking f*ck is it really for real? All these shitty boxing/unboxing? Thankfully some programmers saw the light and reinvented a better wheel: Trove's TIntLongHashmap, backed by primitives (and not lame objects) comes to mind. Of course it runs around circles and circles around the default lame Java collections... But ofcourse hardly anyone --starting with official Java API authors-- knows about it.

      It is F*CKING SICK.

      The Java Swing authors were not just clueless about OO and pixels/image/UI. They were also mentally f*cking ill people.

      I think the entire Java ecosystem, starting from the very-average joes on stackoverflow, is seriously ill.

      Rant over. But, yeah, Swing sucks gigantic times. This sh!t is so lame it's not even funny making jokes about it. It's just sad. So f*cking sad.

    29. Re:rewrite swing from scratch or stop right now by Anonymous Coward · · Score: 0

      Eclipse does NOT use a single component from swing or AWT. Eclipse is based on SWT which is basically a thin wrapper around platforms' native widget sets.

    30. Re:rewrite swing from scratch or stop right now by Anonymous Coward · · Score: 0

      Next on Slashdot - dumb guys explain pointers.

    31. Re:rewrite swing from scratch or stop right now by dkf · · Score: 1

      Eclipse's memory usage has to do with it's OSGi underpinnings.

      I'm not sure it does; Eclipse was still a bloated pig before it was switched to OSGi. The problem really seems to be if you have a lot of plugin modules loaded (like I have...)

      --
      "Little does he know, but there is no 'I' in 'Idiot'!"
    32. Re:rewrite swing from scratch or stop right now by mswhippingboy · · Score: 1

      Eclipse's memory usage has to do with it's OSGi underpinnings.

      I'm not sure it does; Eclipse was still a bloated pig before it was switched to OSGi. The problem really seems to be if you have a lot of plugin modules loaded (like I have...)

      Sure it does. The reason loading a lot of plugins tends to increase memory utilization so much has a lot to do with the overhead of the bundling architecture of OSGi. The plugin logic itself may not eat up that much memory, but all the API calls, artifacts and compontents needed to load or activate an OSGi bundle introduce a lot of overhead. Mind you the overhead is justified (IMO) because of the flexibility it provides, but it's definitely not insignificant. Having said that, I don't think it's as bad as some would make it seem since the amount of time it takes to launch Visual Studio and opening a project of any significant size is comparable and VS provides no where near the plugin flexibility that OSGi does.

      Regarding pre-OSGi Eclipse (pre - version 3.0), I agree it was a pig. However it was a completely different animal and it's internal complexity had gotten out of hand (hence the switch to OSGi) which was one of the main reasons for its poor performance (along with a much less performant JVM, slower machines, less memory, etc - we're talking around 8 years ago).

      --
      Sometimes the light at the end of the tunnel is the headlight of an oncoming train.
    33. Re:rewrite swing from scratch or stop right now by sproketboy · · Score: 1

      Eclipse is written with SWT NOT SWING. How does this get modded up? Are you all this ignorant?

    34. Re:rewrite swing from scratch or stop right now by Anonymous Coward · · Score: 0

      Why not having to worry with memory management implies writing shitty code?
      Also, you may want to research the 4g ram use. ??Java does use an absurd amount of memory, but if you need 4g of ram, the problem certainly not the vm.

    35. Re:rewrite swing from scratch or stop right now by Anonymous Coward · · Score: 0

      Mod up, parent is an idiot for not knowing that.

    36. Re:rewrite swing from scratch or stop right now by Anonymous Coward · · Score: 0

      Best language? Yeaaaah right. There is no such thing as a best language. You choose a language base on the problem you're trying to solve. Programming Languages should never be some sort of religion.

      Type erasure, horrible generic programming, slow adoption of closure, horrible IO boilerplate, and everything have to be a class is pretty bad. There are gotchas in there and it has quirks that is never fixed because it have to be compatible with older systems is bad.

    37. Re:rewrite swing from scratch or stop right now by Skvate · · Score: 1

      eclipse is SWT/JFACE, not AWT/SWING. Doesnt use 500 megs on my system...around 320(eclipse classic 3.7). SWT is also very fast GUI wise compared to swing, as it uses JNI do display native GUI elements. Who cares about ram usage on clients these days anyway...its cheap. Most systems have 4GB+ RAM now anyway. Vuze(former azureus) and lotus notes are also using SWT for GUI.

    38. Re:rewrite swing from scratch or stop right now by Anonymous Coward · · Score: 0

      Do you even know what an ORM layer is? Why would I be writing SQL when using an ORM layer? God, don't talk about shit you don't know about. My code is as good as it's going to get. I run JProfiler and never see any of my code coming to the top of the list. I see all of EclipseLink and other JPA shit going to the top. Why don't you learn a little about the topic before posting.

      Why would my swing app leak memory? Java cleans up unused memory for me. I don't have a bunch of static variables sitting around in memory that keep building up over time. All my objects are created and destroyed during the process of one client -> server call. The only thing that could leak is Swing. Swing is a piece of shit and creates hundreds of objects whenever you create any kind of component. Believe me, I know what I am talking about. I have had tons of other people also confirming what I saw.

  18. Major User Facing Java Applications by Stormy+Dragon · · Score: 1

    From the article:

    I can think of few examples of consumer-facing desktop Java applications.

    How about Spiral Knights? It's not World of Warcraft, but a million users isn't something to sneeze at.

    1. Re:Major User Facing Java Applications by Samantha+Wright · · Score: 1
      --
      Bio questions? Ask me to start a Q&A journal. Computer analogies available for most topics!
    2. Re:Major User Facing Java Applications by greylion3 · · Score: 1

      Funny you should mention it. Java is the main reason I stopped playing minecraft and started looking for (C++) clones using a different 3D engine.
      Minecraft sucks on linux; even with a non-integrated graphics card (Radeon HD34xx/43xx, maybe even 45xx), it isn't playable on highest settings. You have to buy a power-sucking semi-expensive one, and we're talking 3D-graphics that looks like it was made on an Amiga 500.
      Load time is just laughable, could take over a minute.
      Secondly, the world saves are tens of thousands of files. If you want to copy/move/[un]zip/[un]rar/ a save, be ready to go make tea or something, because it'll take a while, unless perhaps you've got a SSD, which will fail in a much shorter time due to the extreme number of files written to it while you play minecraft.
      NTFS is also to blame, but still..
      There's a free, GPL'ed clone on the rise: minetest-c55 (which I imagine will be renamed at some point).
      http://test.mine.bz/~celeron55/minetest/
      It's nowhere near finished, probably at the stage minecraft was in the infdev days.
      It can be played on a laptop with Intel 945GM graphics - try doing that with minecraft.

      Btw, the 14.6 mio. users is probably the number of people who have signed up over the last 2.5 years, not active players.
      I still come across people who have never heard of minecraft, and that's in an IT School..

      --
      Privacy begins with ..
    3. Re:Major User Facing Java Applications by Stormy+Dragon · · Score: 1

      Secondly, the world saves are tens of thousands of files. If you want to copy/move/[un]zip/[un]rar/ a save, be ready to go make tea or something, because it'll take a while, unless perhaps you've got a SSD, which will fail in a much shorter time due to the extreme number of files written to it while you play minecraft.

      What does that have to do with Java? That's a result of Minecraft's architecture, not the language it was developed in.

    4. Re:Major User Facing Java Applications by Samantha+Wright · · Score: 1

      And there's good reason for it. A Minecraft world file can have as much as 8 times the surface area of Earth. Keeping that in one file would require hugely complex addressing.

      --
      Bio questions? Ask me to start a Q&A journal. Computer analogies available for most topics!
    5. Re:Major User Facing Java Applications by greylion3 · · Score: 1

      Are you sure that that's the reason, or are you just guessing (too)? - As long as a (single)player hasn't gone for an extended run/flight/sailing trip, the world is only a few MB in size. No reason to keep that in thousands of small files.

      --
      Privacy begins with ..
    6. Re:Major User Facing Java Applications by greylion3 · · Score: 1

      Yeah, sorry about that. I think I was starting to rant about minecraft's failings, so that slipped in too.

      --
      Privacy begins with ..
    7. Re:Major User Facing Java Applications by Samantha+Wright · · Score: 1

      Here's the Minecraft wiki article about it. See also this one. The benefits are more prominent in multiplayer, where only affected sections of the map need to be loaded or saved. At large sizes, this sort of planning is quite indispensable, even if it looks dumb at smaller sizes. If it really bugs you that much, though, you could try updating this mod to support the newest version of Minecraft.

      --
      Bio questions? Ask me to start a Q&A journal. Computer analogies available for most topics!
  19. But we know what Oracle licensing means... by Torp · · Score: 1

    Soon we'll be able to run java on our desktops - only requirement is an Oracle support contract for the low, low price of 250K$/desktop/year?

    --
    I apologize for the lack of a signature.
  20. .NET really hasn't taken over Java by Junta · · Score: 3, Insightful

    I'm no fan of Java, but I run into it all the time.

    On the other .NET is really lightweight,

    So far as I have seen, most of the *appearance* of lightweight is achieved through preload. Conversely, most of the criticism of Java as bloated stems from a decade old impression and crappy app coders.

    .You also get access to some devices that Java doesn't support

    This is mostly a natural consequence of supporting many platforms. Platforms aren't different just for the fun of it, and supporting them all means mostly settling for the subset of ubiquitous capability. This applies to most scripting languages as well, though those typically get extended by platform-specific modules as they don't carry the stigma of being Java.

    Also, Visual Studio is much better development IDE than any other.

    Maybe for medium/large projects, but for quick stuff I still haven't found an IDE I like after trying visual studio/eclipse/etc/etc. Nothing beats vim and a compiler sometimes.

    --
    XML is like violence. If it doesn't solve the problem, use more.
    1. Re:.NET really hasn't taken over Java by 0123456 · · Score: 0

      So far as I have seen, most of the *appearance* of lightweight is achieved through preload. Conversely, most of the criticism of Java as bloated stems from a decade old impression and crappy app coders.

      Or from running Eclipse. Or, indeed, from writing Java apps and having to spend weeks adding object caches and fine-tuning the garbage collector to make it not require gigabytes of RAM or introduce long collection pauses or suck up most of one core just running the parallel garbage collector.

      Java would be a pretty good language if had real memory management.

  21. Oracle is a sly fox by Anonymous Coward · · Score: 0

    Oracle doesn't give a damn about Java on the desktop. They are trying to do what Google did, and that took them by surprise. Leverage the immense community of Java developers to embrace mobile. This time using an Oracle approved version of java and not a bastardised version. This is the reason that you see JavaFX being pushed on the desktop, the reason for the convergence between java desktop and java me. Its an Oracle game that tries to cut the floor from beneath Google. With this strategy wether they win or loose against Google, Java (not java me) will continue to be relevant in the mobile space. And if they win against Google, they get the benefit of being the gatekeepers on the mobile space. What are mobile developers going to do ? Abandon the fastest growing segment of mobile devices and put their efforts in window phones yeah right. Or flock en masse to iphones ? Yeah right.
    Oracle is playing the right game here, and since Nokia abandoned Qt, mobile developers really don't have a lot of choice.

  22. Client side java imho by Anonymous Coward · · Score: 0

    For my sites, "Client Side Java" means JavaScript. Purists can rant and rave that JavaScript isn't really Java, but in reality its good enough, already in the browser, and enough to satisfy the job. If you want real programming on the client, use a real language like C. Interpreted languages like BASIC and JAVA execute much much slower than compiled languages like C. They are also easier to lock down than compiled languages (that doesn't mean that languages like C can't be locked down to an equally refined degree, it just means that its a whole lot easier to do in interpreted languages like BASIC and JAVA). People who rant about "oh, compiled java bytecode blah blah" are blowing hot air up the pretty girls skirt. Java is interpreted, and slow. Its always been slow, and always will be slow. JavaScript is as fast (or as slow) as Java, but wins because its at least elegant (10 lines of source code can be a complete JavaScript program, 10-15 lines of source code is setting up the execution space for Java, followed by 15 lines for the program, then another 5-10 lines to tear down the execution space). I wasn't the first to say it, but I will repeat it: "Java: All the elegance of C++, All the speed of SmallTalk". In truth, its actually as elegant as COBOL (which is less elegant than C++), but I digress.

    1. Re:Client side java imho by roman_mir · · Score: 0

      How is all that drinking working out for you?

    2. Re:Client side java imho by leenks · · Score: 0

      JavaScript is nothing like Java. We aren't being purists, it's a totally different language, with totally different behaviours and semantics.

      Java isn't interpreted, nor is it slow. C++ is *not* elegant either, it is pretty disgusting actually.

      I think I have to side with the other poster...

    3. Re:Client side java imho by Anonymous Coward · · Score: 0

      That was said with a concern about the clarity of thought of the GP, so it's not off-topic.

    4. Re:Client side java imho by Anonymous Coward · · Score: 0

      For my sites, "Client Side Java" means JavaScript.

      Your sites are wrong.

      Purists can rant and rave that JavaScript isn't really Java

      Of course they can, because it isn't.

      but in reality its good enough, already in the browser, and enough to satisfy the job.

      So what? That doesn't mean it's the same thing.

  23. HTML5 etc. by lkcl · · Score: 4, Insightful

    um, i know it's being said quite a lot, already, but it's worth repeating: java's pretty much dead on the desktop. people are even replacing Flash applications with HTML5, as it's reaching high market share and maturity, especially now that IE9 has actually better (read "stricter") HTML5 compliance than the Free Software equivalents. how in god's name is oracle expecting to break into that?

    the other thing that's worth emphasising is that when you have alternative language bindings to HTML5, you get the best of both worlds. so... why doesn't oracle put its money behind getting java bindings (or, better "generic" bindings like DCOM and XPCOM) on top of HTML5 browser engines? with Trident (the engine behind MSHTML aka IE) that's a done deal already: Trident (MSHTML.DLL and MSXML.DLL) already *has* DCOM bindings so it's a matter of about 2-3 weeks to get something like that up-and-running. XPCOM (XulRunner) is a little trickier: you'd have to find or create java bindings to XPCOM (they don't exist afaik) and the hardest (technically speaking) is webkit (used in android, safari, ipphon etc.)

    then you have literally the best of both worlds. HTML5 as the "front-end", and whatever-language-you-choose to control and direct it. btw this is exactly what's been done for the pyjamas project (http://pyjs.org) except using python not java.

    1. Re:HTML5 etc. by angel'o'sphere · · Score: 2

      um, i know it's being said quite a lot, already, but it's worth repeating: java's pretty much dead on the desktop.

      I really wonder on what basis comments like this are made.
      Every new Java version improves also the feeling on the Desktop. I absolutely don't get what you are talking about. Most companies I have connections to use Java, on the Desktop. Why should they write their desktop applications in a different language than the server part?

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    2. Re:HTML5 etc. by shutdown+-p+now · · Score: 2

      I really wonder on what basis comments like this are made.

      It's based on the basis of seeing exactly one Java desktop application in the last 5 years (and that looked and felt like crap, being written in Swing).

      Why should they write their desktop applications in a different language than the server part?

      Why should they write a desktop application to begin with? 99% of all intranet LOB applications have been web-based for ages. No headache with rolling out updates that way.

    3. Re:HTML5 etc. by devent · · Score: 1

      um, i know it's being said quite a lot, already, but it's worth repeating: java's pretty much dead on the desktop.

      On what evidence did you base your opinion on?

      --
      http://www.mueller-public.de - My site http://www.anr-institute.com/ - Advanced Natural Research Institute
    4. Re:HTML5 etc. by angel'o'sphere · · Score: 1

      Well,

      in germany corporations don't use web based (intra web) very much.

      Usually it is traditional client/server stuff.

      Also keep in mind lots of 3rd party software is written in Java.

      The banks trading systems e.g.

      If a Swing app is written bad and feels like crap then it is for me no difference to a C/C++/C# app written bad :) It has nothing to do with Swing or Java. Just either designers who have no clue about UI design or programmers having no clue about it or simply laziness and sloth.

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    5. Re:HTML5 etc. by shutdown+-p+now · · Score: 1

      A WinForms app written in C# will use native controls, dialogs etc.

      A Qt app written in C++ will use controls and dialogs that are indistinguishable from native.

      A Swing app written in Java will use controls and dialogs that try real hard to look native, but they're also very bad at it. And it's noticeably slow to boot (when resizing windows, repainting areas under closed popups etc).

      I don't think I've ever seen a Swing app that was a pleasure to use. I find it hard to believe that it's a coincidence.

    6. Re:HTML5 etc. by angel'o'sphere · · Score: 1

      A Swing app written in Java will use controls and dialogs that try real hard to look native, but they're also very bad at it.

      That is your impression. First of all, on my Mac this is simply not true, most Java Apps look extremely native.
      Secondly, 95% or more people, don't feel like you. Because they don't notice the difference. For instance I'm using "Veritas Cluster Manager" and "Control-M", two server management/supervising/controlling tools. Both are written in Java. Some people complain in my department about the stupid Java programers and that in the "C world" everything was better. When I pointed out that both programs are Java programs (using Swing ofc), they challenged me to prove it by pointing out small graphical indicators for it. Tehy did not see those small "glitches" before I pointed them out ... and the rest of the App felt very native anyway.

      I don't think I've ever seen a Swing app that was a pleasure to use. I find it hard to believe that it's a coincidence.

      I think it is only showing that our days programmers click stuff in shape with GUI builders etc. and have no clue about programming. So the mass off apps are bad, and you notice those but not the excellent ones ;D

      Sorry, but I use dozens of Swing based Apps every days. They all just look normal.
      Look & Feel like "looking native" is completely irrelevant for professional users, anyway.
      Imagine to run Windows XP, and have a super cool looking Program like "Author-It" (which tries to look like a Windows 7 or even more advanced program), have an old Thunderbird and for compatibility reasons Windows 2000.
      Sorry, all programs look "native" according to the "old" windows version they where originally delivered with, in other words I have programs on a PC that don't look alike regarding look&feel. On top of that you can switch Windows XP in a way that it looks like Windows 2000 (but some applications then don't honour that and pretend to still look like Win XP apps).

      The point about C# and Qt is pretty weak as well.

      Applications like Calypso, Endur, Kondor, Opus run on Unix! (They are not all Java, ofc).

      Half of the software a banker is using is either wrapped in Citrix Meta Frame hosted applications or is running under unix and displayed via XWinows (either Exceede or Metaframe again).

      A button is a button is a button, a menu is a menu is a menu ... who cares if it suddenly looks "non native"? Look at programs like ICQ ... did you ever use it? It only uses native C++ controls. Nevertheless it is completely unusable, unintuitive, confusing etc.

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    7. Re:HTML5 etc. by tsotha · · Score: 1

      um, i know it's being said quite a lot, already, but it's worth repeating: java's pretty much dead on the desktop.

      I'm not sure this is true. There are a whole host of reasons to use a Java client for internal corporate applications, and from what I can tell they're very common in that space.

      I wouldn't be surprised if Oracle was successful with a desktop push - the main drawback of Java on the desktop was that it had a relatively large minimum memory footprint. But ten years later "large" isn't what it was. These days nobody cares if the minimum memory footprint for a Swing app is 10MB. And broadband is pretty ubiquitous, so you don't have to wait twenty minutes to get a new version.

  24. Perhaps not Java... by Anonymous Coward · · Score: 0

    ... but the JVM. Take a look at Scala, a language based on the JVM and binary compatible with any Java library. It allows for very short and elegant coding with much less pain than with C/C++. It's very nice to be able to run the same binary on both linux and windows, without the need to struggle with weird binary-incompatibilities and bugs within MinGW, Gtk+, etc. If you don't need maximum performance, it's really a nice thing. Java is not only for Applets, but also for stand-alone applications...

    1. Re:Perhaps not Java... by roman_mir · · Score: 1

      But I said specifically that I have a set of components, applications that are all written in Java, so why would reusing JVM with a different language be so great? It means having to learn all of the pitfalls of another language, and I code in Java since 97, among other things.

      What is the advantage? There HAS to be an advantage to move code form one language to another, especially given that I have most of the main functionality done, and now it's just adding features and fixing whatever bugs that are found. What is the advantage of taking on another rewrite like that in a different language?

      I am just counting the applications here, trying to remember all of them I created for the project in 2 years. FFS, FFL, Titan, Deimos, Mimas, IO Server, Phobos and Phobos Client, and a few small things besides those big ones. 7 of them are server side, 2 of them provide thin client and 1 is a full client that can be used as a stand alone or an applet (but it's used in production as a stand alone).

      What would be the incentive to rewrite any of this in a new language, given that these are not toys, but are created for business?

  25. DOA by smcdow · · Score: 2

    FTA: That means JavaFX is now supported on any device that offers a JVM.

    Bzzt. Thanks for playing. There is one extremely important class of device that does not and will not ever offer a JVM.

    --
    In the course of every project, it will become necessary to shoot the scientists and begin production.
    1. Re:DOA by Anonymous Coward · · Score: 0

      There is one extremely important class of device that does not and will not ever offer a JVM.

      The Massiah is gone. I suspect the future will be different than the past.

    2. Re:DOA by smcdow · · Score: 1

      Time will tell. But I doubt it. To do so would be to yield a great deal of the CM, stability, and especially the revenue generation that the platform is known for.

      --
      In the course of every project, it will become necessary to shoot the scientists and begin production.
  26. Rembmer when.. by Anonymous Coward · · Score: 0

    people would derisively say that Emacs stood for "Eight megabytes and constantly swapping". My how times change.

    The thing I don't get are companies that try to deliver enterprise applications that are written in Java.

    1. Re:Rembmer when.. by JAlexoi · · Score: 2

      Hm... Maybe because we actually deliver those applications?

  27. Browser DOM by hey · · Score: 1

    It would be cool if Java applets could access the HTML DOM as easily as JavaScript. Then it would be a nice alternative for programming on the web.

  28. MOD PARENT UP by walterbyrd · · Score: 1

    Oracle cannot be trusted. Oracle is clearly no friend to F/OSS.

  29. Can't blame Eclipse on Swing by Anonymous Coward · · Score: 0

    Anyway, if Java is going to succeed on the desktop it has to be possible to write apps which don't take up 500M of RAM, like Eclipse for example. I blame Swing ....

    Eclipse uses SWT, not Swing: http://en.wikipedia.org/wiki/Standard_Widget_Toolkit.

  30. time measured in coding time not exe time by cheekyboy · · Score: 1

    If you take 6 weeks to code something in C++ that only YOU can debug (job security) vs something in C# or java that can be coded in 1 week, then unless youre willing to take a pay cut to $5/hr, your too slow.

    Or lets say 6hrs vs 1hr.

    So not only do you want more $$/hr, you take 6x longer to code.

    --
    Liberty freedom are no1, not dicks in suits.
  31. The fastest way by roc97007 · · Score: 1

    Want to revitalize Java on the desktop? Open source it and leave it the hell alone. Who wants to get sued by Oracle?

    --
    Oliver's law of assumed responsibility: If you're seen fixing it, you will be blamed for breaking it.
  32. 1995 called by Anonymous Coward · · Score: 0

    They want their vaporware back.

  33. "Does not play well with others" by Tablizer · · Score: 1

    Oracle does "not play well with others". They excelled in niches where controlling and zero-sum conquer-mindedness worked; but not when getting along with other companies and orgs became the better strategy.

    Can they change their spots?

  34. God please no. client side java is crap by Anonymous Coward · · Score: 0

    Honestly every single client side java appmI have ever used has been pretty crappy.

  35. Comment removed by account_deleted · · Score: 1

    Comment removed based on user account deletion

  36. Why is C# / .NET so Bloated? by Anonymous Coward · · Score: 0

    Is there a reason why .NET needs GB's of disk space? It also seems I have 2 or 3 versions of this bloated crap on my Windows 7 machine. Does anyone know exactly how many GB's .NET occupies as it sprays its shit all over the hard drive? Also, why is Visual Studio also GB's in size? Visual Studio is one of the most bloated IDE's I've ever used.

  37. j to ecma? by Anonymous Coward · · Score: 0

    Wait, does this mean they are making a java->ecmascript cross-compiler? because that's the only way I see Java becoming relevant on the client.

  38. Which will come first... by pdxChris · · Score: 1

    the year of desktop Java, or the year of desktop Linux?

    I wonder if phones and tablets will totally replace desktops, before either Java or Linux "takes over the desktop."

  39. Pfft, sceptical isn't the right word .. sensible by Anonymous Coward · · Score: 0

    why would anyone choose Java and JavaFX now, when Java has yet to prove itself as a broad client-side development platform?

    I'll expand on that with "After 15 years of failure". When the only tool you have is a hammer, everything looks like a nail.

    If Oracle can follow through on its plans to make modern Java available on a wider range of platforms, it could be one of the most effective cross-platform development tools available.

    Coulda shoulda woulda ... it's 15 years old and it still "could be" one of the most effective cross platform development tools? Wake up and smell the Java. It's deader than dead .. it just keeps kicking because of all of the poor developers out there with Java on their minds. Quit being sentimental, there's nothing left for Java to do except die.

    The most defining characteristic of Java is that it never lived up to it's potential, can we close the book?

  40. Ambitious plan by mgiuca · · Score: 1

    I've got an ambitious plan for client-side Java: stop suing companies for using their open-source product.