Rootbeer GPU Compiler Lets Almost Any Java Code Run On the GPU 304
An anonymous reader writes "Today the source code to the Rootbeer GPU Compiler was released as open source on github. This work allows for a developer to use almost any Java code on the GPU. It is free, open source and highly tested. Rootbeer is the most full featured translator to convert Java Bytecode to CUDA. It allows arbitrary graphs of objects to be serialized to the GPU and the GPU kernel to be written in Java." Rootbeer is the work of Syracuse University instructor Phil Pratt-Szeliga.
Any code? (Score:5, Funny)
This work allows for a developer to use almost any Java code on the GPU.
Except for the code my students write. :rolleyes:
Re:Any code? (Score:5, Funny)
Re:Any code? (Score:4, Insightful)
There are no bad students, only bad teachers.
Trust me, there's plenty of bad students. They're only in class to collect their "No Worker Left Behind" check. Thankfully that program has run its course.
Re: (Score:2, Interesting)
"Thinking is hard work, which is why so few people do it." - Henry Ford
Re:Any code? (Score:4, Interesting)
Re:Any code? (Score:5, Interesting)
a. I was a GREAT welder. Certified in everything save underwater stuff... I got about $13/hr
b. I'm not a very good programmer. I just started, don't know many languages and am always bugging my coworkers with noob questions. Now I'm salaried at $60k/yr
So, I'm not sure how much you think welders get paid. But it's not much. I'm sure there are a few (like the under water guys and the skyscraper guys) but the vast majority of us sitting in machine shops with no aircon, welding liftgates on the back of semis are not making a fortune. Welding was much more rewarding though. I got REAL things done back then. Now I constantly make changes to the same pieces of software and various managers requests. Half the time undoing whatever it was I did last week.
Re:Any code? (Score:4, Interesting)
I'm in northern canada, and every welder I know makes over 100k a year. They work in mills, plants, or on the oil patch. I'm sure locale has a lot to do with it.
Re:Any code? (Score:5, Insightful)
...tool & dye....
"Thinking is hard work, which is why so few people do it." - Henry Ford
Tool and die. I can understand not knowing how to spell it, bit quoting Henry Ford and not realizing that die work and tooling are technical jobs is abhorrent.
Tech support is to computer science as die setters are to mechanical engineers.
Tool and die makers are the software developers of the hardware world.
Captcha is pompous. How relevant.
Re:Any code? (Score:4, Insightful)
Speaking as someone who has had the experience of being both a good and a bad student, I will tell you it has very little to do with the teacher. It's all about student attitude. I failed several undergrad classes quite convincingly and it was pretty much my own fault, even though I would have liked to have blamed it on some of the horrible teachers I had. I excelled in grad school because I approached it with a completely different attitude and no teacher, no matter how bad, was going to get in my way and prevent me from doing well.
I control my attitude. While I admit that no one is impervious to external influences, how a student reacts to a bad teacher is largely up to them. If you allow a bad teacher to turn you into a bad student, that's entirely your own fault. It's not like they've tied you down, cracked open your skull and deliberately rewired things to turn you into that asshole who never shows up or does the work.
Re: (Score:2)
I got a 2.8 GPA in High school because I didn't care and I never did homework. In college I got a 3.9 because college actaully matters so I started caring.
Amusingly enough my teachers in high school loved me (one of them hugged me and cried when I left), despite the fact that I almost never turned in homework.
Re: (Score:2)
Of course, some people are the type who could teach themselves and only show up for the exams but it kind of defeats the point of school or college or university. I remember one in particular that was a Russian with very weak English - and English isn't my native tongue. I still managed to get an A because I knew the textbooks, I gave up on trying to listen to lectures as I'd spend 90% of my energy trying to decipher what the hell he was saying.
Re:Any code? (Score:5, Insightful)
On the other hand, in university, in Practical CS 1 and 2 (aka "Java for beginners" and "Java for slightly more advanced beginners") we had a setup where students would form groups that do the written homework together and would enter an oral exam at the end where their individual proficiency would be evaluated. In both cases I came out with a good grade while the others of my groups failed. In both cases I was the only one of the group who actually cared about the subject. You can certainly be a bad student without external influences.
Re:Any code? (Score:5, Insightful)
No, you are quite wrong indeed.
There are bad students out there, we do not live in a perfect happy smiley little world where every human has limitless potential and can do *anything* if only they tried and had good teachers. That nonsense view comes out of what political correctness has done to modern western society.
There are students who truly are unwilling to learn, dont want to be there, and are only in class because they have to.
There are actually students out there who will never be able to pass certain exams, no matter how good the teachers are and no matter how much they try. Some things are just beyond some people.
The *real world* is not perfect, humans are not perfect.
If you think that is a cynical view, well then that is utterly irrelevant to my point. Facts are facts, no matter how much we dont or do like that fact.
Re: (Score:2)
Re: (Score:2, Insightful)
Re: (Score:2)
Re:Any code? (Score:5, Funny)
I'm here. Hi.
Re: (Score:2)
If you have to be motivated to learn, then you are a bad student.
Re: (Score:2)
No, you are quite wrong indeed.
There are bad students out there, we do not live in a perfect happy smiley little world where every human has limitless potential and can do *anything* if only they tried and had good teachers. That nonsense view comes out of what political correctness has done to modern western society.
There are students who truly are unwilling to learn, dont want to be there, and are only in class because they have to.
Perhaps you need to look earlier. Who are your first teachers? Your parents and your early environment. A child can have poor teachers and poor teaching there, and that leaves it mark on them, scars that they'll have to struggle with the rest of their lives. But that struggle began with poor teaching.
There are actually students out there who will never be able to pass certain exams, no matter how good the teachers are and no matter how much they try. Some things are just beyond some people.
If the task or test requires significant physical ability that the student is incapable of performing, maybe. But if the task is primarily mental and the student has a functional brain, I'd disagree. I've taugh
Re: (Score:3)
EVERYBODY has a bad teacher at some point.
Besides, teachers are not the only ones who can turn mediocre students into bad ones. Bad parents, bad peers, bad genes, bad environment, bad societies...
You give the teachers too much credit.
Re: (Score:3, Funny)
Psychotic murderers are the best students.
(and if they are not they have great potential to become the best.)
Re: (Score:2)
Born on probation at least.
Re: (Score:3, Insightful)
I used to think that too, until I started teaching at a state college. The only effective way to teach them is triage. There're the ones who will get it no matter what, the ones who will never learn a thing no matter how well you teach, but there's not much to be done there, short of encouraging the former to explore and helping the latter make it to the pass line. The bulk of the resources need to go to the middle group, where your efforts can make the difference between getting it and not.
Re: (Score:3)
There are no bad students, only bad teachers.
Incorrect! Here, let me FTFY:
There are no bad students, just children who have not been provided the proper frequency and dosage of amphetamines [wikipedia.org] yet.
Dope: it's what's for breakfast!
Re: (Score:2)
if so many of your students are apparently such bad programmers, I'm guessing it's due to a mutual problem they share (you), even though you clearly seem enthusiastic about your job.
You'd really have to know more about the selection criteria for his class to make any useful statements about what properties they share...
x264 (Score:4, Interesting)
Re: (Score:2)
That would be quite difficult for a C/assembly project to use a Java compiler.
Re: (Score:3, Interesting)
That would be quite difficult for a C/assembly project to use a Java compiler.
*shrug* They've been dragging their heels for years, claiming that there's no practical way to do it, that the quality is inferior, etc., etc. And now there's a way to generate bytecode that can be executed on the GPU and return predictable results. I'm sure someone who knows assembler can figure out a simple FIFO or IPC / shared memory arrangement... At this point, they can't hide behind technical hurdles: It's clear GPUs can be used, they just don't want to because they're stuck up.
Re:x264 (Score:5, Informative)
Programs don't magically become faster when they are run on GPUs. E.g. Linear Algebra algorithms work really well on CPUs, but if ported 1 to 1 ( as this would ) to a GPU their performance is just abysmal. Usually one needs to use a specially designed algorithm that can actually use the massive parallelism of a GPU and not get stuck e.g. trying to synchronize or doing other kinds of communication. GPUs really like doing the same operation on independent data, which is basically what happens when rendering an image, they are not really designed to have operations that need information of all other data, or neighbouring data in a grid.... . Just because something works on a GPU does not mean its efficient, thus the performance could be much worse using a GPU .
Also balancing CPU and GPU usage is even harder ( maybe impossible ? ) as you cannot predict what kind of System you will run your software on, thus usually these days the CPU feeds the GPU with data ( with the current Tesla cards only 1 core per GPU, this changes in the Kepler version to 32 ) and does some processing that can't be done on the GPU, but do not share any kind of workloads.
I don't know how the h.264 codec is structured or if it is possible to have performance gains on encoding. However I really doubt that x.264 can be just ported as they rely heavily on CPU specific features ( SSE etc ) which is quite different to the much higher level bytecode that Java would produce.
Re: (Score:2)
Computational code is quite regular, so it is usually possible to predict its performance, especially on GPUs which are quite simple architectures (no cache or reordering).
Re: (Score:3, Interesting)
If you've been following x264 development at all, you'd know that all coders which attempted to add complete GPU acceleration to x264 either failed or have given up because it was too difficult. Their motto has always been 'patches welcome', but the result can't be slower than x264 on a CPU or degrade quality significantly. Thus far not really an issue, since off-hand I can't think of anybody who was actually able to provide a patch which was able to be compiled and produce valid output, let alone have acce
Re: (Score:2)
And how fast does the bytecode run?
GPUs are specialist processors, running the kind of things they are designed to do they are very fast... Making them run things which they are not suited to can result in terrible performance.
Re: (Score:2)
Re: (Score:2)
c- java simple (Score:3, Interesting)
yeah, you can even automate it..
now, I wonder if this gpu project could be used to run http://www.ode4j.org/ [ode4j.org] ..(ode for java is a port of a c/c++ physics lib to java, mostly automated conversion. it actually works pretty nicely.)
Re: (Score:2)
it's still more processing units to use..
Super (Score:2)
Why?
Re:Super (Score:4, Insightful)
Why is any hack done? Because it can be.
Re: (Score:2)
Why?
I don't know how close the current state of the project is to this scenario but I'd want it because my netbook slows to a crawl everytime eclipse recompiles a module I'm working on and I don't want to turn off the auto-compile due to preference for not losing some other features that come along with it. And my netbook sits beside the couch always ready to go when I'm lounging with whatever recreational project I happen to be working on sitting in Dropbox. Nothing better in a quiet house on a Saturday morn
Re: (Score:2)
Warming tea would be one obvious application. I don't know if they've got to the point where it can roast coffee yet, I suspect they'd have to make Eclipse run there in its entirety for that.
Blah its CUDA (Score:5, Interesting)
It's CUDA only, meaning it does not support any open standards. Call me when when I can target OpenCL.
Re:Blah its CUDA (Score:5, Interesting)
Re: (Score:3)
I think it's unfair of you to bar a CUDA.
There's hope yet! (Score:5, Insightful)
released as open source on github [github.com]
Damn, Slashdot, I almost had a freaking heart attack when I moused over (you don't think I actually clicked do you? New here?) the link in the summary and it was to the actual github page rather than some crappy 10 page blog post based on something pulled off the reuters wire from last week.
I'm impressed!
Very nice. (Score:4, Informative)
Here, from GitHub, is the short presentation. [github.com] This is very impressive. It finds parallelism automatically, at least for simple cases. Over 50x performance improvement on matrix multiply and naive Fourier transform (not FFT), both of which have very simple inner loops. Not clear how it does on less obvious problems.
Re: (Score:2)
The funny thing is that this is still slower than a good CPU matrix multiply.
Legal Problems. (Score:4, Insightful)
Considering the approach that Oracle is taking of trying to copyright and charge license fees just for using the Java API's (see Oracle vs Google) I cant see any sane person developing on a non-Oracle provided Java platform. If they can sue Google for Dalvik they can certainly sue whoever deploys Rootbeer if they feel like it.
pgmer6809
Re: (Score:3)
Re: (Score:2, Insightful)
But because US law works so well, it does mean you'll be ruined long before the trial is over.
Re:Legal Problems. (Score:5, Insightful)
Doesn't really matter who the law would eventually side with, if it takes long enough to do so to bankrupt you.
Re: (Score:2)
Did you miss the news? Oracle lost that battle on all claims.
Of course they can still sue.
Re: (Score:2)
IANAL but since Oracle has now designated OpenJDK (GPLed) as the official reference platform in place of their own, I don't think there are many (any?) legal problems to worry about. Can a company that contributes heavily to a GPLed language turn around and sue somebody for using that code? I didn't think so... but again ianal.
Re: (Score:2)
Nice FUD, troll. Google was sued because they took the Java APIs and have not got a license from Oracle (that was before Java was released under the GPL with OpenJDK). At least that what Oracle was trying to convince the judge and the jury.
Long story short: Orcale was thinking that Google needed the TCK license (or other license) to use the Java APIs. Orcale was trying to convince the court that APIs are copyrightable (or more specific, the Structure, Sequence and Organization of APIs). We now all know the
Re: (Score:3)
I think they started developing Android way before a first release of a Android phone? From wikipedia:
> Android, Inc. was founded in Palo Alto, California, United States in October 2003 [...] Google acquired Android Inc. on August 17, 2005, making Android Inc. a wholly owned subsidiary of Google.
> On 17 November 2006, Sun announced that it would be released under the GNU General Public License (GPL), thus making it free software. This happened in large part on 8 May 2007;
> J2SE 5.0 (September 30, 2
Re: (Score:3)
Nice try with the FUD. rootbeer is simply a bytecode translator. The Java API isn't involved here at all. And the place where the translated bytecodes execute is the graphics card, not some Java JRE-derived virtual machine and runtime API implementation. There is no runtime involved at all. The Java code is simply math that gets translated directly to GPU instructions.
This is no different than Google's Web Toolkit which translates Java (not necessarily bytecode though) to javascript, which has never
Shouldn't title be more specific (Score:3)
Re: (Score:2)
At the moment, few people care about ATI cards for anything else than video games.
This may change in the next few years as better ATI graphics card for HPC are introduced.
Re:How about getting java code to run on java (Score:5, Insightful)
2004 called, they want their blind hate for Java back.
Used intelligently by a skilled programmer, Java can deliver great results and provide exactly the sort of cross platform capabilities it was designed for. Used by idiots and/or kids who just earned that undergrad CS degree, it tends to provide less.
Re: (Score:3, Informative)
2004 called, they want their blind hate for Java back.
Used intelligently by a skilled programmer, Java can deliver great results and provide exactly the sort of cross platform capabilities it was designed for. Used by idiots and/or kids who just earned that undergrad CS degree, it tends to provide less.
Just like any other programming language?
Re: (Score:2)
"Used intelligently by a skilled programmer"
2010 called. What you ask for is in extremely short stock and will be as long as the educational systems go to shit.
Re: (Score:2)
Good old C did manage to dethrone Java as the programming language with the most "skilled engineers world-wide" recently, but Java is still #2.
If the 2nd most popular language is indeed in "extremely short stock of skill", please let me take this opportunity to let everyone know that I can provide skilled Java work at reasonable rates (well... reasonable considering it's scarcity).
http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html [tiobe.com]
Re: (Score:2, Informative)
Guess what I'm not coding for it just using apps from major corps. Those fun management apps that on some kit you must use as the cli will only setup basic ip settings, any real config requires some java monstrosity. Just a few weeks back a java update broke some buttons on the latest supermicro ipkvm java app and the cisco asdm launcher (though the web launched versions works). I would not call cisco some fly by night company.
Re: (Score:2)
This is a strange argument logically...
Are you saying all these major corps are idiots for choosing Java in the first place? That doesn't lend much credibility to your use of them as an example of producing well written software. Certainly these major corporations didn't just randomly choose to use Java.. so how does your logic work exactly?
Re: (Score:2)
a skill programmer would know that Java has evolved and that the language has many features that it didn't have in v1.0
A few new features have been added to the java language over the yers but many features that have been in other languages for years are still missing. For example
properties*
method pointers**
user defined value types
parameter pass by reference
operator overloading
* Specifically i'm reffering to the language feature that VB and Delphi have, not the conventions that Java has to make up for the lack of that language feature.
** You can achive a somewhat similar effect with interfaces and inner classes but it''s a
Re:How about getting java code to run on java (Score:5, Interesting)
This is simply not true for code written by a professional and competent Java developer (note: part of my consulting gig means I code Java on a professional basis).
If you write only to the public APIs then Java truly is Write-Once-Run-Anywhere (although some bad Java developers use internal functionality that can change between Java versions - I'm guessing that perhaps these folks are used to coding to the Undocumented APIs of Win32 that you used to have to use to get things done). In Java you shouldn't do this. IIRC, Sun created around ten thousand unit tests to ensure Java worked correctly on each platform (wonderful, they did all the porting and port testing effort so Java developers don't have to).
Aside from my professional coding (where Java written on a Mac works flawlessly when deployed to Linux and Windows servers) in my spare time I'm working on modern jet air combat simulator in Java. The same Java+JoGL code works flawlessly on Mac, Linux and Windows. Any differences are in capabilities/performance of individual graphics cards (AMD/ATI vs NVidia).
This article about being able to write Java for the GPU is very interesting, since writing shaders via OpenGL is a little bit of a PITA (there is an impedance mismatch between the conventions of Java, OpenGL and GLSL - it would be fabulous to just write in Java [akin to how I can do this on the Web using Google Web Toolkit]).
So I don't think your statement is really true - except for buggy software written by developers who have bad simple-platform habits.
Re: (Score:2)
From my experience those developers are the majority of business java dev's it would seem. Honestly the platform is broken by the fact the super secret only work here bits existed in the first place. Functionally the java apps should know what versions and extensions they require to run and have the launcher use them or go download the required version.
Re:How about getting java code to run on java (Score:5, Insightful)
Re: (Score:3, Interesting)
This is simply not true for code written by a professional and competent Java developer (note: part of my consulting gig means I code Java on a professional basis).
If you write only to the public APIs then Java truly is Write-Once-Run-Anywhere (although some bad Java developers use internal functionality that can change between Java versions - I'm guessing that perhaps these folks are used to coding to the Undocumented APIs of Win32 that you used to have to use to get things done). In Java you shouldn't do this. IIRC, Sun created around ten thousand unit tests to ensure Java worked correctly on each platform (wonderful, they did all the porting and port testing effort so Java developers don't have to).
Aside from my professional coding (where Java written on a Mac works flawlessly when deployed to Linux and Windows servers) in my spare time I'm working on modern jet air combat simulator in Java. The same Java+JoGL code works flawlessly on Mac, Linux and Windows. Any differences are in capabilities/performance of individual graphics cards (AMD/ATI vs NVidia).
This article about being able to write Java for the GPU is very interesting, since writing shaders via OpenGL is a little bit of a PITA (there is an impedance mismatch between the conventions of Java, OpenGL and GLSL - it would be fabulous to just write in Java [akin to how I can do this on the Web using Google Web Toolkit]).
So I don't think your statement is really true - except for buggy software written by developers who have bad simple-platform habits.
I would tend to disagree. Why? Because companies like cisco, ibm, etc. all only certify certain versions of java for use in their applications. The cisco apps are cross platform but do NOT play well with different versions of java. I'm not a java expert (I'm a C#/RoR guy) but if fortune 500 companies can't get it right, can you really say that java is cross version compatible?
Re: (Score:3)
> I'm not a java expert (I'm a C#/RoR guy) but if fortune 500 companies can't get it right, can you really say that java is cross version compatible?
Is that your argument? Just because corporate developers (including a lot of C# guys, but there are always exceptions) are often morons doesn't mean Java blows - these guys can and do butcher any technology when they build stuff (hell, even after giving one guy proper code for calculating any date he come back with his shitty VB.NET that was an abomination
Re: (Score:3)
> I'm not a java expert (I'm a C#/RoR guy) but if fortune 500 companies can't get it right, can you really say that java is cross version compatible?
Is that your argument? Just because corporate developers (including a lot of C# guys, but there are always exceptions) are often morons doesn't mean Java blows - these guys can and do butcher any technology when they build stuff (hell, even after giving one guy proper code for calculating any date he come back with his shitty VB.NET that was an abomination and had so many holes).
I've written a *lot* of different systems in Java. From embedded, web, graphical, network, rich client etc and the version gotchas (there are minor things you learn to avoid) are nothing in Java compared to the C, C++ and C# systems I used to work on. Hence, my statements.
Java is pretty much unique in its inherent support for cross-version support. There's a special deprecation annotation you can attach to any function or class that causes warnings if you attempt to use downgraded features. You won't find that in C/C++ or VB. In fact, one reason I bailed from Microsoft was that not only was I routinely getting nailed on MS apps to the degree that in extreme cases, I was looking at re-installing an old OS so I could install an old IDE so I could use an old compiler to make a
Re: (Score:2)
Re: (Score:2)
> With the caveat that you only do things the underlying OS can handle(though this is hardly unique to Java).
Huh? sorry, I'm missing the point here. Hard to do stuff your O/S doesn't as an application programmer. However, if you meant to say that Java only has a common subset of functionality across platforms, then that is a fair comment. I find that the functionality is good enough to make great programs.
> But then again if you are doing server side Windows you probably aren't a good coder to st
GWT (Score:2)
- it would be fabulous to just write in Java [akin to how I can do this on the Web using Google Web Toolkit]).
I cannot let any undue praise for GWT go unrebuked. While I find it impressive from a technical point of view, I've come to believe actually using it is a potentially expensive mistake.
What you write for GWT, I wouldn't call Java but a-language-with-a-java-like-syntax-but-totally-different-characteristics. If you use your Java best practices, you'll end up with code that doesn't compile - only a certain subset of the Java api is supported - or worse. Don't assume a particular Locale? Using GWT you better as
Re: (Score:2)
Re: (Score:3)
Would be nice to actually see this great quality java code in the wild.
We have a ton of server-side java *crap*. It is all crap. I have never seen a java server app that did proper logging-- seems all server-side java coders think uncaught exceptions leading to stack traces are "super cool".
On the client side, things like the java app to manage Brocade FC switches will sometimes show 90% of the zones missing! Oh, you kill all java instances and re-run it, and all is cool. Yeah, java is great.
In the early 90s I was a believer, but too many crappy experiences with java-- now, when I hear java, I just assume total piece of shit until proven otherwise (which is _super rare_; being generous-- I can't think of anything great written in java off the top of my head)
There's no point in singling out Java for any of that. As long as the order of the day is cheaper software produced faster instead of spending time and money to get quality, software is going to be garbage.
I do know some really excellent java apps, and a very large quantity of excellent open-source java support libraries, but the finest tools in the hands of 15-rupee/hour junior programmers working to a fantasy schedule aren't going to produce them.
I provide a lot of advice to Java programmers, and one of t
Re: (Score:3)
The WORA aspects of Java work flawlessly these days.
Re: (Score:2)
You don't have to update and if you do, it doesn't break compatibility with existing apps.
Re: (Score:3, Insightful)
You must run some VERY different apps than I do. Every management app I've used seems to be tied to different versions of java everything for ui glitches though plain just not working.
Re: (Score:3)
Yeah I guess I do. I tend to use good software.
Java doesn't have a monopoly on shitty software.
Re: (Score:2)
I've had very few problems, most applications continue to run just fine as you upgrade java...
Many of them don't officially "support" newer versions, and will often try to insist you must run an ancient (and full of security holes) version of java...
The few java apps i had problems with weren't incompatible with the modern jre per se, they just included explicit checks and would complain if they detected a version they didn't recognise, but if you manually hacked out the checks the apps usually ran anyway.
Re:How about getting java code to run on java (Score:5, Informative)
Usually there is only a problem when your application server (I'm looking at you, stinky Websphere) relies on a particular vendor's implementation of Java (eg. IBM JDK). With recent Sun/Oracle Java Runtime Environments (that is: Java 6, which is around 5 years old; and Java 7) applications usually run flawlessly (at least, mine do - and I'm doing all the usual Java funky stuff: radar, roadsign and head tracking hardware device control, networking, web, 3D graphics, rich clients, etc).
As a current practitioner in the field I wonder whether your experience is from a long time ago (and polluted by the experience of using software that was based on Microsoft's awful [and deliberately incompatible - which they lost the famous lawsuit over] Java implementation from a long time ago).
Re: (Score:3)
Primarily with those java management apps related to networking kit. You know those things that are embedded in firmware and sometimes the only way to do more than get an IP on the box to get to said java nightmare. I've had the issues as recent as a few weeks ago when a java update stopped some dialog boxes from working on a supermicro ipkvm java app. Same update killed all my ASDM java apps for working with CIsco ASA's (though it still works as a web app for whatever reasons)
Re: (Score:3)
We have some (too expensive to justify replacing) facilities control modules at work whose 'web interface' consists of a java applet that won't run on anything more recent than J2SE 1.4(early 2002, for those keeping score).
Given the relative costs of replacing the module(the closest thing to a firmware update that the vendor offers) and just maintaining a VM snapshot of a decade-old java setup, we obviously went with the latter.
I have no particular reason to believe that java itself is to blame, rather than
Re: (Score:2)
This is no different to the ActiveX controls that are floating around (eg. some banking access programs), or all the Internet Explorer 6 sites around. It has always been possible to write stuff so it is not to tied to a particular setup, or at least to limit the platform specific bits. It is surprising that an applet can't be rewritten - they're usually not that complex (and getting unit test coverage during maintenance would go quite far).
Re: (Score:3)
I rarely see problems involving new releases of Java... with one specific exception: 64-bit Java. I've seen more than a few apps that die horrible deaths with 64-bit Java... and almost exactly the same number that specifically *require* 64-bit Java when running under 64-bit Windows.
I'm still trying to figure out what, exactly, causes some random Java app to specifically require one or the other when running under Win7/64. I suspect it has something to do with changes Microsoft made to 64-bit Windows that fo
Re: (Score:2)
64 bit java works just fine for me. The only issue I could see is in JNI applications which were only compiled for 32 or 64.
The think that performs like death has been with random bugs in Java7 and OpenJDK (reliably dies on many commonly used programs...)
Re: (Score:2)
Re: (Score:2)
Summary says it's a compiler. It should not force GPL on it's output any more than GCC would.
If I write proprietary code with gedit, is it forced to be GPL?
Re: (Score:2)
Re: (Score:2)
https://en.wikipedia.org/wiki/Classpath_exception [wikipedia.org]
Re: (Score:2)
Let's see, the Linux kernel uses the GPL. There must be millions of products with Linux embedded in them.
Re: (Score:2)
Different how, sparrow bean?
Re: (Score:2)
GCC is GPL too, yet many commercial products use it.
You usually only need to use a compiler for development, licenses like GPL only need to apply once you ship it.
Re:GPL (Score:5, Insightful)
No, *you* get to dictate the licence of your software. It is *you* who chooses to use a GPL library in your code.
The Author of the GPL code did not put a gun to your head and forced you to choose their code.
Re: (Score:2)
Re: (Score:2)
No, everybody owns your code, including you. GPL makes the code free (as in freedom), BSD makes the developer who uses the code free. It depends where your priorities are. If *you* are making a big project like this open source, surely you don't want tons of people leeching off of your work? Surely you want to see what probable uses are?
Also, just because RootBeer is GPL doesn't mean *your* code has to be GPL, only the changes you make to RootBeer have to be GPL. Just like if you compiled something with GCC
Re:First Post (Score:5, Funny)
Um, 'scuse me, you got a license for the use of the word Java in that first post?
-- Oracle lawweasel
Re: (Score:3, Funny)
He means it would be too slow to fly to java before posting from an internet cafe.
Re:Here's A Real Programming Language, Boy (Score:4, Insightful)
Congratulations on inventing C++
Re: (Score:2)
Garbage Collection, which kills User Experience due to unpredictable freezing of the whole program
Note that this is a product of a crappy garbage collector in the Java runtime, not intrinsic to garbage collection per se--there are plenty of well-known real time GCs that allow you to set a maximum latency on the collector.
See, for instance:
http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.39.4550 [psu.edu]
http://web.media.mit.edu/~lieber/Lieberary/GC/Realtime/Realtime.html [mit.edu]
http://portal.acm.org/citation.cfm?id=60 [acm.org]