Slashdot Mirror


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."

33 of 211 comments (clear)

  1. Great News by RAMMS+EIN · · Score: 5, Interesting

    This is great news for several reasons.

    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 .NET.

    --
    Please correct me if I got my facts wrong.
    1. Re:Great News by chthon · · Score: 2, Funny

      A fast Ruby with a compiler is called Common Lisp.

    2. Re:Great News by TheRaven64 · · Score: 2, Informative

      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
    3. Re:Great News by LarsWestergren · · Score: 2, Informative

      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

    4. Re:Great News by Per+Wigren · · Score: 4, Interesting

      The language itself isn't slow, the current interpreter is.

      The solution is YARV (Yet Another Ruby VM) which will be the official Ruby VM in v2.0. Ruby 2.0 (thanks to YARV) will have JIT and a superfast optimizer. You can get a (very buggy) pre-beta version from SVN right now. Benchmarks show that it will be about as fast as Java and .NET in most situations. Slower in some situations, faster in some.

      --
      My other account has a 3-digit UID.
    5. Re:Great News by LarsWestergren · · Score: 3, Insightful

      If now, with .NET, this is the first time that Sun is thinking about adding other language compilers for their bytecode then they are way to late.

      Two seconds of Googling could have told you that the JVM has supported more languages than .net for a long time.

      I don't think they will ever be able to top the .NET support already there. If they think this is competing with .NET, it's to little, to late.

      You do know that Java is MUCH bigger than .Net out in the real world?

      More probable: Sun is going to add Ruby on rails to their JSP system, which is probably the only way they kan add anything to anything.

      You really have no idea what you are talking about. Java developers could use Ruby to do fast and easy unit tests for instance. The scripting sessions at the last JavaOne showed lots of other interesting uses. Also it wouldn't surprise me if one possible long time plan wouldn't be to make the JVM the fastest, most stable and therefore the most attractive platform to run all Ruby programs.

      --

      Being bitter is drinking poison and hoping someone else will die

    6. Re:Great News by arivanov · · Score: 2, Interesting

      First, let me ensure I got my trenches dug to the correct depth to duck for cover.

      The answer is: Because it is not French.

      The sole and only reason for not using smalltalk especially in the US is the not-invented-here mentality. I have yet to see a telecoms (dunno about other parts of the industry) smalltalk project whose roots are not from continental Europe. For example the Infovista carrier stuff which uses a smalltalk core was aquiried from Quallaby which surprise, surprise started its life as a french company. There are other examples as well, but I have yet to encounter a telecoms project which uses Smalltalk as its primary language and was started in the US (or UK).

      Similarly, if you dig into any pre-2004 Ruby project you end up encountering some Samurai smiling at you with that characteristic smile that makes you feel like sushi.

      Anyway, now it is time to duck in the freshly dug trench and wait until the flames have died out.

      --
      Baker's Law: Misery no longer loves company. Nowadays it insists on it
      http://www.sigsegv.cx/
    7. Re:Great News by masklinn · · Score: 2, Interesting

      Mmm reasons for not using Smalltalk:

      • It's syntax is fairly alien. Most people don't like alien syntax. Ruby's syntax is much more in line with "traditional" languages such as Java
      • Ruby also has quite a lot of Perlish roots, which make it a quite "practical" language.
      • Smalltalk is a fairly unique language in the sense that it's image-based: your code always lives in your image, you never need to get out of the environment, the feeling is different
      • Smalltalk is fairly old, since it never took of most people never heard of it.
      • Last, but probably not the least, Smalltalk was quite "closed" as an architecture, for a long time the only useable implementations were commercial, which was not a good thing since there were no heavyweight backers of the language (C# has the former issue of a primarily commercial -- even if free via C# compilers and Visual C# Express -- implelementation, but it has all the weight of MS behind it)

      But yeah, Ruby is much closer to Smalltalk than Lisp indeed, Ruby's main "ancestors" are Smalltalk and Perl with some bits of Lisp & others thrown in.

      --
      "The way we can tell it's C# instead of Haskell is because it's nine lines instead of two." -- wadler
    8. Re:Great News by masklinn · · Score: 4, Insightful

      Two seconds of Googling could have told you that the JVM has supported more languages than .net for a long time.

      I may be overreaching here, but I think that part of his point was that Sun never ever officially endorsed any language but Java on the Java platform. Only now that MS has started championing a pretty much official IronPython effort has Sun discovered dynamic languages, and started working towards making the JVM more dynamic-languages friendly.

      Which is a damn shame, because they had Jython years ago, which they could easily have supported at almost no cost, and they let the project die on it's own.

      --
      "The way we can tell it's C# instead of Haskell is because it's nine lines instead of two." -- wadler
    9. Re:Great News by vhogemann · · Score: 2, Informative
      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 .NET.


      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
    10. Re:Great News by LarsWestergren · · Score: 3, Insightful

      The solution is YARV [...] Benchmarks show that it will be about as fast as Java and .NET in most situations. Slower in some situations, faster in some.

      Yes, but the JVM is a moving target. By the time all those bugs have been ironed out, JRuby will have improved their execution speeds too. Lets not declare the winner until we have the finished products to compare, otherwise we are just playing the old Microsoft game of "lets compare the features of our future products with the features of our competition today".

      --

      Being bitter is drinking poison and hoping someone else will die

    11. Re:Great News by recordMyRides · · Score: 3, Insightful

      Smalltalk was invented in Palo Alto, California.

      My opinion on why we don't use Smalltalk? When it came out, the world wasn't ready for it. We were still getting our heads around object oriented programming in general. The fact that it didn't use C syntax didn't help either. Smalltalk was just too much for most programmers to learn. Nowdays, since it is decades old, it doesn't have the same sparkle of a newer language, like Ruby.

  2. Support for Dynamic languages by EqualSlash · · Score: 4, Insightful

    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.

    1. Re:Support for Dynamic languages by TheRaven64 · · Score: 4, Insightful

      Smalltalk, the archetypal dynamic language, already runs quite happily on top of the JVM. Sun doesn't need better technology, they need better marketing. Last time I checked, there were more languages supported by the JVM than the .NET CLR, but Sun only ever talk about Java while Microsoft talk about everything. This is a PR move to let the world know that the JVM is not just for Java.

      --
      I am TheRaven on Soylent News
    2. Re:Support for Dynamic languages by egghat · · Score: 2, Insightful

      This is a *good* PR move.

      Which is not the norm when you're talking abount Sun microsoystems.

      Bye egghat.

      --
      -- "As a human being I claim the right to be widely inconsistent", John Peel
  3. The way I see things... by Anonymous Coward · · Score: 2, Interesting
    Ruby (which is slow as molasses) could potentially see a higher speed gain from running on the JVM than Python has (not) seen from being ported to run on the CLR. However, I don't understand the technical advantage of these dynamic languages being ported to runtimes designed to host static languages.


    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?

    1. Re:The way I see things... by erig · · Score: 3, Informative

      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.

    2. Re:The way I see things... by masklinn · · Score: 2, Insightful

      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?

      I think it's because they don't go for the same market. Lua's goal is to be a fast, simple embedded language, to enable easy scripting of your C/C++ applications for example (which is why Lua is used a lot in embedded and games devs).

      Python and Ruby are full fledged, self-contained programming languages (even though you can embed them into C/C++ programs, or use C/C++ libs from them). Porting them to the JVM or the CLR gives you all of the platform's power (modules & third party packages) with more dynamic and flexible syntaxes.

      Lua is definitely not "unheard of" though.

      --
      "The way we can tell it's C# instead of Haskell is because it's nine lines instead of two." -- wadler
  4. good thing, too by macadamia_harold · · Score: 2, Funny

    Sun has thrown some corporate weight behind Ruby

    Good thing, because that Oswald guy was starting to get on my nerves.

  5. GPL? by giafly · · Score: 5, Interesting

    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
    1. Re:GPL? by mrjatsun · · Score: 2, Insightful

      OpenOffice is GPL. Different licenses for different products. There isn't one license to rule them all. I don't see why JRuby wouldn't be GPL given Sun's (my employer) past history.

    2. Re:GPL? by olabini · · Score: 2, Informative

      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.

  6. Re:Not exactly a good thing by RAMMS+EIN · · Score: 3, Informative

    ``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.
  7. Re:Not exactly a good thing by $RANDOMLUSER · · Score: 2, Insightful

    Think harder.

    How about a bazillion prewritten, documented, tested, standardized, open source library modules, many of them supplied by Sun with the language, to do bigmath/network/file/database/sql/2D-3Dgraphic/GUI /whatnot ops?

    Tell you what, you roll anything trickier than "hello world" from scratch in C/C++, and I'll do the same in Java, and we'll see who has the choice of more predefined stuff to use, and who finishes faster with a program that runs more correctly.

    --
    No folly is more costly than the folly of intolerant idealism. - Winston Churchill
  8. Re:Not exactly a good thing by masklinn · · Score: 2, Informative

    To be fair, Java does have some advantages over C and C++ for application development, and I think that Java has worked wonders in the corporate world.

    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.

    For example, Java has static typing, which helps catch errors at compile time.

    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
  9. Jython -- they need a boost too by ovapositor · · Score: 2, Informative

    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.

    I just don't think they are taking .NET seriously enough.

  10. It would be interesting by gnufied · · Score: 2

    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.

  11. after letting Jython languish by hashmap · · Score: 5, Insightful

    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

    1. Re:after letting Jython languish by RAMMS+EIN · · Score: 2, Informative

      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.

      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 .NET, because it's a better platform.

      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 .NET. While they compete, the rest of the world wins.

      --
      Please correct me if I got my facts wrong.
  12. Re:Not exactly a good thing by Grr · · Score: 2, Insightful
    Tell you what, you roll anything trickier than "hello world" from scratch in C/C++, and I'll do the same in Java, and we'll see who has the choice of more predefined stuff to use, and who finishes faster with a program that runs more correctly.

    I pick a 3d shooter. Now you get to pick anything less yawn inspiring than a database driven office app right? This is a fun game. ;)

    Seriously though, each language has applications that it's well or badly suited for. Each moderatly proficient software developer should be able to pick the right tools for the job and be able to use them. No need to start holy wars over them.

  13. Re:Bad News by RAMMS+EIN · · Score: 2, Interesting

    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.
  14. Missing the point by metamatic · · Score: 2, Insightful

    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
  15. Why not hear it from the guy who made it happen... by lowoddnumber · · Score: 2, Informative

    instead of speculating? Here's Tim Bray's blog post about hiring them here and a follow up here.

    from Tim's blog:

    Why is Sun hiring JRuby developers Charles Nutter and Thomas Enebo? First, they are excellent developers. Technologies like Ruby are getting intense interest from the developer community, and Sun is interested in anything that developers care about.

    What will their new role be at Sun? First, they have to get JRuby to 1.0 and make sure that the major applications are running smoothly and are performant.

    Will they work on JRuby full time? Yes, but they also have a mandate to think about developer tools. Right now, developers who use dynamic languages like Python and Ruby are poorly served, compared to what Java developers have.

    Will JRuby be "owned" by Sun? No. JRuby has existed for a long time as a project; it has its own culture, community, license, and codebase, and there are no plans for significant changes.

    He answers more questions on his blog.