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."
This is great news for several reasons.
.NET.
First, and most importantly, because Sun is now throwing its weight behind Ruby, which is a wonderful language. It does have its quirks (some weird syntax and the schizophrenia between procs and blocks), but it's still one of the better languages out there. Easy to write and understand, powerful, and succinct.
Secondly, because Sun is supporting JRuby, which is an alternate implementation of the language. This will put pressure on the language designers to spell out the language in a clear specification, rather than referring to some implementation for knowledge of how things work. One of the benefits of this is that it will cause features to be thought and debated about more, which I believe results in cleaner, nicer languages.
Thirdly, because the JRuby folks seem to have the plan to develop a compiler. This could lead to Ruby's run-time performance increasing enormously, widening the scope of the language to tasks that current Ruby implementations are simply too slow for (you can extend Ruby programs in C and JRuby programs in Java, but it would be preferable if one didn't need to).
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. Right now, the operations that the JVM supports are very much tied to the features of Java. Implementing some more flexible primitives would benefit not only JRuby, but also about any other language that targets the JVM, and make the Java platform more competitive with
Please correct me if I got my facts wrong.
^_-
Long ago, Microsoft hired Jython creator Jim Hugunin to work on IronPython. The aim is to make dynamic languages like python work better in .NET platform. Looks like Sun doesn't want to lose out in the race in supporting dynamic languages.
Java is a marketing driven answer to a non existant technical problem, the best move would have been replacing Java with Ruby, but we cannot expect this from Sun. Heh!
Now, if and when some good Ruby software will be written by these folks which will rely on a JVM to be run, and people starts adopting it, we'll know that Sun is screwing the Ruby community. Think about what Azureus would be if it was written in a decent programming language.
Lua is interesting, it runs on it's own register based VM and LuaJIT does exactly what you think. Lua is only a small language and generally faster than C-ruby and C-python. I don't see anybody rushing to port this to run on the JVM/CLR, is this because the performance and memory use would absolutely suck?
Sun has thrown some corporate weight behind Ruby
Good thing, because that Oswald guy was starting to get on my nerves.
Push Button, Receive Bacon
Currently JRuby is licensed under the GPL.
Given Sun's past criticism, I think it's fair to ask whether they have committed to using the GPL for future JRuby releases.
Reduce, reuse, cycle
Can Sun claim to be backing dynamic languages when people like David Ungar are looking for a new employment? http://tech.groups.yahoo.com/group/self-interest/m essage/1943
Maybe they're too "old-school", but hey, those guys created Self!
Another big advantage is the fact that java identifiers (variable/procedure/class/etc. names) actually make sense. Sure, it's verbose, but syntax completion and a decent resolution on your monitor practically negate that problem. The added clarity more than makes up for it.
Disclaimer: YMMV, and yes, I do know that you can use verbose identifiers in C/C++. That doesn't help much if nobody else does so.
-- ac at home
Back in 1994, Sun hired the core developer behind Tcl/Tk, and asked him to form a team around the language / graphical toolkit. The toolkit was very widely used and quite promising (for the time), but it languished at Sun and eventually they dumped it.
Rich.
libguestfs - tools for accessing and modifying virtual machine disk images
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
I'm all for debate, but does that really create cleaner languages? Is c++ cleaner now that a panel decide what goes into it (I'm thinking of the STL here)? I kind of like the model of one guy with a neat idea, trying to produce a language that works the way he wants it to.
People started speculating , this might be in response of Microsoft throwing weight behind Python, though I am not in that camp....but it would be interesting to see that how these interpreted languages will perform when hijacked by these JIT compilers( or whatever these sun guys tell you about their shiny bytecode stuff.)
I have seen JRuby code and the effort to use Java libraries from Ruby and it was plain scary, I would rather do pure Java. And support for rails is "miles before you and me can do some real code". According to Tom(one of the authors of Jruby):
"It should be stated clearly here, that the JRuby this is running on is not released code yet. In fact, our next release 0.9.0 will not quite be running this application out of the box"
So, we have a tight case there. Besides Matz is also working on Ruby2.0, which will have VM execution kind of stuff. So, though you may celebrate if you want, I would rather like to have C Ruby for my breakfast. There are two major problems of Ruby:
1. Slow (yes its slow and stylish)
2. GUI programming
And guess, what Jruby is not going to bring anything better on the table on these two fronts. With Introduction of IronPython, you can do GUI programming on Windows happily and PyGtk was there as shining example of one of the finest GTK bindings ever produced. Whereas, if you want to do, GUI programming with Ruby, how many REALLY good choices do we have? Though this might be humble opinion, but I have hated GTK for gui stuff, it sucks. Qt and Windows Forms are much better. Java applets suck even more.
You can go right ahead and flame me now.
There seems to be an ongoing effort to make ruby run well on the .NET-framework aswell, check out IronRuby or Ruby.NET for further reading. Ruby.NET supposedly runs on Mono although it requires a few patches.
I gots no love for Sun ... after all Jython been out for half a decade, and Sun has shown little to no interest in it ... just imagine how much better it would be if they had the foresight to support it and improve its performance
As far as I'm concenrned Sun is playing catch-up with Microsoft, and this is no more than a half assed response to MS releasing IronPython
Does anyone know for sure where/how/why JSP is going to fit in all of this?
... if only someone would throw some money my way to work on Hecl (http://www.hecl.org/) :-)
http://www.welton.it/davidw/
"it will cause features to be thought and debated about more, which I believe results in cleaner, nicer languages"
I can see where this will lend to: a convoluted syntax more close to Java and less of the conciseness of Smalltalk and Perl...
I don't feel like it...
I very much doubt that. It's languages like Perl, PHP, Ruby, and Python that have the odd features that cause massive problems when the language grows out of its initial niche and starts being applied to large, Real World problems. Many of these languages have little hacks that seemed advantageous when originally conceived, but later turned against them. Java has comparatively few of these issues (no list context vs. scalar context, scopes that don't nest, unpredictable syntax, etc.) - its main problem is that it's extremely verbose and repetitive.
Please correct me if I got my facts wrong.
This is a bit off topic but maybe in line with the current thread. There is a SmallTalk/C derivative (at least heavily influence by SmallTalk and built on top of C). The Cocoa Frameworks using Objective C are gaining a bit of traction, even if it is only used for the niche Apple Macintosh market.
So, we have a tight case there. Besides Matz is also working on Ruby2.0, which will have VM execution kind of stuff. So, though you may celebrate if you want, I would rather like to have C Ruby for my breakfast. There are two major problems of Ruby:
1. Slow (yes its slow and stylish)
2. GUI programming
And guess, what Jruby is not going to bring anything better on the table on these two fronts.
I disagree -- there are more problems with Ruby than just those, and they are things Jruby could fix.
The big problems are:
--Slow: unlikely to be completely fixed by using a JVM, but it would probably help. Matz's VM was going to be ready Real Soon Now in about the year 2000.
--Unicode: The JVM would FINALLY give Ruby the ability to take in text in various languages and just process it in the normal way, rather than messing with individual bytes and having Japanese be a special case.
--Threads: The JVM would FINALLY give Ruby proper threads.
And another problem is:
--Project Management: Involvement from Sun might make for a more efficiently run, less 'hobby like' project.
So, I'd say there's a lot Sun could offer to Ruby. Whether any of it will happen I don't know -- and of course bad Ruby code is a lot worse than bad Java code and I'm not sure if I wouldn't rather people stuck with Java.
Whence? Hence. Whither? Thither.
Ruby on Rails has got a lot of attention. Many web sites that would have been built using Java are being built using Rails, and people were starting to ask if Ruby on Rails was the new, better Java.
This is an insurance policy for Sun, and a way for them to provide a migration path and say "Oh, OK, you can run your Rails site on our Java platform while you build the next version using J2EE".
GCHQ Quantum Insert installed. If only our tongues were made of glass, how much more careful we would be when we speak
So, the creator of a proprietary platform acquires key developers of open source add-on for that platform. This likely means that Sun will add more Sun Java-specific features to JRuby and that JRuby will not work on IKVM or Classpath in the future.
I wonder whether Sun tried acquiring Jython first and was turned away...
Sorry to play the cynic, but you have to ask how long this goodwill will last. Sun has a layoff announcement every 6 months it seems. "Non-core" business units are shut down at every turn.
I love Sun, and I think it's great that they're doing this. I hope they prove me wrong.
Ruby, and it's raison d'etre Rails, are so open and free of comittee-paralysis that the thought of having it over-engineered, -documented, and -planned, gives me the heebeejeebees. The lang is supposed to be the common sense anwer to what went wrong with Java. Sun has a widely used and distributed, wreck of a language system and they should keep their mitts off of the next generation of tools.
If it were done when 'tis done, then t'were well it were done quickly... MacBeth
test test test
You know, the fact that you can use C libraries in C++ programs does not mean you should do it. The real C++ library (STL) is extremely clear, without any unneeded verbosity.
I can't think of anything clearer than map or list (examples that apply to java, also), or:
for_each(l.begin(), l.end(), _1.print());
It's better to be the foot on the boot than the face on the pavement. ~~ tkx Kadin2048
I've never heard of JRuby before this. However, according to the Wikipedia entry, it allows you to run Ruby code within Java. Cool. Further down, it says you can also run Java code within Ruby within Java.
Whoa.
So, can you run Ruby code within Java within Ruby within Java? What about running Java code within Ruby within Java within Ruby within Java?
My head hurts...
Java is an OPEN platform, based on well established standarts that are made public, royality-free. Everyone is free to make their own implementation of the JavaVM, this commitment to open standarts made efforts like IKVM, Kaffe, Classpath and ohters possible on the first place.
That's a bunch of lies.
Sun's Java specifications are available only under restrictive licenses and Sun has withdrawn them from standards bodies twice because Sun was unwilling to allow independent implementations. Go try to download the J2SE specifications from Sun's web site and look at the licenses they come under.
IKVM, Kaffe, Classpath, and others have been laboriously reverse engineered from third party sources, and Sun has to this day refused to help in their creation. Sun's sources are completely useless to anybody working on independent Java implementations, because if they so much as look at them, Sun claims ownership of their work.
Sun's lack of openness has cost a lot of people a lot of time and effort. Claiming that they are implementations of some "open" Java standard is adding insult to injury.
fast as Java
Enough said... ;-)
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.
Sun is back to hiring!
If you're a Java developer, check out Groovy and Grails. It integrates much more tightly with existing Java code rather than redoing everything in Ruby.
See also this post: http://www.infoq.com/news/jruby-groovy-next
how to invest, a novice's guide
Suppose you want to find the last names of people in your address book who might be Vulcans, and produce a list ordered by the length of their name (five character names, then four and six character names, then the rest, alphabetized within length groups
address_book. /.*k$/ }.
collect { |person| person.last_name }.
find_all { |name| (3..8).include? name.length and name =~
sort_by {|name| [[2 2 2 2 1 0 1 2 2][name.length],name] }
I'm not sure, but I think this would be harder in C#.
--MarkusQ
but to this day, they have yet to disappoint with their engineering/technical appeal... Solaris... Java.... now adding support for a wildly popular dynamically typed language... The only one that comes close to their engineering savvy is Apple. Not so long ago there was talk of a Sun-Apple (Snapple? :) merger - http://digg.com/apple/Dvorak_Is_an_Apple_Sun_Merge r_in_the_Works. I've been writing software for 10 years now, and I prefer the small company setting... but if I were to ever work for a large company again, I'd like it to be like Sun or Apple, with superb engineers around me who are going to make me re-examine everything I know on a daily basis and keep me challenged forever.
'A lie if repeated often enough, becomes the truth.' - Goebbels
I work at a very large healthcare organization, and the deal is, we have the JVM installed in many environments. Trying to get native Python or Ruby installed is a no-go. But with JRuby, I've been able to say "just install these JARs please" and the operations people are OK with that. And voila, now I can write Ruby scripts, and Ruby is pretty cool.
Plus, we do have a lot of valuable security logic built into JARs in public static methods, so being able to access those Java security libraries, developed in house, is damn handy. JRuby is excellent, and this is awesome news.
Why is Ruby so far down at the bottom of the list sorted by score, in the Computer Language Shootout? The only other popular web server scripting language that's worse than Ruby is PHP! That's certainly nothing to be proud of.
With such lackluster performance, Ruby looks good to newbie programmers whose only experience is with PHP, but that's only because PHP is so horrible that Ruby looks better in contrast, and they haven't investigated any of the much more efficient, fully developed, well designed languages like Lisp, Python and Lua, which kick Ruby's ass when it comes to performance.
But if your main criteria for choosing a language is that it should only have a single one-size-fits-all unitard web framework, and you don't like the bewildering freedom of having many frameworks to choose from tailored for different situations, then by all means go with Ruby on Rails, and save yourself all the bother and effort of researching and understanding the problem space, and choosing the best tool to fit your application. After all, it levels the Web 2.0 playing field if everybody's trying to tighten their screws and splice their wires with the same hammer.
The fact that Sun hired a major developer of a programming language does NOT necessarily bode well for that language. Sun has a long track record of trying to scuttle technologies that they perceive as a threat, by hiring the developers, and diverting them to work on other things like Java.
-Don
Take a look and feel free: http://www.PieMenu.com
Lua totally kicks Ruby's ass in the Computer Language Shootout.
Ruby only seems like a great language to newbie programmers who don't know anything but PHP. It's not BAD, but it's not very impressive nor efficient compared to decent languages, and it's horrible compared to excellent languages.
-Don
Take a look and feel free: http://www.PieMenu.com
What are you, an old COBOL programmer who hates to learn new languages? Lua is an extremely well designed language, much more efficient than PHP or Ruby. Where did you get the prejudice that a high level game programming language would be designed for people who can't master other languages? Ruby shines because it's a real programming language, not a toy, and it integrates extremely well with compiled languages like C and C++.
I understand that you may not have heard of Lua, because there are a lot of people like you who are afraid to learn new languages, and reject them out of hand, without even knowing what you're talking about. But if you have the guts to open your mind to new ideas, then take a look at the computer language shootout, and see which interpreted scripting language is at the top of the pack, with a higher score than JavaScript, Smalltalk GST, Scheme MzScheme, PHP, Smalltalk Visualworks, Ruby, Icon, TCL, Pike, Mozart/OZ, Perl, Erlang Hipe, Python and Scala. Ever heard of any of those languages, old timer? Lua's faster than them all.
-Don
Take a look and feel free: http://www.PieMenu.com
The fact that the Self team is looking for work is telling. Sun hired the Self team, and plowed the fruits of their brilliant work into Java instead of Self or Smalltalk, and then Sun scuttled all the Self related projects. Before that, Sun hired the TCL team, announced with much fanfair that TCL was going to be the official web scripting language, then dropped it like a hot potato.
Don't read too much into anyone's promises that Sun is going to support Ruby, especially if they work for Sun and are trying to hire you. They lie to the people they're hiring, and play bait-and-switch, because their real intention is to divert people from competing projects that conflict with Sun's other goals-de-jour. From my past experience with Sun (like James Gosling personally promising me that Sun was totally behind NeWS and would soon make NeWS source public domain), I believe that it's quite likely they'll let the JRuby team work on Ruby for a little while, then divert them onto something else. If you can't beat 'em, hire 'em and tell 'em to stop. That's the way it works in the real world, kids.
-Don
Take a look and feel free: http://www.PieMenu.com
In this world nothing is certain but death, taxes and flawed car analogies.
That's a mighty fine distinction and, I think, a distraction from the point.
The initial goal of what became Java was not to produce a real-time, mission-critical platform with two-phase transactions, high-volume messaging and queueing, and whatever other enterprisey buzzwords win the measuring contest this week. Yet Java grew out of that niche, as it proved to be a decent general purpose language and platform.
Given any other general-purpose language and platform (and here I include Perl, Python, and Ruby -- but not PHP), why does the designer's original intent matter one bit?
how to invest, a novice's guide
Why is that offtopic? Self, Squeak, Bistro are all derived from Smalltalk -- all of them reflective programing languages like Ruby. And the greatest problem of Self is that no one uses it. I find it a very good concept and a very interesting language. If only it got more attention.
Why is Ruby getting all that attention? I think there are many others reflective languages that could become much more than Ruby will ever be. Personaly, I dislike the idea of multi-paradigm languages: you end up with something thats is almost good in almost everything. Why not focus in a pure reflective language that won't solve all the problems in the world but will be perfect when a reflective language is needed? Do that with calls/links to other languages and you have the perfect programing environment: each language doing what it does best.
good grief, there are other (and better) web frameworks available based on Ruby than ruby on rails; ruby on rails is fun and coding-fast though. If you check out the comp.lang.ruby threads you'll find that plenty of folks have refactored various benchmarks in the C.L. shootout and been able to improve performance by factors of two to many times, which proves exactly nothing. The benefits of ruby aren't speed of execution. Speed of coding is, most power for the least typing compared to others except ocaml.
In this 4500 word article, which includes in addition to fun and hijinks detailed language updates for Ruby, Python, Squeak, Perl, Java, Javascript and 20 other languages and frameworks, a panel on functional programming and comparison between Ruby and Java.
Since I went to the trouble to write the English article I'd like to let people know about it since it is on an unknown site. So far just people in Japan and perlmonks.org people know about it. Considering that Ruby, Python, Java and Squeak are all mentioned in the article (and Ruby/Java generation is a big topic in Japan too) I can't figure out why such a relevant post gets backseated to Piquepaille and endless RIAA and voting machine stories. Anyway, if you are interested check out the article. As far as I know, this is the first breaking news coverage in the world of a fork in Ruby and retirement of its creator from work on the language (or so he says, hope not!).
FWIW the magazine in my hands right now, probably the best selling magazine in Japan in this space this month has the cover story that Ruby helps you solve problems fast. Also including articles on Java and a nice Perl Catalyst story.
I'll take a J2EE app and deploy it on Windows for development and Solaris for production, and half the time I don't even consider that the underlying architecture is as different as night and day. The app just works in both places.
They don't grade fathers, but if your daughter's a stripper, you fucked up. --Chris Rock
I am bemused people who think Sun is relevant anymore. It's stock went through the floor, the barrier hit by most others during the dot-con bubble burst, and proceeded to the basement. It's server technology just isn't that interesting and Java has never been interesting except as a way to import enormous numbers of programmers from India using the capital Sun had acquired from its early success.
Seastead this.
To be fair, the uptake of Java grew out of that niche but the language remained fairly true to its original design throughout.
In this world nothing is certain but death, taxes and flawed car analogies.
"It's server technology just isn't that interesting... ...and Java has never been interesting "
Are you on crack?
In some ways, I think we are close to agreeing (at least, I share your reaction to ASP and VBScript, and also used to assume that strongly typed languages had to be statically typed).
But in other ways I think we are talking past each other. A few of the places I think we may still disagree:
That means I won't have a half dozen differently specialized versions floating around, some having one bug fixed, some having another bug fixed...
But other than these sorts of points, I suspect we share the same goals and (on a large range of issues implied but not discussed by this thread) the same sensibilities.
--MarkusQ