Sun Backs Ruby by Hiring Main JRuby Developers
pate writes "Sun has thrown some corporate weight behind Ruby, Rails, and dynamic languages by hiring the two main JRuby developers, Charles Nutter and Thomas Enebo. Charles posted about jruby stepping into Sun on his blog, and Thomas posted his take too. Tim Bray, who started the ball rolling posted about the JRuby Love."
I found Ruby semantics to be closer to Smalltalk than CLISP. Of course, the nice thing about Smalltalk and CLISP is that it is very easy to implement one on top of the other. And yes, most Smalltalk VMs are faster than Ruby. And the Smalltalk syntax is clearer than Ruby. Uh, why are people using Ruby, exactly?
I am TheRaven on Soylent News
The JRuby folk can also help iron out bugs in the JDK/JRE which inderectly benefit all Java developers/users. Also this will hopefully ease off the preassure to include everyones' favourite feature X into Java, something that in my opinion is threatening to turn Java into an even bigger mess than C++ (you know, an octopus created by nailing extra legs on a dog).
Fourthly, because there is just a slight chance that Sun will decide to make the JVM more flexible and amenable to languages other than Java.
JSR 223, a framework for "allowing scripting language programs to access information developed in the Java Platform and allowing scripting language pages to be used in Java Server-side Applications" has been kicking around at least since 2003 and is included in the upcoming JDK6 which comes with the Rhino JavaScript engine included. Other scripting people like JPython and Groovy have done great work (from what I understand, I'm not a fan of dymanic languages myself).
Good that this was finally posted on Slashdot, I was a bit peeved when my submission was rejected.
Being bitter is drinking poison and hoping someone else will die
Lua is used a lot as an embedded language, especially in games such as World of Warcraft, etc., so I wouldn't say that it's unheard of.
``Apart from supposed portability I can't think of any.''
I don't think portability is the real advantage. I even doubt if Java really is more portable. No, the real advantages are safety and garbage collection. C and C++ programs are rife with format strings, unchecked return values, unchecked casts, unsafe I/O primitives, and manual memory allocation. All of these are rich sources of bugs. Buffer overflows are in the top three of most common vulnerability types (probably first after injection vulnerabilities, which Java's SQL API protects against, too). Memory leaks are also common, e.g. Firefox suffers badly from them. Unchecked return values have been responsible for some major privilege elevation vulnerabilities in Linux. All of these can't happen in Java, or at least, Java greatly reduces the risks.
Please correct me if I got my facts wrong.
So do many other languages. The main reason why Java worked wonders in the corporate world is marketting. Basically, Java is a victory of marketting over engineering.
Doesn't have near enough to be truely useful, and the explicit typing (lack of type inference) make it extremely verbose and annoying to work with. Much more than statically typed languages with type inference and extremely strong type systems (à la Haskell) for example.
"The way we can tell it's C# instead of Haskell is because it's nine lines instead of two." -- wadler
It would be nice if Sun hired the Jython team as well. :) Consider that they would then have two very popular scripting languages nicely supported under their portfolio.
.NET seriously enough.
I just don't think they are taking
AFAIK, The 6th major revision of the Java platform, codename Mustang, already provides a well defined interface for scripting languages (JSR-223). There is already an official implementation of the Javascript language bundled with it, named Rhino, and the Groovy script language (that is somewhat influenced by Ruby) is officialy supported too.
Also, it seems that Sun is trying to address some issues that prevented scripting languages from accessing the full power of the JVM, this is particulary true for dynamic typed languages such as Ruby and Python. As Java is itself a static typed language, the JVM is optimizated for it, so there's lot of room for improvements... but they probably won't appear until after Mustang is released.
Just my $0.02
---- You know how some doctors have the Messiah complex - they need to save the world? You've got the "Rubik's" complex
Absolutely. Sun played the lock-in game by positing Java as the One True Programming language. That worked pretty well, and so they slacked off, not improving the language (although they did a good job at the runtime, but they could have gotten both right in the first place), and not helping better languages target their platform.
.NET, because it's a better platform.
.NET. While they compete, the rest of the world wins.
Then Microsoft came along and released a Java that was a better Java, on top of a JVM that was a better JVM. On top of that, they actively supported language diversity, encouraged efforts to port popular languages, and changed the VM to accomodate these languages. Soon enough, people were jumping ship; from Java to C#, because it's a better language, and from whatever they had to
Now Sun is playing catch up. They added lots of essential features in Java 5, finally making Java a somewhat useable language. Apparently, they've also gotten the message about supporting multiple languages. And they've been working on opening Java to make it more attractive to those who love software freedom or use platforms that Sun doesn't support.
It will be interesting to see it all play out. At least, I'm glad to see that Sun and Microsoft are having such good influences on one another; Microsoft coming with a very open platform in response to Java, and Sun improving the Java platform tremendously in response to
Please correct me if I got my facts wrong.
> Once the stuff is compiled in as classes into the vm it will become a load faster, heck even a port of php5 to native java compilation made it 3-5 times faster
That's a blatant lie.
The Java based PHP "Quercus" engine is more than 10 times slower than the C based PHP engine from Zend.
Note that both engines are interpreters, they have to look up values at run time etc. A well written interpreter written in Java is always, even after JIT optimization, 2-3 times slower than a C based engine.
For PHP this is even worse, Quercus has to emulate a reference counter on top of the java garbage collector. The Zend engine can simply use ref counting and throw out objects which are not referenced anymore. Cycles are thrown out automatically when the PHP request is done. Remember that a PHP script cannot run for more than 30 seconds, so in theory the C based engine could even switch off the ref counter to gain speed.
instead of speculating? Here's Tim Bray's blog post about hiring them here and a follow up here.
from Tim's blog:
He answers more questions on his blog.
This is just not true. GPL is one of three licenses for JRuby, which is easy to find on the front page for the project. A direct quote: "Distributed under a tri-license (CPL/GPL/LGPL)" But anyway, as other people have posted, JRuby will continue, with it's own community, just with the support of employment for the two main guys.