Oracle's Latest Java Moves Draw Industry Ire
snydeq writes "Two years later, Oracle's stewardship of Java continues to raise user and vendor ire, this time due to modularization, licensing, and security concerns. 'Plans for version 8 of Java Platform Standard Edition, which is due next year, call for inclusion of Project Jigsaw to add modular capabilities to Java. But some organizations are concerned with how Oracle's plans might conflict with the OSGi module system already geared to Java. In the licensing arena, Canonical, the maker of Ubuntu Linux, says Oracle is no longer letting Linux distributors redistribute Oracle's own commercial Java, causing difficulties for the company. Meanwhile, security vendor F-Secure views Java as security hindrance.'"
With Oracle responsible for Java, is it even worth it to learn the language any more? I mean they will be killing it off soon.
This is news?! I thought everyone knew that by installing Java you were bending over, lowering your drawers and facing away from the Internet with a big sign pointed at you that reads "Take me!"
Ha - you've obviously never tried to distribute anything already compiled across multiple Linux distros... it's impossible to do reliably.
Great, a language is a security hindrance. Isn't that like saying executable files themselves are security hindrances?
I really don't understand what they get out of preventing Linux distributions from including their version of Java, given that the JDK binaries are available to download free from their website; do they just want to make life a little bit more inconvenient for Java developers? Am I missing something?
Top tip: lots of potential Java programmers use Linux. Surely it's better for them if they allow the "official" Java to be packaged with the likes of Ubuntu?
but the idea is actually to distribute the source code, not the binary!
Truth is, this has been a long time coming. It's time for Java to go.
More seriously, there are alternatives to Java. There are open source Java implementations and, God forbid, .NET. But, I think we've pretty much proven that the write once run everywhere idea just isn't feasible and perhaps it's time we went back to native code, read efficient and faster. But, Java needs to go.
I'm sure whatever they develop, it's better than OSGi. Practically speaking, OSGi does not really fulfill on its promis(es). "Modularity Kool-Aid". Puuhleeez people. Java has modularity support on multiple levels (classloaders, object orientation, package access, services, IOC containers). Is a heavy-handed solution like OSGi worth the trouble for what it brings?
I follow Java developments regularly and I don't see these points as being real issues.
Modularization: Project Jigsaw is meant to bring a more simple module system when compared to OSGi. OSGi is a great tool, but overly complicated for many people. Also, having Jigsaw built into the JRE will allow Oracle to split the base JRE into modules and hopefully reduce the memory required on initial load of a Java app. (Java core libraries have some horrible dependency trees, which cause a large chunk of the base JRE libraries to load on even the most simple applications).
Java Licensing: Sun started to push OpenJDK before it was bought by Oracle and that trend is continuing. The idea is that OpenJDK should be included with OS's like Ubuntu. OpenJDK is a GPL fork of a majority of the Oracle JDK, but some pieces could not be released as GPL because Sun originally licensed them from others (so those parts had to be re-written). I think it's better for everyone if OpenJDK gets more people using it so the bugs are worked out and it's a great open source Java implementation.
Its not what it is, its something else.
There a many good reasons why that's not always desirable or possible. Linux shouldn't make so difficult - it just pushes people to the smoother experiences of other OSes.
I agree.
supporting all those different CPU architectures, allowing a single OS to run on devices from routers, phones and TVs up through laptops and desktops all the way to multi-node clusters and mainframes is stupid. It stops some silly developer from shipping a single closed-source binary
Madness
Does anyone actually care if Ubuntu stops including Java? Let's not even bother considering that Canonical has shot themselves in the foot, calf, thigh, pelvis, and abdomen with their recent stewardship of the distro, how many people need a desktop with Java on it anyway? Are there that many Java devs using Ubuntu? There sure aren't that many desktop applications written for the platform anymore, and most of them are development tools.
I will say that this has been a major pain for me - I run nothing but Ubuntu at home and already spend enough time dealing with my kid's school's insane focus on Microsoft technologies.
Now, one of the most important sites for my kids to use (Aleks) is totally broken with Open Java. It was enough of a pain with Oracle's Java, but now it's unusable.
Thanks a lot Oracle! Wouldn't want anyone actually using your software or anything.
Sorry, but I welcome a competitor. This sounds a lot like FUD and butthurt from IBM.
*ix user since Solaris 2.6 Intel desktop edition, and to this day if someone hands me source, and I don't absolutely don't need to have that software, I walk away. I honestly have better things to do than guess at your dev enviroment, scurry up bullshit and do your job.
FIRST POST
Obviously you aren't running Java, otherwise you wouldn't have been able to post so fast.
Any insufficiently advanced magic is indistinguishable from technology.
the really funny/sad part is that many of the same people here who will condemn Oracle for capitalizing on Java are the very people who sadly shook their heads that Sun *wasn't* able to leverage it commercially.
Those "two sides" are not correct. This lawsuit doesn't hinge on whether or not Java is open. The real situation is that if Google had licensed Java, it would be protected from Oracle's patent infringement lawsuits (due to licensing terms) regarding patents that have NOTHING PER SE TO DO WITH JAVA. Those patents cover techniques used to implement virtual machines, and they could potentially be used to sue Perl, Python, Ruby, and other virtual machine technologies.
If your kid's school is teaching them using Windows and the tools they provide work better in Windows then install Windows on a computer for your kids so they can get their shit done. When they are older and want to chose which OS is better for them, let them.
Good. I want to play a game. **timer starts**
This article doesn't contain any news: ...
- It talks about concerns about something not released yet. The goal of Jigsaw isn't to replace OSGi. Oracle uses OSGi too. Also nobody complains about Maven not being OGSi for example.
- About the licensing and Canonical, I think it's about the old Java 6 and not about the latest and faster Java 7.
- Then you have the security warning in case you don't have the latest version. I don't how it differs here from Windows, Firefox, Flash, Acrobat Reader, IE,
So they bend pretty much the reality behind in this article. On which slashdot jump on.
How about having a system service running with admin privs? On delete you move it somewhere inaccessible to prevent new users, then the service deletes it once it is no longer open.
Just curious, have you ever attempted to use one of the many decompilers out there on your lost code?
For tens of years, it was never released to developers, users, etc the essential features considered inside of a normal practice of developing applications that were habitual during many years of the computer science history:
During many years, the java company did the ridiculous to the developers, users, clients, etc. appointing for suscribing to their Business circles.
My 1st post (in spanish): http://www.javahispano.org/portada/2011/12/15/tutorial-de-lenguajes-dinamicos-en-java-7-por-roberto-monter.html
My 2nd post (in spanish)http://barrapunto.com/comments.pl?threshold=-1&mode=nested&commentsort=0&op=Cambiar&sid=87964
JCPM
Knife Oracle, fork Java. It's that simple.
Java could have been so much more than it is. If Sun had GPL'd the whole thing in the 90's, Java could have become a programming platform pervasively used in Linux environments for application development, perhaps even the primary one. However, other languages came along like Python and stole all the attention, and Java is forever doomed to play second fiddle. If it wasn't for Android and its new language they call "Java", I'd say Java is dead. Yes, it's wormed its way onto all sorts of commercial devices and platforms, but get too comfy--it could easily be dumped and replaced with a number of software.
Java still has a chance to be revived, but the open source community has to take the lead and make the free software Java the real, official Java. Oracle might just get fed up with Java eventually and wish to dump it, in which case they might just GPL everything they have or spin off the project as a type of community-based foundation. Either way Java must be free software.
I invested thousands of hours of time and thousands of dollars in books on Java when Sun ran the show and Java held promise as an open platform that a user could use to do an incredible number of novel things.
However, Oracle proves only that whatever anyone does with Java they Oracle will parasitize it and take control of it, if they think it is their advantage. In the short run this is a great strategy for Oracle, but in the long run it is a disaster for anyone thinking of doing any development in Java, since nothing you create is your own.
I have moved on, I don't know about other Java coders but it no longer makes much sense as a platform for any kind of open work that the developer can retain control of.
Just use a decent framework like Qt and spend a few minutes extra compiling on multiple systems.
C++ doesn't have Oracle shitting on it, either.
Spoken like a true idiot that doesn't understand multiplatform development.
Java was always an abomination, which is why I'm strictly iOS, sorry I just don't want to mess with that awful crapola.
This is one of the times I wish I could mod and post, so I could comment on your signature AND still mod you up!
When I learned Java back in 1996 me and some friends had several disussions on this issue. We decided that it was too early to answer back then, but most of us moved to other solutions for our projects. Mostly for other reasons, though.
For several years it seemed as if we had chosen wrong. The others made very well with Java.
But since a couple of years it shows our decision wasn't all that bad. Only one of us who delved deep into Java is still fond of the beast. The others use it because it would be too expensive to migrate both the code and the expertise of the team.
cb
Java... a "computer language" without unsigned ints. Yup. No unsigned ints.
Comical. Truly comical.
A crappy toy "sub language".
Oracle has asked people to use the open-source version of Java, because the version they're putting out is only a reference implementation, and will not be updated in a timely manner.
MEMO:
To: Mark Shuttleworth
Canonical
Mark:
Nobody cares what you think any more. We've seen how you treat people in the discussion forums, refusing to answer legitimate questions; how you keep announcing products like the "Android Execution Environment" and then fail to deliver years later, how you flitter from one industry buzz-word to the next without actually developing anything in-house (rebadged cloud, rebadged music store, etc), and how you abandon existing users to chase your "latest greatest hope" in trying to make turn your failed marketing play into something that can be bought out.
Your latest "offering" - UbuntuTV - is a joke thrown together over the last couple of months using other people's code. No manufacturer will make a deal with you for this crap to save your investment. They can just go to the source - the original developers. Any distro can do what you did - root an existing linux TV and install whatever they want. There's a reason they don't.
Your failure to produce even ONE oem tablet deal almost 2 years after they were announced, and a year after they were supposed to be available shows that you need to resign. Now. Pack it in. You're an embarrassment. It's hard to tell who does more damage any more - you or Stallman.
Signed: The 99% of linux users who are fed up with your stupidity.
1) Project Jigsaw won't be allowed to see the light of day without a provable interoperability story with OSGi. They've been working under this assumption for quite a while now. 2) Oracle changed the license. It was unfortunate, but I think OpenJDK is a better default technology anyway. If you want the "Sun" JRE, you can still get it for free. 3) the Java plugin is a security hindrance, because so many people run older versions. However, that's no more news than a new article saying Flash is insecure.
In case some of the Slashdot readers take the joke (and what used to be true) as the current state of affairs I thought it worth correcting them (otherwise they will have a mistaken view of the *current* performace of the JVM). It turns out today that Java on the Oracle JVM is faster than pretty much every other general-purpose language except for FORTRAN (which is fast 'cause it so simple - which is why FORTRAN programs still dominate much of supercomputing). Don't take my word for it. Take that of James Gosling (a biased source):
http://blogs.oracle.com/jag/entry/current_state_of_java_for
and the French supercomputing facilties of INRIA (an unbiased source):
http://hal.inria.fr/inria-00312039/en
You could always mod then post as AC...
All the world's a CPU, and all the men and women merely AI agents
There a many good reasons why shipping source is not always desirable or possible.
Granted, one possibility is that the source is either physically or legally unavailable. But what are the other good reasons?
Great joke from the 90's.
In case some of the Slashdot readers take the joke (and what used to be true) as the current state of affairs I thought it worth correcting them (otherwise they will have a mistaken view of the *current* performace of the JVM). It turns out today that Java on the Oracle JVM is faster than pretty much every other general-purpose language except for FORTRAN (which is fast 'cause it so simple - which is why FORTRAN programs still dominate much of supercomputing). Don't take my word for it. Take that of James Gosling (a biased source): http://blogs.oracle.com/jag/entry/current_state_of_java_for and the French supercomputing facilties of INRIA (an unbiased source): http://hal.inria.fr/inria-00312039/en
That may be so, but the GUI handling in Java royally sucks. I very rarely see a graphical Java app that can't bring the fastest of PCs crawling painfully slow.
Any insufficiently advanced magic is indistinguishable from technology.
Again, a common misconception of morons. Crawling painfully slow? Now, that just makes you look ignorant. SWT is actually quite good. You should also check out JGoodies http://www.jgoodies.com
See? You don't need to live in ignorance.
"...But some organizations are concerned with how Oracle's plans might conflict with the OSGi module system already geared to Java. ..."
So if Oracle integrates OSGi into Java, other organizations will concern with how Oracle's plans might conflict with the Jigsaw module system. So Oracle cannot do anything with Java.
Erlang has a very powerful feature whose technical name I forget. It allows you to define a function within a function to be processed by higher level routine, such as a list iterator. My understanding is that a similar feature is to be added to Java 8. I think it'll be a very powerful addition to the Java syntax.
But as to Jigsaw and any competing approaches, I have no opinion or comment. May the best technology win.
I do not fail; I succeed at finding out what does not work.
I've been working with cisco devices java GUI for years - and it still sucks in terms of speed and reliability.
If you are talking about when Java took off, the early 1990s Python was immature. Perl would have been the better choice and was about 10x as popular.
The big issue is that Perl, Python and Ruby are all dynamic. Dynamic languages are prone to all sorts of runtime errors that static languages don't have. Further the theory of how to optimize static code is vastly more advanced, and was more advanced then. Given how Java was going to be running, dynamic languages were out. VBScript and Javascript were the dynamic web based languages. There were also more mature platform independent languages at the time like Smalltalk,
There wasn't anything else but Oak/Java to full the niche of cross platform, bytecode secure VM...
Because its a 100% corporate for profit language, I hope its banned in all universities because only real open languages should be tought there.
If zero grads know java, that will kill java.
Liberty freedom are no1, not dicks in suits.
If the java lang requires constant updates new features, that just means the current java is 'not good enough' . If you have 100 variations in a language VM, then its already shit. IF its not perfect today, it will never be perfect, if it gets updated too often, its just bloat, and 10000 pages of refererences.
Liberty freedom are no1, not dicks in suits.
Again, a common misconception of morons. Crawling painfully slow? Now, that just makes you look ignorant. SWT is actually quite good.
I've seen slow SWT apps too, but then the problem isn't really the GUI but rather the habit of the Java runtime to use lots of memory. Any machine is slow when forced to page (and when using Java on something with plenty of RAM, it flies). The other issue is that the boot time of the JVM is quite long, but that's actually quite dependent on what you're doing with it.
Neither of these issues is at all special to Java of course and things are not as bad as they used to be, but it is afflicted with them for sure.
"Little does he know, but there is no 'I' in 'Idiot'!"
Because of either java or X, they dont default to anti alias, you have to edit the netbeans.conf file and add an arg to java to force on antialias, then your netbeans will run at 5fps.
Come on, if gpu hardware can do millions of triangles per second, why not just put the whole editor gui in openGL, it would run faster than softrendered.
Liberty freedom are no1, not dicks in suits.
Can you buy Internet Explorer and Visual Basic?
Thnx bye
And once again, Oracle succeeds where many others have failed. This time they are going to make Java impopular!
Maybe because the software takes a rocket scientist to build in the first place? Maybe because you target users who should not have a need to learn about using a compiler and fixing fuckups in the system libs created by wild patching from distribution creators? Maybe because handing out the sources to your game would open the doors even wider for cheaters (server-side input testing is generally not enough)?
http://www.moonlight3d.eu/
Darth Ellison strikes again
Have you seen a .NET app lately?
Or I may be getting it confused with JNA, but one or the other basically only has documentation on how to get it to work on Solaris and Windows.
Jave was developed pretty obviously solely as a way to kill MS Windows.
Not only the language limitations indicate that, but (far more strongly), the official documentation does too.
Again, a common misconception of morons. Crawling painfully slow? Now, that just makes you look ignorant. SWT is actually quite good.
I've seen slow SWT apps too, but then the problem isn't really the GUI but rather the habit of the Java runtime to use lots of memory. Any machine is slow when forced to page (and when using Java on something with plenty of RAM, it flies).
A lot of C or C++ applications also use a lot of memory (maybe less, I'm not sure, but still a lot) - but there's a better chance that a lot of it can be paged out and left there because they don't have a garbage collector regularly scanning it.
So, you're saying that the JVM would be faster if it was written in Java, and thus running on top of another JVM. And the other JVM would also be faster if it was written in Java, and thus running on top of a third JVM.
(Continue until you have an infinitely fast program running on top of an infinite number of JVMs).
Maybe because the software takes a rocket scientist to build in the first place?
configure; make; make install. Yeah, that's brutal.
You're not catching me on this one. It's JVMs all the way down!
John
Try that with OO.o or Firefox. Good luck!
http://www.moonlight3d.eu/
- The Ubuntu distribution issue wasn't an big issue at all: Oracle decided that the only distribution for Java in *nix machines is going to be the OpenJDK, which is better for Linux distributions (because is GPL'd). That's all the history, not a big issue since the "sun" packages had unpatched security problems. To me is a better move, since it implies that the OpenJDK is going to be the "standard" to follow (they made the same move for MacOSX).
- The F-Secure "Java considered harmful", was a misinterpretation of a lot of news sites. If you read the statement made by the security expert it says that the "Java Plugin" is an usual attack vector and should be disabled. Is not a big issue, since apart from some old intranet sites no one uses Java Applets these days. Is like saying that .Net is considered harmful because of the Silverlight plugin, or that C++ is harmful because of ActiveX.
* if the programmer doesn't know what they are doing with Swing they will block what is known as the Event Dispatch Thread (EDT). Do that and you may get performance issues. On the other hand, if the developer does know what you they are doing with regard to the EDT (or have one of the tools to check this for you) then you can create a multi-threaded GUI that is *very* responsive even for very large tasks.
* Ever since Java 1.6.0u10 all of Java2D (and therefore Swing) has been completely hardware (that is, GPU shader) accelerated. On Windows DirectX shaders are used and everywhere else OpenGL shaders are used. Nicely 'stroked' and anti-aliased text rendering can be a little slow, but that is not noticeable compared to dump programmers blocking the EDT.
Third, in the particular case of Swing it is far more extensible than either WinForms or SWT. I know, I have had to write custom controls for all three and Swing was the easiest by far to extend (again, if you know what you are doing - as in everything in development).
So, perhaps Java GUIs require a bit more skill for new programmers to master, and unfortunately users seeing the interfaces produced by these less experienced developers blame the technology rather than the level of development experience. However, once you get past the n00b stage I reckon Swing is much much better for advanced UI projects than many other toolkits (which are easy for very simple stuff, but are a curse when you actually want to build a serious custom-tailored GUI).
I said it was easy to type in configure; make; make install, I didn't say it would always work :-). If you release the source, it's easy enough for distributors package them in rpms and debs.
I remembering manually compiling the Linux kernel back in 1998 (not always successfully). Nevertheless, releasing source code can be helpful. According to Eric S. Raymond, one of the reasons DARPA chose BSD for TCP/IP was that BSD offered source code.
Of an old joke, Java is now like an infected wiener, you don't need to amputate it... "In few days, turn black, and fall off all by self!
How to handroll a .deb of Oracle JDK 6u30. We are using the result in production at work on Ubuntu 10.04 server.
http://rocknerd.co.uk
If I had a dollar for whenever I saw some novice doing IO or expensive computation in the Swing event thread I'd be...well...not rich but it would be sufficient for a night-out for me and my friends. It's amazing how many "experts" don't know how to do threads in any way, shape or form. They are quite trivial to implement in Java but being threds they need some kind of planning.
But you are wrong about the Swing API. Now I have to say I haven't done real(as in paid for and a couple of hundreds of thousands of tedious UI code) any Swing work in the last 10 years since we all jumped on the web application bandwagon. But I can compare things like WPF(which was a bit crap at the beginning) to Swing back then. WPF is better. I wouldn't do pure Swing today. The API was great at the turn of the century when compared to other GUI APIs back then. I always felt like it had been neglected after that. It got a lot of improvements like hardware accelleration and optimizations but real changes and improvements in the API are far and in between.
But one thing has been a fundamental truth whenever somebody cracks a joke about Java speed: that person doesn't have the slightest clue and propably is a bad programmer. I've seen my fair share of use of JNI calls to C code because the perceived advantage of native code. In one case the C code were just a series of trivial integer operations that didn't take any measurable time to compute. The "optimization" was percieved as "necessary" because this used quite often. The JNI call was called thousands to millions of times within a series of loops. It didn't perform as expected because Java was slow. I did away with it and got a huge speed increase. What a surprise. The other time I saw something insane was when somebody used JNI to call a C function that sent XML over vanilla sockets because "Java doesn't do TCP, only RMI".
Could we just get the morons out of the way, please?
20 minutes into the future
Nope. It does mean that most inefficiencies are introduced by bad programming. Write inefficient C code and it will be slow. Write inefficient Java code and it will be slow.
If you are paid for the results(ie an application) and have to compete over price then you will not write code that is optimal(as in: the fastest way to run things) but rather whatever you can do with your budget. And writing optimal code has a very low priority when compared to writing maintainable code. Testable code. If you write a cutsom application for Enterprises(aka Big Corps, has been around for 100 years will be around for another 100) then you will have to plan ahead for the guys who have to extend your code 5 years down the line. Or port it. Also those applications tend to be broing as shit. All UI, data gets dumped into the database and somebody compiles a report. Job done. Well payd drudgery. You could write something like that in TCL/TK and it would be fast enough.
Speed only matters when you have a lot of computation.
Speed also matters when doing data analysis. But that is what databases are for nowadays. No need to reinvent the wheel.Simply drink the Oracle BI cool aid and weep into your drink after hours. It's hard to be challenged anymore.
20 minutes into the future
Lol. Great stories!
Don't forget to check out Google Web Toolkit (GWT) for the web if you haven't already. It has its limitations but it is pretty damn good (and portable, since it uses Java -> Javascript compilation for AJAX without the hassle).
Yeah, I'm planning on checking it out. I just managed to train my people in JSF 2.0 but we will be needing GWT sooner or later.
Right tool for the job. When I see the job.
We mostly do web applications with about 140 forms and just as clever as the customer wants to pay..
Turns out simple is simple enough.
20 minutes into the future
But one thing has been a fundamental truth whenever somebody cracks a joke about Java speed: that person doesn't have the slightest clue and propably is a bad programmer.
Most users are like that, yeah. And the Java apps I've used? Haven't impressed me with their speed.
Even if I was an expert Java programmer, I wouldn't have much control over Java apps written by others, now would I? When you're using a Java app and it's painfully slow, do you open up the .jar and start optimizing things? I doubt it.
Heh, once I figured out that IL-2 Sturmovik had quite a bit of Java in it I immediately wanted to know how much. Encrypted JARs, propably custom class loader, oh I really wanted to know how they did it.
Then there was that old Oracle Java database lib that slowed the system down whenever we wanted to use a connection pool. A quick profiler run unearthed that it spent 98% of its time in Thread.yield(). Called from within the Oracle drivers. If I hadn't had some McKinzey dude breathing down my eck at that moment I would have set the guns to very disassemble.If you see that kind of train wreck then you really want to witness the extent of the carnage.
20 minutes into the future
Learn c and start inventing...