SQL Zone is brought to you in partnership with:

Fabrizio Giudici is a Senior Java Architect with a long Java experience in the industrial field. He runs Tidalwave, his own consultancy company, and has contributed to Java success stories in a number of fields, including Formula One. Fabrizio often appears as a speaker at international Java conferences such as JavaOne and Devoxx and is member of JUG Milano and the NetBeans Dream Team. Fabrizio is a DZone MVB and is not an employee of DZone and has posted 67 posts at DZone. You can read more from them at their website. View Full User Profile

Quo Vadis Oracle and Dynamic Languages?

02.03.2010
| 4166 views |
  • submit to reddit

Serdar Yegulalp has just written a post titled “What's Java's Future?” where he expresses his point of view about the evolution of Java in the perspective of Oracle's buy and the competition with dynamic languages such as Ruby and others.

It's an interesting post, even though some things can be seen in completely different perspectives - for instance, he asserts that a Java programmer from 2003 would have no problems in reading today's code; thus he concludes that there has been no evolution. That's right if you stayed in Serdar's perspective and looked only at the language; but in 2003 I would have rolled my eyes in seeing what EasyMock, or lambdaJ, or AspectJ annotations in Spring, or Project Lombok can do, not to mention that many design styles have changed, so I conclude that innovation (and doing “more advanced things that much faster“) doesn't necessarily happen within the syntactic bounds of a language.

But this of course is just my point of view - let's try a more objective perspective. For instance, let's focus on the initial statement: that other languages are “eclipsing” Java.

I've been hearing this for years, and yet I don't see much change around. I don't want absolutely to be harsh, but I think that when asserting such a sentence one should provide some data (which of course could prove me wrong). Sticking to anedoctal experience, in an industrial perspective I'm rather seeing more and more interest (and money) in languages such as ActionScript and (unfortunately) ObjectiveC, rather than Ruby or Python.

So, here it is my question: what is, in your opinion, Oracle's attitude towards dynamic languages (with the exception of JavaFX)? What everybody agrees on, including the most harsh critics, is that they know how to make money. So, Oracle putting money on dynamic languages would mean they are growing; the opposite would make me think that the chances of Ruby and friends to “eclipse” Java are very low.

What do you think?

Published at DZone with permission of Fabrizio Giudici, author and DZone MVB.

(Note: Opinions expressed in this article and its replies are the opinions of their respective authors and not those of DZone, Inc.)

Comments

Dmitri Trembovetski replied on Wed, 2010/02/03 - 7:34pm

FYI, JavaFX script is not a dynamic language, it is statically typed.

 

 

Fabrizio Giudici replied on Wed, 2010/02/03 - 8:12pm

Of course, thanks. I had probably in mind a broader concept (any language alternative to Java, including Scala) but at this time I don't want to change the title too. So let's keep the focus on them.

Reza Rahman replied on Wed, 2010/02/03 - 8:33pm in response to: Fabrizio Giudici

Fabrizio,

I agree with you that the so-called "Java killers" seemed to have come in with a roar and are going out with a sqeak :-).

Cheers,

Reza

Mario Fusco replied on Thu, 2010/02/04 - 3:50am

Hi Fabrizio,

I don't like dynamic languages for a couple of (questionable) reasons: they make your code harder to be refactored and they oblige you to write tons of tests to check what the compiler of a static language could do for you.

That's why I felt the need to write a library like lambdaj

Anyway I think that today we have a static language that has the same expressivity, power and conciseness of a dynamic one. Of course I am speaking about Scala.

Unfortunately (not for my choice) me and my team are at the moment stuck on Java. But I really believe that Scala will be the mainstream language of the next decade.

James Strachan (the creator of Groovy) here said that: "I can honestly say if someone had shown me the Programming Scala book by by Martin Odersky, Lex Spoon & Bill Venners back in 2003 I'd probably have never created Groovy."

I can basically say the same: if I was allowed to use Scala in my everyday programming life I have never felt the need to write something like lambdaj.

Cheers

Mario 

Fabrizio Giudici replied on Thu, 2010/02/04 - 4:19am in response to: Mario Fusco

Hi Mario. But our feeling aparts, what do you think Oracle will do with those languages? Let's eventually include Scala - I've just read about Groovy++ (a statically typed Groovy) and the definition of "dynamic languages" is fuzzier now. ;-)

Mario Fusco replied on Thu, 2010/02/04 - 4:53am in response to: Fabrizio Giudici

It is better I don't say on a public site what I think about Oracle in general :)

As for the languages debate, I think we are going toward a polyglot programming way. WIth more than 100 languages available on the JVM we are finally allowed to choose the right language for any given task. I don't think Oracle can have any control on Groovy, Scala, JRuby and all the other new languages. What really matters is the JVM. I hope that Oracle will keep it as open as it is possible in order to allow all those languages to run on the JVM in the best possible way.

In the end, for what strictly regards Java, I am really worried about what's happening with the Java 7 specs definition. I have never seen something like that in my professional life and I am wondering how some decisions are really taken. I am trying to follow the closure debate but it is driving me crazy. I suppose (and hope) this is unintentional, but if they wanted to kill Java, I am pretty sure they are on the right path.

Fabrizio Giudici replied on Thu, 2010/02/04 - 5:55am

I agree that "extra" languages are mainly in charge of the community. But the community is also able to keep niches alive (which is a Good Thing), not necessarily to have them substantially grow. All those languages are now, more or less, niches. For any of them to become the Next Big Thing, I'm not saying that it's strictly necessary a big endorsement from Oracle, but it is likely that it will be needed.

Now, googling for Oracle + {Python, Ruby, Groovy} you can find a lot of stuff in their Wiki, but if I look at a strategic perspective, JDeveloper doesn't have much support for them - surely there's not the enthusiastic support exhibited by NetBeans and Eclipse. Now, for NetBeans Oracle has said that it won't invest in dynamic language support (many commenters are reporting the opposite, but if you listen to the original webcast you'll discover they got it wrong). My question was: is this a sign that Oracle is not seeing big money on that area?

Osvaldo Doederlein replied on Thu, 2010/02/04 - 6:05am

This seems to be a big setback for dynamic [typed] languages, after recent years of hype (bubble?). Sun Microsystems was obviously not making any significant money on their initiatives - all the support for alternative languages (and their web frameworks) in both NetBeans and Glassfish. Oracle is widely recognized as a very pragmatic company, they don't kill a project from an acquired company because they don't like it or because of NIH or other factors; they kill it because it's hemorrhaging money and has no concrete perspective to make in the black. I have been tracking, mostly in Twitter, comments from many devotees of dynlangs, who are pissed off with Oracle. But what would they expect?

And it's NOT just Sun's marketing incompetence.  I don't see dynlangs getting any real corporate adoption. IBM has made a lot of noise in the 2007-2008 timeframe with their Project Zero / Websphere sMash (supporting Groovy & PHP), but now it seems dead, no significant news over the whole last year. (This is very significant because in general, IBM succeeds to make millions with ANYTHING that they [re]brand "Websphere" - it's a magic token to push whatever product into IBM shops). The single positive trend seems to be SpringSource's acquisition of G2One, but the jury is still out on the actual success this will bring, regardless of the thriving Groovy community. Alas, Groovy is certainly the strongest "dynamic, Java killer" language - and guess what? - it's the option that's closest to Java, so it makes the case that we only need a better Java - not a real Java Killer; I would bet some money on Groovy and other better-Javas like Java7 and JavaFX Script, maybe Scala; but not on really alternative languages like Ruby.

Having said all that, I believe it's still strategically critical that the JavaSE and JavaEE platforms continue to improve their core support for an increasingly broader range of languages, including dynamic ones. The JSR-292 work of JDK7 is almost done, and it will be supported and pushed forward by Oracle. Glassfish V3's flexibility to host alternative languages/frameworks is done, and it will certainly being maintained (even if the actual plugins for specific langs/fwks are left behind for the community to pick up). Ditto for NetBeans; the core IDE will be maintained, internal frameworks that were created to enable support for many languages too; but the higher-level plugins to support Ruby, Groovy, PHP etc., will probably lose funding, and they will die if not maintained by external committers. In the research/forward-looking space, I expect more great multi-language support to keep coming from MLVM projects, perhaps first appearing independently in OpenJDK builds and maybe later in the standard JDK 8+ - but more specialized enhancements will only make it, very likely, if the alternative languages that need them have strong communities that can afford the necessary contributions. The whole platform is GPL'd so there's no excuses anymore to not contribute (there's Apache Harmony for companies that don't like copyleft). Hey SpringSource, EngineYard, others... would you fund a few HotSpot hackers to push forward slow-moving MLVM projects, like support for fixnums? If you don't, Oracle won't - dynamic languages are YOUR business, Sun "Santa Claus" Microsystems is R.I.P., so please start pouring the cash where it's needed.

Mario Fusco replied on Thu, 2010/02/04 - 6:32am in response to: Osvaldo Doederlein

I 101% agree. Oracle is far more pragmatic than Sun. They will put money only where they can see a strong ROI. And I don't see any golden halo around Groovy. As suggested by Fabrizio I believe that those languages will remain alive in their niches only thank to the support of non-business oriented small comunites. I love Scala and I am hoping it will have a broader diffusion, but probably even this will remain just an hope.

Silvio Bierman replied on Thu, 2010/02/04 - 7:18am in response to: Mario Fusco

Of course we can not look into the future but I am optimistic about the chances for additional JVM languages that get along nicely with Java like Groovy and Scala. Groovy caught my attention first. I translated some Java code for processing a certain proprietary type of XML documents to Groovy. Since I dislike dynlangs I was not very enthusiastic during the translation but running the result on larger documents revealed an increase of execution time of more than a factor of 120! Specific Groovy-ish optimizations might have improved that but it was enough for me to drop the language. Then Scala came along. I did the same thing and had the first WOW experience because of the type inferencing and general elegance. Running the resulting code (15% of the original Java size and much more expressive and readable) on the same documents revealed roughly the same execution speed (within 2-3%) as the original Java code. Meanwhile, Scala has replaced Java for all new development in my company. We may not be an average shop but I suspect many other people will start having similar experiences, possibly encouraged by positive feedback of earlier adopters. The main thing I see holding back Scala is the available tools. The plug-ins for the major IDEs are not yet on par with their Java counterparts. They are being developed by a small group of people who play a crucial (and heroic) role in the adoption of the language. It would be great if that would be backed by one or more major players but I have seen no signs of that yet. Silvio

Fabrizio Giudici replied on Thu, 2010/02/04 - 7:26am

Great feedback, Osvaldo. As a member of the NetBeans community I can't only say that I hope that dynlangs supporters that are now "pissed off" by Oracle will focus their reaction in a constructive way and contribute in keeping alive, and improving, the NetBeans support for their tools. I'd like that Oracle really confirm with facts their desire for making NetBeans the best IDE for Java{SE,ME,EE,FX} and the community make NetBeans the best IDE for Scala, Ruby, Groovy, PHP, what else. ** edited to add ** - and eventually demonstrating that they can reach out of their niche and be the Next Big Thing. **

I've always said that I believe that the communities are in many cases able to keep on with some technologies and should really be challenged to do now. It's a thing that would make stronger the whole FLOSS culture.

Osvaldo Doederlein replied on Thu, 2010/02/04 - 9:14am in response to: Fabrizio Giudici

When it comes to keeping existing NetBeans and Glassfish support for dynlangs, I am actually optimistic - Sun already did the bulk of the work, and just maintaining the existing feature set working in future releases, fixing some bugs etc., would cost pennies for Oracle. The return would be very good in terms of community, and in keeping one of NetBeans's competitive advantages if Oracle is serious about winning some IDE share (JDeveloper has zero share outside Oracle's turf, and Eclipse has a lot but it's mostly IBM's game). I just don't see Oracle making a big investment to improve and expand the support for those alternative languages/frameworks, at least not before there is some business case like a particular language really picking steam in the corporate world. Anyway, the community that cares about these languages will have to shoulder at least part of the work, even if Oracle keeps doing another part as I hope/expect. 

Alas, my big wish for Oracle wrt NetBeans is, resuscitate the VisualWeb plugin, that Sun was forced to abandon in the 6.8 release because they couldn't pay the dozen engineers required to maintain it. VisualWeb was a major advantage of NetBeans, a lot of people were totally mad at Sun when 6.8 was released without VW which was often the single reason to prefer NB over other IDEs. NB still has strong points (JavaME/FX, Swing, RCP...) but these are not good enough if users lose trust in its future. A 6.9/7.0 release with VW would be a huge way to reassure the NetBeans community that they don't need to start moving to Eclipse.

Reza Rahman replied on Thu, 2010/02/04 - 12:27pm in response to: Osvaldo Doederlein

Osvaldo,

I agree with you 100% of NetBeans. Despite all the nay-saying going on at the moment, I think NetBeans has a real chance of success with Oracle. In fact, I am inclined to think that a community petition to make NetBeans instead of JDeveloper the strategic IDE might work, just because Larry hates IBM with a passion :-).

Cheers,
Reza

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.