Oracle To Monetize Java VM
jtotheh writes "According to the Register, Oracle is going to make two tiers of Java Virtual Machine — a free one and a premium paid one. 'Adam Messinger, Oracle vice president of development, told QCon that Oracle plans to offer a "premium" edition of the JDK in addition to the open-source JDK. Both, it seems, will be based on a converged JRockit VM and the Hotspot JVM from Sun Microsystems. The converged JVM will be released under the OpenJDK project. ... Messinger didn't explain how the premium JVM would differ [from] the free version, but the premium edition will likely see performance tuning and tie-ins to Oracle's middleware.'"
the death of java?
he who controls the spice controls the universe
Good, now maybe someone will come up with a better language to use.
not trolling or anything, the only reason java is tolerable at all these days is because finally, most devices, including mobile devices, have become powerful enough to withstand the sheer bloat. 10 years ago, running anything java was painful.
now modern mobile devices are more powerful than those systems from 10 years ago, I think that's the only reason java is usable.
wanna bet the premium version will promote cross-platform compatibility while the free version is restricted to whatever platform oracle chooses? (ie, more than likely windows)
Suicide? Sounds they are working on ending Java in a hurry. :(
leather-dog muksihs
Blog: @muksihs
Wow they want to make money but it will end up just killing java... Its a crappy language anyways. There are many nice cross-platform c++ libraries like QT still. Hopefully Nokia wont go the way of Sun. One more reason for me to hate oracle more.
Either Larry Ellison is smart beyond my imagination, or he's too stupid to understand that he's basically killing MySQL, OpenOffice and Java - arguably the three most valuable software assets he bought with Sun.
Don't be. This is what Oracle planned from the beginning of buying Sun.
If you want performance then you have better options, some of the IEEE standard languages for example and that is what pros like Ebay or Google are using anyway, not Java. Plus you buy yourself some freedom from the corporate control like this.
I'm going to laugh as their Sun acquisition goes down in flames and they end up losing money on the whole deal. They seem to be working to identify any market they can that things are working in and eliminating it. They've done a great job at getting us to work at getting rid of all our Solaris systems as fast as we can.
While in theory this could be fine for Java, I can't imagine it will be being how poorly Oracle has handled things so far. Most likely it'll be a case where the free JVM will be a piece of crap on purpose, and the pay for JVM will be required for anything to work well. Ya, well, that'll fly like not at all. People are not going to go and buy something to make Java apps work better. Perhaps companies who rely heavily on Java on the back end will, but more likely they'll just stop upgrading and switch to something else.
I guess we'll see, maybe I'm wrong and the premium version of the JVM really will provide worthwhile premium features that high end users want, while the normal JVM remains for normal people. However I doubt it. I think they'll try and charge every person for the JVM on their computer, which just won't fly.
i do like the tie-ins ...
not
Wouldn't that be like racing whales?
At least Oracle is doing something very predictable with the JVM. It is way better than the state of real FUD about java one had before.
I don't think that is a smart move because one java is more marketable and a better trojan horse for oracle proprietary stuff. They could have optimized java for their solution in the background.
If I were developing java software I would not be very afraid since many have interest in keeping a FOSS version alive. .NET? even more risky than java. Dynamic languages (ruby python)? Better in many situations but dedicated servers with java seem more performant. PHP framework?
If I were starting a java project I would consider switching. But to what?
A QT net MVC framework? if there were one, I've seen only a german untranslated one.
I probably misunderstood half of the post, because of the acronyms.
Java has become the Digg of languages.
Goodbye Java, we hardly knew thee...
and how is that communism ?
Yes, I'm left. You have a problem with that?
They bundled the spyware Google Toolbar with it (optional, but opted-in by default in the installation options).
It's out of question, that this will kill Java as preferred language in academia and science.
But who cares, really? There are other languages, that would be a more than adequate "replacement" - if I may call it that - for Java.
So professors will have to teach Python in university, how is that something bad?
Java was chosen a few years back, because it was modern and cross platform, but that is Python as well. I also suggested using Lua in academia. For teaching programming and data structures, this is arguably one of the favorable languages.
I'm a Perl developer, so I'll wait and see what happens with Perl6...
EOF
THAT sort of communism.
Oracle already has free and pay-for JVM: HotSpot is free, JRockit is not. I expect the free JVM will be just fine for desktops and small servers. I'd expect pay-for JVM to target enterprise solutions. And again, I expect them to ship this JVM for free with their middleware products (Weblogic etc.). But yes, this sucks for JBoss.
That's a nice list of scripting languages you've got there. And don't get me wrong, scripting languages are nice. However, if speed is an issue, Lua's never going to cut it in the same way that Java does.
... But after that it's going to cost you.
"With Oracle it doesn't have to make sense. It just has to make money." -James Gosling.
Don't forget that there are other edition going round as well for a long time,
The Java MobileEdition (that was never free, and caused the fields of use clause in their license) and the Enterprice Edition (license?). They did use different classes, but i think the same vm(correct me if i am false). Makeing a differnce in vm is not a big step.
How can the people at Oracle not see that this sort of maneuver will only _decrease_ Java's popularity?
Why did Oracle buy Sun in the first place, exactly?
File under 'M' for 'Manic ranting'
I think it will be more about supported configurations etc. in that way it will be easier to swallow depending on a jvm in the core of your product. Having things like "the java update broke sth on a certain configuration" not answered by "congratulations, you problem" IS a plus.
I agree with this statement, this is indeed the birth of new opportunity - A new technology to replace Java...
If you want to replace Java you can just use Scala. It can do all that Java can do and is a lot better. Or did you mean to replace the Java-VM, or Java-SE or Java-EE. Then please be more precise in future.
Over the years I've seen lots of companies trying to combine the open source development model with a for profit (and publicly funded) business plan. While this seemed okayish at the time, this whole Oracle debacle is clear proof that the opensource development model combined with some corporate entity controlling it is risky from an opensource perspective. Big opensource projects hopefully have learned from this and go the Debian route : turn yourself in a NGO or something and never worry about shareprice or corporate takeovers again.
It is a real shame that big projects like MySQL and OpenOffice are in this position. Maybe it was more or less opensource, it sure as hell was not independant. Sure forking works, but recreating the entire organisation (and funding) will keep you from developing quite some time.
A language jump is easy: use Scala. What you mean is a platform (Java-SE, Java-EE) jump.
We already got better languages like Scala for the JVM. The Ada for JVM project has been restarted as well. If it just the language you want to replace - that is not a problem.
So what do you want to replace here? Ahh, well as you are an AC you won't answer.
But C# needs CLI and .NET as platform. And those platforms don't have the same OS support as the JAVA-VM has.
Of course most here mix up language (Java) and platform (Java-SE, Java-EE) and don't really know what they want to replace with what.
This is a red herring. "Speed" has many components.
Java ma be fast on tight loops, were the JIT can optimize the crap out of the bytecode.
But start-up times are abysmal, memory behaviour isn't rosy and all that.
I'd challenge you to write a small GUI program in Tcl/Tk (or heck, in Perl/Gtk or Python/Gtk if you must, bloated as that stuff is), and then compare the start-up times.
The point with "scripting languages", as you call them, somewhat paternalizing is that you'll write the hard parts in good ol' C (or re-use some existing libraries). And if the scripting languages help you in that (Lua isn't bad, Perl and Python are rather horrible, the crown on that still is on Tcl!), you get very nice system design: well-crafted libraries in C, the "flexible glue" done in an upper, "soft" layer of scripting.
Bragging about "fast" just doesn't cut it, as YMM, as always, V.
... Ballmer et al are wringing their hands nefariously as they see the future of C#'s marketshare increase by leaps and bounds. And that's good for Microsoft in every way, since every application written in C# instead of Java means a license for Windows is being purchased to run each copy of the software. In web apps, it's a server license; in workstation applications, it's a desktop OS license. Either way, it's a win-win for Microsoft, and a massive loss for Oracle.
.Net versions, there would actually be an open source OS alternative to running modern C# applications.
Not that I mind, per se. I prefer C# in every way to Java... but from Oracle's perspective, I don't see how they see this would do anything but hurt Java and their reputation that's rather ubiquitous.
Now if only Mono would get their asses in gear and not lag so far behind
At least they are consistent: first they killed OpenSolaris, then they managed to split the OpenOffice community and now they will marginalize Java. I am sure they have something in store for MySQL too...
CU, Martin
Working in a senior role within a global investment bank, we buy a lot of vendor product, especially from what is now Oracle (Oracle Databases products, Weblogic products, etc.) - and if they want to charge us for the 'better' JVM going forward, no doubt we will pay for it. As will the other banks.
And Oracle knows this. It does not give a shit about small-scale Java customers, but the big corporates, like us, well, they know that even if we decided tomorrow that all new projects were to move to C#, or C++, or Objective-C, or whatever, that it would take a long time to change course, and Oracle can still bill for a long time.
One thing to remember - our bank gets and stays profitable because it pushes a lot of IT outside to third-parties (offshore developers are *much* cheaper than in London and NewYork), and they do not see any problems with getting a global price agreement with companies like Oracle and Microsoft.
Personally, I am brushing up my C++, learning Objective-C and C#, as I think the medium and smaller companies in the market will start to migrate away from Java, as the cost savings of cheaper Java developers is lost once you have pay large amounts for the Java install and licensing.
Stallman wrote the Java trap, and we all laughed. Sun is nice we thought, it'll be ok. We were all wrong. Stallman saw further, he saw that even if Sun was ok, if someone bought Sun, then things could get messy. Welcome to messy.
However, if speed is an issue, Lua's never going to cut it in the same way that Java does.
Correction:
http://shootout.alioth.debian.org/u64/benchmark.php?test=all&lang=all&d=data&calc=calculate&gpp=on&java=on&luajit=on&v8=on&lua=on&tracemonkey=on&box=1
"Look on my works, ye mighty, and despair."
- Sun Microsystems
1000's of big companies (telcos, utilities, retailers, gov, defence) use java in their back office, and... well everywhere.
This may cause them to change their policy for new software development, and it may also squeeze the java developer market badly, but for sure there will be strong arguements for splashing £50k here, £90k there, £20k somewhere else, on getting the new JVM to pick up the performance of application x, y, z which are long in the tooth and a pain in the arse.
The alternative is to rebuild, which carries risk - although would be a good move in the long run. In the meetings someone will say "yeah, but we are all dead in the long run" and that's that basically. As a CIO you just pay over £50k, get your users back on side, keep your job for another year, collect your bonus, put another years pension contrib into the pot.
So, Oracle will make money, lots of money, off this. You guys can squeak, MS will cheer, the Python community will see a boost (perhaps), but Larry and co will be richer.
Mysql (in the future) = Oracle feather light (down load it and run it and you are up and going in less than 1hr - oracle normal = 6hrs to setup?) But, if you are an enterprise DBA then you want the management and recovery features that Oracle gives you (as well as the scaling - even though it gets so mind bendingly expensive).
Open office - who cares?
Oracle bought Sun to be IBM mark 2. Expect them to buy Accenture next.
--------------------------------------------- "In the end, we're all just water and old stars."
It is funny how you mention global investment bank and Stallman is right in the same post. :-)
New things are always on the horizon
Yes, because Lua sure doesn't cut it for performance-critical applications like computer games.
http://en.wikipedia.org/wiki/Category:Lua-scripted_video_games
Back in 'the day' JRocket (BEA) was more feature-rich and faster than the Sun JVMs; and had a pricetag. I don't remember anyone complaining about BEA. "Grr. How dare a company introduce a JVM for profit! Corporate bastards!" How is this any different? Why can't Oracle have a superduper JVM they charge money for and have a free one? There's an infinity of software companies that operate with this model. Also why are you angry with Oracle? You should be angry with Sun for mis-managing it's assets and living in business-model-fairytale-land which resulted in their having to sell out. Thanks to Oracle Java didn't 'go down with the ship' and all the Sun employees didn't lose their jobs.
Well, Google did just that and it's called Dalvik. Who cares? Oracle does!
Is that even possible/doable? Even having a similar or nearly copied structure i know it would require a lot of work, but considering the amount of people involved in several java-related stuff, i think this can be done.
What if it's called jaka, or javo, or..? It would require a transition, i know, but in the end not depending on Oracle anymore might be a good option. Right now there are different projects working on open source alternatives to the Oracle VM, so..
LuaJIT has pretty amazing results.
English is not my first language. Corrections and suggestions are welcome.
I would be so happy if academia stopped using Java. I hate Java but need to use it for every freaking development project for my Masters. arg.
O would that Google had licensed Java Mobile Edition from Sun, given Sun that additional amount of revenue, and thereby allowed them to stave off takeover attempts instead of using tricks to use Java/not-Java without paying for it on Android.
I'm not a lawyer, but I play one on the Internet. Blog
How is this news? It's not like JRockit VM was exactly available for free:
http://www.oracle.com/technetwork/middleware/jrockit/downloads/faq-085599.html#t2
I see this as being more of the same - if everyone's panties didn't get in a bunch every time some entity tries to make a $ off of something then maybe you'd understand that.
So, while I'm no fan of Oracle how about we all just shut up and be happy that the JRockit features are going to be merged with already excellent HotSpot VM.
If Oracle wants to add "special sauce" to the JVM so that thier stack can offer more to thier customers then so be it so long as it doesn't impede the open source JVM.
Let's take JVM as an example: you have defined instruction set (bytecode), well defined ABI (this one is much better than in conventional operating systems) and well defined set of standard services (standard libraries). You also have class loader which somewhat resembles dynamic linker functionality in the conventional OS. Oh, and there is a pretty damn good debugging/profiling/monitoring infrastructure built in. And from application programmer point of view JVM is pretty much like a OS. Programmer can use many languages to target this platform, not just Java. It is possible to implement almost any language on top of JVM (albeit some things have no practical sense, for example C/C++ with its pointer arithmetics).
Would Larry prove its intent to totally screw Java (I'm still not sure of it yet), we'd need to have another platform rather than another language. There are enough cool languages to choose from, but aside from JVM and CLR there are no viable, widely supported multi-language, multi-paradigm platforms. JVM is propably the best one available but as it ages, there are more and more shortcomings visible. Having enough support from companies and developers (and from Larry screwing up Java) one can design and implement a new VM addressing some additional things, like:
- native support for dynamic dispatch (albeit OpenJDK7 seems to support it in some way) - what I mean by that is trying to achieve performance somewhat comparable to statically typed programs (now we mostly compare to C implemented couterparts, eg. JRuby vs. Ruby, Jython vs. cPython etc.);
- support for big memory heaps - most VMs suck at this (except for Azul), so we have to slice server machines and run many instances of JVM on one machine, then cluster/farm these JVM which is both silly and troublesome;
- better support for massive concurrency - again, most JVMs suck at this and Java thread model isn't perfect and isn't suitable for everything;
- support for multiple independent garbage collector zones - some language may utilize this to mitigate concurrency/big memory heap problems (Erlang, anyone?); ability to use different garbage collection algorithms in different zones if it makes sense (ex. big heap as in Java vs. small heaps as in Erlang);
- ability to execute on multiple target devices at once - to utilize GPUs/APUs directly from bytecode (maybe with some limitations), without those crappy hacks we see today; it also applies to memory management that seems to be a horrible hack in current GPGPU solutions;
- better support for long running VM processes, mainly hot code loading (Sun JVM sucks at this but some other solutions like JRockit seem to do a better job), maybe some code versioning, better tools to administer / tinker with running VM process (similiar to what Erlang has);
There is more than 15 years since Java was published. There is about 10 years since Microsoft built its CLR. And there is a lot of new things that appeared (GPUs, huge memories, multicores) and lots of new knowledge we obtained since then (look at all these JS interpreters in modern browsers!). There is also a pretty good base to build on (LLVM, V8, BEAM, PyPy and tons of other projects). On top of such VM we can implement various languages (including Java), maybe even better than JVM.
With enough help from friendly enough companies (RedHat? Google?) we can propably do much better than JVM and leave Larry and his corporate cronies in the dust. As long as there is a good quality reference implementation we don't need to chase Java APIs nor we do need to beg for TCK access.
Interpreted languages, such as Perl, Python, Lua, Ruby and whatever pet scripting language is trendy at this moment, do not nor they should have any place in any academic curriculum. Let me explain.
First of all, a higher education courses which are based on programming languages should be designed to educate the students on fundamental topics such as programming paradigms and design patterns. It is unthinkable for a higher education course to waste both the teacher's and student's time doing vocational training. After all, if you are enrolled in a higher education program then you should be smart enough to handle that stuff by your own. Llet the teachers teach the important technical and scientific concepts which are harder to grasp.
Then there is the reason of applicability. If a course is based on a technology which doesn't have a stable basis and which is likely to drastically change due to a project leader's whims then it is certain that the code written in that particular technology will suffer from bit rot and that your skills which you earned throughout your course will essentially become meaningless. In short, due to a technology's dynamic nature, those who invest their time and effort in a degree or course which is based on that single tool will soon find out that they have wasted their time.
Then there is the issue of control. If a language is not standardized then you don't have any assurance that your code will run at all in the future. This issue is particularly problematic if a language does not provide any specification regarding the implementation or is based on a single reference implementation whose project leadership often invests their time and energy in complete rewrites.
So, knowing this, languages such as Python, Perl, Lua, Ruby or whatever trendy language you just picked up is not nor it ever could be sanely adopted by a higher education degree. Doing so is a recipe for disaster and it does a disservice to all students.
This is vaguely reminiscent of how Java came to smash Smalltalk in the first place.
1. Java was free, Smalltalk vendors were incredibly greedy. Java embarked on a marketing campaign full of half-truths and bs.
2. Internal fighting in the community between vendors
3. ParcPlace epic fails along with several other mergers
4. Fragmented versions of specifications
Any of this sound familiar?
The interesting thing is a lot of the Smalltalk vendors kept track of their customers who switched to Java. I believe I remember reading that about 90% of those projects failed miserably. Switching languages for well-established code bases regardless of language is often a bad idea, but the funny thing is still today Java can't do a lot of the things that Smalltalk does well. There's a reason why many consider it their dirty little secret/competitive advantage. Even funnier is all the talk about financial firms - Lisp and Smalltalk are arguably better suited to those worlds anyway. Anyway, I for one hope karma is a bitch for the likes of both Sun and Oracle, and of course IBM.
But, but... that's the way it already is!?
Today, Oracle offers a free JVM, which is the one they got from Sun. They also offer the JRockit JVM which has "performance tuning and tie-ins with Oracle's middleware". It's a "premium" JVM, and you have to pay to get it. If anything changes, it's the fact that they want both of them to work off the same codebase, bringing at least some of JRockits premiumness into the commodity JVM.
Move along, nothing to see, except a world full of distrust and hostility.
Except...
once Java didn't cut it in the same way lower-level compiled languages did. But then memory became cheaper and processors faster, and Java started to become fast enough. (I recall my PC having 32Mb Ram when Java first came out)
Today memory is even cheaper (I have 4Gb) and processors are even faster (4 cores!) which means that those scripting languages can cut it where VM-based languages used to be needed. Slashdot runs fine, and its in perl after all. At work, I'm considering performance issues on a 24 core server with 48Gb RAM. (.net issues this time - not really down to .net, but the design of the code more than anything. It could have been written in script and the result would be exactly the same)
So, the problem isn't that scripting languages are crap, too slow, they are - but the hardware has caught up to the point where everything you need to do for the usual LoB app can be written in them without anyone noticing that they are. We have Mercurial SCM written in python, and rich GUIs written in javascript. Unless you have some HPC requirements, script is fast enough.
Or to put it another way, Java is now obsolete.
The engine for those is usually written in C++.
Does Scala allow me to build user interfaces? If not, it really isn't a replacement. What I need is something that allows me to build cross platform guis.
Didn't you really mean marginalize? Not that this wasn't expected.
---- Booth was a patriot ----
In other words, Java will become the new COBOL - large corporations will still invest in it, because it's cheaper than replacing everything. But no startup would touch it because they can see it has no future.
I don't really mind - I still program in C ;-)
We don't have enough information in this announcement about the difference between free and premium in technology, performance or price.
This announcement is much less important to java enterprises than it is to java detractors.
I wonder what would MS do with Sun...
Ironically, this is similar to what people were saying about Java when it was new. Oh, it's cute and good for little whizzy web apps, but it will never cut it on the server.
Well guess what Matilda, as machines get more powerful people program in higher level languages.
Everyone in this thread seems to be forgetting that while you can get the .NET SDK for free, for all practical intents and purposes it means you're buying a license of Visual Studio and Windows to go along with it. If you're writing server-side software you're buying Windows Server licenses, client side you're buying Windows Pro. .NET is essentially a monetized platform, I don't see why people think companies will shy away from Java if it is monetized. As long as the licensing costs are equal to or less than .NET I'd say it's a wash.
In fact, we've been TRYING to buy one from Sun/Oracle for the past year
and a half but even though they HAVE it they won't sell it. Hopefully
that will change, as JamVM doesn't really do the job.
Java is the COBOL of the 90's
will you see any significant move from JVM to .NET. Java users will move to open-source languages instead.
Why move from one proprietary language to another? This discussion has already been heard.
Fuck your offshore developers and fuck your bank for reducing the local standard of living by that much more. Local programmers in both London and New York gotta eat too you know...
Have a Virgin Mobile USA smartphone? Give VMRoms.com a try!
You're not entirely correct. The banks, although they can afford licenses for Java, will incur an extra cost in hiring Java developers whose numbers will quickly decline. What we'll see is an RPG like situation whereby all banking software can only be developed at extreme cost.
I personally will make it my goal to strip all Oracle products from all the projects which I am in control of, which, luckily for me (and perhaps you), is a lot. We will probably focus on DB2 for our database, and I will ensure that we have a business commitment to never purchasing the paid JVM. I imagine that new smaller projects might be written in Rails.
Can't you use Qt to build your GUIs? It's available on Windows, Linux, Mac OS and mobile platforms.
Scala runs on top of Java anyway.
"Slow down, Cowboy! It has been 3 years, 7 months and 26 days since you last successfully posted a comment."
Last I checked, Sun wasn't going out of business. They didn't go bankrupt and have Oracle buy up all their stuff at a bankruptcy auction. They were doing fine, and Oracle said "Hmm, we'd like to get in to those markets, we are going to buy you."
Remember that any public company that isn't majority owned by someone attached to it is subject to a buyout. If the majority of stock is out there in public hands, another company can simply buy up enough of it to buy the company. Usually it is far more cordial than that, they contact the big shareholders and work out a deal, but it can be done in a hostile fashion too.
So that Sun got bought doesn't mean they weren't doing fine, it just means that someone bigger than them decided they wanted to own their market.
Well. I could whip up some cross platform guis in Scala, but the real question is: Can it web scale? If it doesn't have web scale synergies, then lets be real - it's no better than perl.
You are right, this is about Oracle screwing itself... but that joke is getting old.
Tomorrow is another day...
I've heard it time and time again when some piece of software owned by a large company is open source or at least given away for free as a tool to sell other stuff or addons.
Inevitably, some business leader will see that the company 'moves', let's say, 10 million installations of product at 0 dollars. They will inevitably pull some number out of their ass as to how much they think that software is worth (say 100 dollars per install, though invariably they'll come up with a far more convoluted per-client,per-instance, per-core scheme). Then, they'll say 'if we had only charged 100 dollars like it is truly with, we would have made a billion dollars!'. They'll fight, debate, capture the imagination of someone actually empowered to make the call and poof, start trying to charge 100 bucks a pop for a formerly free product.
Suddenly, the rate of new installs drops to a trickle at best, leaving everyone wondering 'what happened?' when the answer should be obvious to anyone with a cursory understanding of basic economics.
Of course, it may be that Oracle fully realizes this is a long shot, but they somehow think that without this panning out, they see no point in Java really surviving anyway. As a technical observer, that seems like a horrible mistake on the level of cutting their legs off with respect to their commercial Java software, but who knows.
XML is like violence. If it doesn't solve the problem, use more.
Stallman was talking out of his ass but playing the probabilities. He didn't see a Sun trap, he calculated the probability of a Sun trap was significant. Unless you want to think of Stallman as Nostradamus...come to think of it, there is a slight hairy resemblance.
Yeah, I could if I wanted to code in C++ (rather eat a broom) and do my own memory management...although I think Qt has some support in this area.
I guess I'll have to bite the bullet and jump back to C++...yeeeaccchhhhh!
But with Unladen Swallow, Python just might...
And for any really serious performance considerations, jump to a real language that you can actually optimize in (C, C++, etc).
Synergies? You aren't a real programmer, are you? Just kidding, sounded like you swallowed a marketdroid sometime in your past.
I wasn't interested in web scaling a gui, but I'll admit that is an important consideration for some. Isn't that segment of the market getting taken over by Javascript, html5, and all the other weboria crap? I just wanted a good cross-platform gui language that gives native looking app and maybe requires a few tweaks here and there to make it work like native app...like what I had to do for Java.
When I used Java, I used the AWT. Swing was too new and seemed to suffer speed problems. Sun never got small machines. So, their graphics objects got allocated for every damn object on the screen in the paint call chain when all that was needed for most was merely the correct bounding box. Once I circumvented that, it sped up quite nicely.
JRuby can do that (just by calling Swing directly), so I imagine Scala can, to.
The problem here is the JVM, not Java the language.
Don't thank God, thank a doctor!
Nah, if the slow (Glacial anyone?) migration of IE6 corporate apps is any indication, this will work great £€$¥ wise for Oracle.
A free Java VM, no mater if it is performance or feature crippled means that anyone with a quick and dirty need, and the java skills (prevalent nowadays) can solve it with a quick java fix, instead of, say, learn another language, or risk it with a comunity derived JVM (You know, and I know and mabe our hypotetical programer know that the comunity derived JVM is technically top notch, but most likely his PHB and the C?O people do not).
When the application gets ingrained in the internal business process, and you need something (performance or feature wise) found only in the paid for VM, the corporate sweet daddy will be strong pressed to pay for it, rather than write the app from scratch in a more open language.
The only way this would backfire is if one big player like IBM, HP, or SAP adopts one of the comunity derived forks and starts offering paid support (and the associated credibility) for it...
Sad but true.
Of course, this only applies to corporate internal use sw. The shrink wraped SW ((F)OSS or not), and the movile/mobile sw have different dynamics...
*** Suerte a todos y Feliz dia!
That's a nice list of scripting languages you've got there. And don't get me wrong, scripting languages are nice. However, if speed is an issue, Lua's never going to cut it in the same way that Java does.
Actually, there is no intrinsic property of scripting languages that make them slower than Java. Obviously it mostly depends on the implementation of the virtual machine:
http://shootout.alioth.debian.org/u64/which-programming-languages-are-fastest.php
For example, take a look at this list. LuaJIT actually seems to be quite competitive with the fastest of the languages. So, no, I can't agree with you. If speed is an issue, your choices may be limited to those languages which have just-in-time compilation for your processor type, but it certainly doesn't mean that Lua et al. can never match the likes of Java.
This author takes full ownership and responsibility for the unpopular opinions outlined above.
Yes, Scala has full access to Java APIs including Swing.
As the island of our knowledge grows, so does the shore of our ignorance.
I haven't actually done any Qt programming myself, but the demos I've seen were nice.
It looks like it has bindings for other languages than C++ :
http://en.wikipedia.org/wiki/Qt_(framework)#Bindings
"Slow down, Cowboy! It has been 3 years, 7 months and 26 days since you last successfully posted a comment."
That's a nice list of scripting languages you've got there. And don't get me wrong, scripting languages are nice. However, if speed is an issue, Lua's never going to cut it in the same way that Java does.
Have you seen LuaJIT really? It's not exactly slow. (Also, what the hell is a 'scripting' language?)
It looks like it has bindings for other languages that C++:
If he needs that much hand holding I think it's a lost cause bro.
On the Oregon Cost born and raised, On the beach is where I spent most of my days
> Interpreted languages, such as Perl, Python, Lua, Ruby
I'm not sure about the others, but Perl isn't an interpreted language. The script is compiled, and then the compiled code is executed. That's not a million miles from a JIT compiler.
> is trendy at this moment
Maybe I missed somethng, but wasn't Perl running half the Internet before Java was a twinkle in Gosling's eye? There are many things to be said about Perl, but "new-fangled" isn't one of them.
> It is unthinkable for a higher education course to waste both the teacher's and student's time doing vocational training
Right, but why is that an argument for Java? You can teach Java as a way to tick CV boxes, and you can teach other languages as a way to really understand programming.
> If a course is based on a technology which doesn't have a stable basis and which is likely to drastically change due to a project leader's whims.
You're saying that the Perl community rushed into Perl6? Or maybe that a decade-long upgrade cycle for C++ standards is too rapid? And that the future JVM roadmap as of today is very clear to you?
> Then there is the issue of control. If a language is not standardized then you don't have any assurance that your code will run at all in the future.
Not sure why this is an issue for education but, in any case, backwards compatibility in Perl is legendarily good. There are plenty of production sites running Perl code that is decades old.
I can see an argument for teaching CS using C or assembler (because they force you to understand what a computer does under the hood). I can see an argument for teaching CS using functional languages such as Haskell. I can see an argument for using Perl because it's possible to demonstrate a much wider range of programming styles than with Java. ("Whatever the question, the solution is an object" doesn't seem to me to be ideal in an educational context.)
But I can't see offhand why Java is different in kind to any of the other languages in your list as far as suitability for education goes. It's not a very pure implementation of OO programming, it doesn't teach you anything about memory management. If you are not careful, you give students the impression that it's impossible to write code without an IDE. Java has its merits, its fans and its detractors. But it's not self-evidently The One Right Language to use to teach CS.
Virtually serving coffee
Scala runs on top of the JVM and support both Java-SE and Java-EE and even Android development. I don't suggest the later but for the former two it is pretty good.
So yes: You can write apps for the AWT, Swing and SWT GUI with Scala.
Scala is fully Java-EE compatible including Servelets. Does that answer your question?
Indeed.
No, I don't need any hand holding, I've probably started building apps (guis, realtime embedded, network drivers, educational logic proggies, etc) since before you were born. I was just lamenting that C++ programming isn't an uplifting experience, especially when it comes to guis. But then you probably see nothing wrong with writing network drivers with it.
Yes, but then I still must have a JVM around. The point was that if Snoracle is going to fuck up Java, then I cannot rely on it and must look elsewhere.
It's a fucking compiler. The object code looks like it could have come out of javac [ideally]. You can work with the same classes and run compiled scala/java/groovy/closure/etc. code through the same EE bullshit.
What's a "web scale synergy" anyway? How many do you need? I would think Perl had at least one puny web scale synergy to show for itself.
Come on. The article is about the monetization of the Java VM. If your critical reading sucks that much I'll make it easy, he means replace the Java VM. That means Scala is not a solution. Please use your fucking brain in future.
-- I ignore anonymous replies to my comments and postings.
Parent poster has seen Qt, but has not used Qt. Possibly hasn't used Boost either. But he's going to flap his ignorant gums anyway.
My fellow geeks, ignore him.
Fascism trolls keeping me up every night. When I starts a preachin', he HITS ME WITH HIS REICH!
Yes, and then JVM technology improved to the extent that Java performance is within an order of magnitude of C++ for most common server tasks.
Java was faster than Perl/Python/Ruby to begin with, and now it is vastly faster. Meanwhile every new popular scripting language actually seems to be slower than the last. And time and time again a startup tries to use something like Ruby or PHP on their servers, runs into massive problems, and ends up either sinking vast sums of money into trying to compile PHP to native code, like Facebook does, or completely rewrites their website in a JVM-based language, like Twitter did.
No, it is more that the higher-level languages are getting more efficient. C++ became popular when C++ compilers got good at optimizing C++. Java became popular when the JVM got good at JITting Java. Hobbyists and academics have always used high-level interpreted languages -- Python today occupies much the same niche as BASIC did in the 1980s. It's got less to do with hardware than you think.
The hardware argument made sense briefly in the 1990s, when machines suddenly got powerful enough for it to be briefly possible to consider writing everything in an interpreted language. But now it's the 2010s, and we are increasingly moving to less powerful mobile devices with limited battery life, and looking for ways to shrink our servers to reduce the financial and environmental cost of supplying all those machines with power and cooling.
Welcome to the modern world, where suddenly efficiency matters again. If your favourite language is stuck in the 1990s, maybe you'd better start learning something else.
with the ad-hominem "this is going to kill java" stuff.
Oracle has said openly that there will always be a free JDK available from them. We also have IcedTea which is not going to go away.
Oracle is going to sell and support an enterprise version to their enterprise customers, with enterprise features. Stuff that you probably don't use on your desktop or even your small server. Stuff like infiniband support and enterprise message queueing. If you need this kind of stuff, you are either already an Oracle customer or a potential Oracle customer. Otherwise you will be perfectly happy with the free JDK and nothing is going to change in that department.
So cut it out with the cringing and moaning, it's pointless.
You do realize that Google uses Java extensively ?
Indeed.
And it raises the question about whether Google is going to safeguard its own software investments and create a Java development team for open source Java large enough to provide the core development expertise and resources formerly provided by Sun.
Self interest suggests that they should be taking the lead role in Java development simple t support their own business.
Starships were meant to fly, Hands up and touch the sky - Nicky Minaj
However, if speed is an issue, Lua's never going to cut it in the same way that Java does.
Really? http://shootout.alioth.debian.org/u32/lua.php
Wait, are you seriously asserting that language tuning is the sole reason that computers are faster these days? It has nothing to do with the vast speed increases in the CPUs and buses? If you take a modern Java and stick it on an original 1995 era Pentium, I think somehow it will be even slower than Java 1.0 was, as the horsepower needed to do JIT is pretty significant when you look at the actual computing power of an old ass computer.
Look at gigantic web operations like Facebook. They are running what you denigrate as "scripting languages" as one of the main components of an absolutely enormous operation. They are throwing money at the problem and speed is increasing.
Also, I believe that Java is a lot older than Ruby and Python. Both of which have gotten much, much faster in the past few years as companies are throwing money at tuning them.
There is nothing special about Java's speed increases, and the same increases can be had in damn near any language if attention is given where it is needed.
There's nothing special about Java. And Java is indeed the shining pinnacle of a language that's stuck in the 1990s.
Indeed. Mind you Scala also runs on CLI. Kind of, support was not maintained between 1.4 and 2.8 and has just been restarted. But CLI based OS in depended GUIs are typical FOSS: 3 in-depended half backed solutions.
PS: I am a OSS (not necessarily FOSS as I sell GPL software for Symbian and Andoid) supporter but I know the weaknesses.
Java is now officially dead.
A free java, a paid java, and 100 million java clones out there.
It's time to take garbage collection out with the trash.
Write Once, compile on 20 different java interpreters, and cross your fingers and hope it works.
Java has no built-in support for user interfaces, let alone cross-platform ones.
At best it has support for graphical application/program interfaces.
Sleep your way to a whiter smile...date a dentist!
Yes, indeed the article got it right. To bad the GP did not.
Yes, Scala is not a replacement. That was my point. To bad you did not notice without taqs.
However, if speed is an issue, Lua's never going to cut it in the same way that Java does.
Maybe not, but LuaJIT is pretty awesome.
Since C-pound(*) is patent encumbered it doesn't matter that mono is open source, it still exists at the whim of Microsoft. Do the research before you offer it as a viable alternative to Jave. Microsoft actually has a stronger claim over C-pound than Oracle has over Java because Microsoft never released any part of the specification or library definition under any license but their own, and never issued a covenant to share the patents or otherwise "not to sue" infringers.
Recommending a run to C-pound because of Jave mis-deeds is like recommending jumping into shark infested water to avoid the ongoing mauling of ship-rats.
(*) In order it to be a "sharp" the symbol in use must be (1) in italics, and (2) in a musical clef. In Microsoft's language definition it is neither, that makes those two vertical and two horizontal lines a "pound" no matter how much they want you to call it a "sharp".
ASIDE: Yes, you think it was clever calling it "see-sharp", but these are the same people who named their mobile operating system "wince", they are not that smart when it comes to basic language... 8-)
Innocent people shouldn't be forced to pay for inferior software development.
--"Code Complete" Microsoft Press
Jave was released under GPL (eventually) and under an open source-ish license before that. C-pound has never been released under any license but Microsoft's "it's all mine and we can sue you any time we want" license.
The fact that Microsoft knows it is wisest to let you get a code base together based on Mono before they swoop in with and pull an Oracle America on your ass is obvious. And if anybody had ever really taken C-pound mainstream enough to be a real competitor to Java, they would have don so already.
Us open source weasels have been warning you for years. It was dumb to set your hair on fire by using Java, now you are suggesting putting the fire out with a sledge hammer by switching to Mono...
Innocent people shouldn't be forced to pay for inferior software development.
--"Code Complete" Microsoft Press
And now explain that to the pointy haired boss.
That's interesting, the spread for Lua JIT was greater than Java, but Lua had a slightly faster median than Java.
C++, contrary to what all the Java buffs say around here, was significantly faster than either of them. C++ median score was twice as fast as Java's.
Just goes to show you, if you want speed stick with native code.
It's too bad none of the .Net stuff is in there, they have C# mono, and it did relatively poorly, but mono could be significantly slower than .Net.
Security is mostly a superstition... Avoiding danger is no safer in the long run than outright exposure. - Helen Keller
>Local programmers in both London and New York gotta eat too you know...
From the point of view of London or New York, if you can't afford to live there you can go to Dartmoor or Indiana.
There are people who see enough value in living in New York for a while that they will go there *at a loss*.
There are enough of these people that the labor and real estate markets are really competitive. It's tough to have to compete with people who already have enough money that they can burn it while working at a subsistence wage, but what can you do?
There are certain places I would like to relocate to (not NYC), but I can see that I have to compete against people who will take a lot less compensation that I could, just for the privilege of living in those places. And among those who do need to make a living, many have equity in the market there, and only need to cover incremental costs, where for me it would mean going into debt.
-fb Everything not expressly forbidden is now mandatory.
> Also, I believe that Java is a lot older than Ruby and Python.
Java is barely a few months older than Ruby. Python has been around since 1991.
Personally, I am brushing up my C++, learning Objective-C and C#, as I think the medium and smaller companies in the market will start to migrate away from Java, as the cost savings of cheaper Java developers is lost once you have pay large amounts for the Java install and licensing.
So because Oracle announced an alternative, high-performance version of the JVM that you have to pay for, you're going to regress to C++, or lock yourself in to Apple or Microsoft? Brilliant.
One thing to remember - our bank gets and stays profitable because it pushes a lot of IT outside to third-parties (offshore developers are *much* cheaper than in London and NewYork)
Are your customers off-shore as well?
Or is cashing in unemployment benefit cheques all that profitable?
In other words, Java will become the new COBOL
Funny. For some years I am lamenting that Java-programmers are the next COBOL-programmers: Inflexible and so set in there way that they are unable to learn a 2nd programming language.
To those of you that a). don't understand the Java and JVM options, b). claim to understand the Java market place and/or c). think the sky is somehow falling, please consider the following facts, all verifiable.
1. Oracle/BEA has for a long time offered a "premium" (paid for) JVM. It's called JRockit (with deterministic garbage collection).
2. Sun also offerred a "premium" (paid for) JVM, mainly for high-end support, but seem to have little penetration (probably evidenced by the fact that Sun no longer exists)
3. Oracle/BEA/Sun also offered "free" versions of their JVM. Oracle/BEA called it JRockit (without deterministic GC) and Sun called it Hotspot (that everyone uses and is now based on the OpenJDK since Sun open sourced it). You can still download these!
4. Oracle has simply confirmed the existing strategy - that's been an option for years. ie: You can still purchase a "premium" JVM that contains a bunch of stuff for seriously "high-end" customers (this will now combine JRockit and Hotspot high-end features - no point having two teams competing internally on the same ideas. Pretty standard stuff for Oracle when you consider the strategy they implemented with WLS from BEA). For everyone else, that use the OpenJDK, everything stays the same. That is, you're not forced to purchase a JVM.
Obviously it's much easier to jump to conclusions and pretend the sky is falling. Take some time to do some research before hitting the panic button. Might reduce your blood pressure.
i think you are partially correct. oracle will be able to monetize java because some companies are going to be willing to pay for a product that is marginally better or is bundled with some useless shit because they don't care about price. however, there will still be a free version which is almost as good which all of us poor normal people will use. perfect price discrimination. :)
No, forget for a moment that Java is faster than said scripting languages. Do these languages offer something more compelling than Java is the real question for me. If performance was the end all issue then fine, don't use a purely scripting language. But what I really want to ask is if Perl, python, Lua, etc.. offer anything to the developer that the Java language doesn't support? At least the logical jump from C/C++ to java was evident. It was basically the same language make-up without the worry of managing pointers directly, and having a large surface of standard language features built-in.
Bye!
Scala is multiparadigm and even when you ignore/don't use the functional part Scala is still a better language then Java.
Apart from that: What I really wanted to push is awareness of the differentiation between Java and JVM or Java-SE / Java-EE.
The original article got it right: this is an issue about then JVM and not Java.
Well, as a manager, that's his job - to maximise the wealth of the company shareholders. If Java isn't making money (directly or indirectly), then he needs to institute change so that it *does* make money one way or another. Otherwise he wouldn't be doing his job (and then he'd be fired and replaced by the board of directors).
THE MAN AND THE GOLDEN EGGS
In other news, experts suggest that eliminating health benefits and blocking single-payer healthcare may lead to decreased worker productivity, that low taxation rates may lead to infrastructure decay, and that destroying the biosphere may have a negative impact on the long-term profitability of energy companies.
The best way to avoid hitting yourself in the head with a hammer is by not picking up the hammer in the first place.
Right. It is much better to ram in the nails with your forehead instead.
Reading slashdot one-liner: (irm http://rss.slashdot.org/Slashdot/slashdot).rdf.item | fl title,desc*
Why don't we see more mention of VALA as a long-term alternative to Java? It looks quite promising, and has most if not all features people want from Java and C#. And it's totally free of any of the concerns with Mono. If some dev gurus from Java and C#-land were to jump over to that project it could be a real contender I think. What it really needs is for the IDE to get more polished.
building apps
Shut up, poser!
Contrary to the popular belief, there indeed is no God.
First of all, a higher education courses which are based on programming languages should be designed to educate the students on fundamental topics such as programming paradigms and design patterns
So, knowing this, languages such as Python, Perl, Lua, Ruby or whatever trendy language you just picked up is not nor it ever could be sanely adopted by a higher education degree
How can you make the algorithms and design are more important play while at the same time asserting languages x,y,z are unsuitable? Why does language selection within reason even matter for the purposes of teaching fundementals? What specifically makes python unsuitable for teaching fundementals compared with java?
I know of a few university cs professors who would rather teach python over java if it were up to them. I know others who actually use python.
Personally discounting scripting languages like perl6 is a mistake as they introduce extremely powerful concepts that can't even be expressed (without gross hacks) within limits of the JVM specification.
I disagree. I code in Lua extensively and never found it behind Python or Perl in terms of speed. I'd even say it's actually faster.
Never did any serious benchmarks, but doing a procedurally generated world using Lua code, with a list of materials and complex items to populate dungeons, it's really really fast with Lua. Same with AI code and "actor states", control handling and projectile control. I have this program that runs 64 AIs, every one in it's own sandbox, one Lua state at a time (reportedly the "sub-optimal" way to handle Lua) and I get little to no latency every frame. Whereas python chokes under similar code (not bashing python at all, I love it and works much better for desktop apps). Oh my computer is terrible by the way, no modern game runs on it, but my own stuff filled with sub-optimal Lua runs pretty well.
Maybe by "offshore" he means off Manhattan to Brooklyn.
Go green: turn off your refrigerator.
Oh I dunno, but think for a moment why half the web servers in the world run apps written in a scripting language. Answer that question, you answer your own - there must be something in it, or they'd all be running Java/C#/ASP. Wouldn't they?
Yes, Scala has full access to Java APIs including Swing.
And if you wanted to remove one of the javax dependencies, you could use SWT instead of Swing.
Homonyms are fun!
You're driving your car, but they're riding their bikes there.
(Also, what the hell is a 'scripting' language?)
Old-school vernacular expression for "interpreted" languages.
I wonder if most Java development will stay on JDK1.6 and not move anywhere. That's sort of the problem Microsoft has with Windows XP.
Oh, I have no doubt that Lua runs much faster than Python or Perl. That wasn't the comparison I was drawing. Lua runs much slower than C, C++, Java... compiled system languages are going to be much faster than scripting languages in almost every case.
Here's a nice blog entry visually benchmarking various programming languages that was posted on Slashdot maybe a year ago. It might be a bit dated; doubtless we've seen more improvements in the past year to relatively new programming languages, compared to those which have been around for decades. Still, it is pretty immediately apparent that with scripting languages, you're often trading performance for much less verbose code.
Man, revisiting that article makes me want to pick up Haskell. Everything I've seen makes it out to be a wonder-language.
Ellison is out of his fu*king mind if he thinks the community wont build a better JVM. Obviously, Ellison is in control of his faculties, he's quite shrewd and I suspect, he intends to use the idea patents acquired with SUNW to sue anyone that makes the Open JVM competitive with their premium offering.
but seriously this runtime vm non sense its more and more superfluous... academy has advanced since the 90s and things like LayerD are better solutions for portability, multiparadigm and language agnostic development.
From my playing with vala/gobject not even interpreted languages like python or ruby have that much advantage to easy syntax code generators on top of good old native c libraries (genie its so easy and terse that i bet vb programmers will love it)
A neat idea, back in the mid 90s of "write once, run anywhere" that ended up so horribly broken that it became "write once, debug/rewrite everywhere" only with shittier performance than native, recompiled code.
Seriously, if Oracle kill java with fire, I'll be ecstatic.
I run: Windows, OS X, Linux, FreeBSD. Just because you have a hammer, doesn't mean everything is a nail.
Parrot is a virtual machine designed to efficiently compile and execute bytecode for dynamic languages. Parrot currently hosts a variety of language implementations in various stages of completion, including Tcl, Javascript, Ruby, Lua, Scheme, PHP, Python, Perl 6, APL, and a .NET bytecode translator.
http://www.parrot.org/
A merry death, nevertheless.
the real question is: Can it web scale?
probably.
Stallman wrote the Java trap, and we all laughed. Sun is nice we thought, it'll be ok. We were all wrong. Stallman saw further, he saw that even if Sun was ok, if someone bought Sun, then things could get messy. Welcome to messy.
Actually, most of the platform has been open-sourced by Sun before the takeover under the 'OpenJDK' name.
Indeed, GNU now carries a 'headnote' to the article explaining the new situation: http://www.gnu.org/philosophy/java-trap.html
The situation is still messy - but not for the original reasons laid out in that article. If worst came to worst, the JVM can be forked - but forking a widely-used platform is a whole other can of worms, of course.
FYI, jit compiled lua can outperform java.
http://shootout.alioth.debian.org/u32/luajit.php
i'll just leave this here.
Apart from the following 5 benchmarks, lua and java are tied. There's now a 64bit version of luajit
fannkuch-redux
n-body 2×
fasta 2×
reverse-complement 3×
binary-trees 9×
it also uses a lot less memory in half the benchmarks.
Considering luajit is a one man effort, do you really think that lua is never going to cut it in the same way that java does? I can forsee it cutting better.
First of all, a higher education courses which are based on programming languages should be designed to educate the students on fundamental topics such as programming paradigms and design patterns. It is unthinkable for a higher education course to waste both the teacher's and student's time doing vocational training. After all, if you are enrolled in a higher education program then you should be smart enough to handle that stuff by your own. Llet the teachers teach the important technical and scientific concepts which are harder to grasp.
What? First, you say the focus of a programming course should be on the abstract side of programming. Sure, sounds good. But then you say:
Then there is the reason of applicability. If a course is based on a technology which doesn't have a stable basis and which is likely to drastically change due to a project leader's whims then it is certain that the code written in that particular technology will suffer from bit rot and that your skills which you earned throughout your course will essentially become meaningless. In short, due to a technology's dynamic nature, those who invest their time and effort in a degree or course which is based on that single tool will soon find out that they have wasted their time.
Then there is the issue of control. If a language is not standardized then you don't have any assurance that your code will run at all in the future. This issue is particularly problematic if a language does not provide any specification regarding the implementation or is based on a single reference implementation whose project leadership often invests their time and energy in complete rewrites.
So, knowing this, languages such as Python, Perl, Lua, Ruby or whatever trendy language you just picked up is not nor it ever could be sanely adopted by a higher education degree. Doing so is a recipe for disaster and it does a disservice to all students.
So a course that doesn't give you vocational skills will have been a waste of time?
I really thought that I can't believe you guys didn't see the tongue in cheek here. I thought I made it plainly clear that I was mocking a lamer
It's fucking satire.
Another IMO worse example is MySQL AB themselves, before they got bought by Sun. They were going to do a support model, but the big problem is that the distributions already is taking all the support money. So they tried to make money by providing support on Windows. Obviously this was flawed, so eventually they tried to make some new features proprietary (in a different way than what Oracle is doing with Java), resulting in a backlash. MySQL was almost going to IPO with such a bad business model when they got bought by Sun.
if speed is an issue
most of these languages (including java!) have ways of compiling into native code.
Also, speed is an issue, but most of us aren't worried about nanoseconds, we're worried about man-hours. I can write a perl program in 1/10th of the time of a similar but suckier java program. Python/Ruby are the same way. Java sucks.
making it just at fast as anything else in practically every case!
Actually Parrot(and Dalvik for that matter) are much better VMs than the JVM in theory because unlike the JVM, which is stack based, they are register-based which means its MUCH easier to implement the VM, or at least parts of it, in hardware. The JVMs stack based VM was a neat idea, but it makes hardware acceleration of the JVM much more difficult, though certainly not impossible(people have implemented Java-on-a-chip for instance). With the popularity of embedded devices recently, a VM appropriate for them as well as the desktop makes a lot of sense, but thus far there hasn't been a lot of interest in running Dalvik on the desktop.
Monstar L
Now all Java devs will be able to afford a yacht like Larry's after customers fork out for the non-crippleware version of the jvm.
PS: I am a OSS (not necessarily FOSS as I sell GPL software for Symbian and Andoid) supporter but I know the weaknesses.
There's a common misconception that Free Software (capital "F") equates with "you can't make money on it" or "you can't sell it." Nothing is further from the case.
There's nothing wrong with selling Free Software. In fact, the Free Software Foundation points out in their GPL FAQ that "The right to sell copies is part of the definition of free software. Except in one special situation, there is no limit on what price you can charge. (The one exception is the required written offer to provide source code that must accompany binary-only release.)"
So feel free to develop GPLed software and sell it. It's all good.
coding is life
I already sell under the GPL. About one in 100 customers actually request the source-code and I am more then happy to send them the additional download link. Since my customers use GSM networks for download binary-only-releases are in there best interest.
I just thought that the FOSS being Free and OpenSource might be stricter then the GPL itself. Thanks for the clarification.
Oracle has charged for its JVM - JRockit - for ages. Thats because of the additional management and real time features - JRockit Mission Control, JRockit Real Time.
Oracle's official strategy is to merge JRockit and Hotspot at the technical level, but keep the business components as is:
"Oracle is currently working to merge the Oracle Java HotSpot Java Virtual Machine (JVM) and the Oracle JRockit JVM into a converged offering that leverages the best features of each of these market-leading implementations. Oracle plans to contribute the results of the combined Oracle Java HotSpot and Oracle JRockit JVMs to the OpenJDK project. The Oracle JDK and Java Runtime Environment (JRE) will continue to be available as free downloads, with no changes to the existing licensing models. Premium offerings such as JRockit Mission Control, JRockit Real Time, Java for Business and Enterprise Support will continue to be made available for an additional charge."
http://www.oracle.com/us/corporate/press/173782
So everyone still gets a high performance, top notch gratis JVM free via OpenJDK.
Stephen Colebourne
Your astroturfing for Scala all over the comments for this article is absolutely fucking annoying.
-- I ignore anonymous replies to my comments and postings.
That's easy, live editing of programs without compilation. Interesting to note, many large scale systems are using asp, jsp etc. and even scripting languages that end up in large scale systems, end up with special "cached" pre-compiled code on systems that deal with scaling up.
In reality, from the way I understand it, it's just from ease of use to program live/edit rather than the actual language it self. But I don't think this answers at all what the grand parent wanted to know, so... I don't really get your point either.
Change is certain; progress is not obligatory.
Very true. Of course I was well aware that just changing the Language Java is no the solution. I guess some sarcasm tags are missing from my postings.
Interesting contribution. You come here often?
Oh, my bad! Yes of course Lua is slower than C, that's undeniable.
I just develop games, to be honest, didn't really find interest on "the desktop". C/C++ + Lua is a really speedy combo allowing for great realtime stuff.
I heard a lot of Haskell evangelism too...dunno if it's fanboyism or fact, though.
It is great to see the topic came up here and a great opportunity to advertise an article from our website [L1]. It basically addresses the problem Oracle has with its user/dev community. And there are indeed some problems! However I don't know whether it's the end of Java. Maybe it's the first step towards it.
[L1] http://tron-delta.org/en/news/latest/oracle-and-java.html
What about D? Why not using something that *is* available already?
http://www.digitalmars.com/d/2.0/comparison.html
If you want to know what's being discussed, just read the summary. It's the JVM. And Scala uses the very same JVM. So not much of a replacement.
Seriously, Patent issues abound. How is mentioning them a troll?
Or do you object to the name C-pound?
Innocent people shouldn't be forced to pay for inferior software development.
--"Code Complete" Microsoft Press
If you think I am wrong about "C#" being read "see pound" please check the unicode symbol definitions:
A pound/octothorp/number sign has horizontal lines a two (usually slanting) vertical lines drawn from the same baseline:
http://www.fileformat.info/info/unicode/char/23/index.htm
vs.
A musical sharp sign has two vertical lines, the second drawn higher from the baseline than the first, the "horizontal" lines incline. All of this is intended to indicate the half-tone rise of the notes so designated.
http://www.fileformat.info/info/unicode/char/266f/index.htm
You will node the "Index Entries" in both.
The name is "see pound"... sorry, just a fact.
Innocent people shouldn't be forced to pay for inferior software development.
--"Code Complete" Microsoft Press
Pay close attention to the symbol names in the index entries part of the table.
The musical sharp sign:
http://www.fileformat.info/info/unicode/char/266f/index.htm
The "horizontal" lines rise to the right to indicate the rise of tone. The second vertical line is drawn to a higher baseline, also to indicate the rising tone.
Now...
The pound sign, aka the octothorpe or number sign:
http://www.fileformat.info/info/unicode/char/23/index.htm
The two "vertical" lines are usually rendered leaning right (but pure vertical is okay). The horizontal lines are truely horizontal and are drawn to the same right-hand and left-hand bounds.
Now: "#" that isn't a "sharp", its a "pound", or number sign, or octothorp or cross hatch. Period.
So this: "C#" is "see pound"...
Sorry, its just the facts man.
(And yes, its a sad fact that looks like a troll or a flame-bait, but that isn't technically my fault. Talk to the "wince" people... 8-)
Innocent people shouldn't be forced to pay for inferior software development.
--"Code Complete" Microsoft Press
These Bastards are killing every soul foundation of Open Source
first massive increment in the certification fees, then mysql, They even killed OpenOffice.
now this , Help them
I did read the article. Slackware95 did not. Slackware95 wanted to replace Java while the JVM is on stake.
Does that mean that the string "a b c" is "a sharp c" because I said so?
No. Because that isn't the meaning of the symbol "b". It is _necessary_ to misuse "b" in a musical context if you are stuck with ASCII encoding.
Microsoft was not so stuck. They either didn't know, or didn't care, that they were naming the language C-pound.
The license to pretend that some things are actually something else has its limits. The numeral three isn't the letter "e" no matter how many people write "l33t".
Deep in your soul you know I am right, else you would have stopped two messages ago... you are a C-pounder. And every time you preface a function with square-bracketed config directive looking thingies, your soul dies just a little more. Pounding it deeper into ignominy.
Innocent people shouldn't be forced to pay for inferior software development.
--"Code Complete" Microsoft Press