Weighing in on the Gosling flame war over scripting languages

I want to way in on this flame war that James Gosling has triggered with his mild criticism of scripting languages. I think it is unfair and unhelpful. Here is my two cents worth.

I am still feeling my way on Ruby and Ruby on Rails. I spent a half day with Prag Dave, have done a ROR tutorial and have the two Ruby books. I also read a book on comparative programming languages to see what the experts thought.

I like the idea of having a few tools on the toolbelt, thus avoiding the “if all you have is a hammer, every problem looks like a nail” phenomenon.

I was not a particularly early adopter of Java. I got going with it about 1.2. The early Java was high on hype and low on class libraries and frameworks. And it was slow.

It seems to me that Bruce Tate, Dave Thomas and David Hansson amongst others are out flaming people rather than dealing with the criticisms raised.

Bruce should get over advancing Ruby by attacking Java. His beyond series seems to overlook the Tiobe stats. Java is growing in popularity, not declining. The thing that is declining is Perl. He should start thinking in terms of beyond Perl.

Dave Thomas ridicules the idea of an IDE. Perhaps when Ruby’s class libraries are too big for him to keep in his head he will reconsider. One new thing that has made JavaScript and CSS nicer to do was the adding of those languages to IntelliJ’s IDE. I have had enough of groundless claims that real projects can be done in Ruby 10 times faster. I know of a project done late last year which took three times as long to do in Ruby than was estimated for it to be done in Java.

David attacks Java too. I have seen complaints about verbosity which overlooked the IDE generation of same and the resulting readability. Having attended sessions on Ruby and a session given by Guido Van Rossum on Python, a common criticism against both is that there are no really large systems written in them. I am not sure if there never will be. But boring maintainability issues like readability are a factor.

This sort of behaviour turns me off in a big way. I think these guys should be mindful of the vast numbers of us that are still in the undecided camp on Ruby.

So, what will it take to convince me one way or another? Not attacks on my current language of choice, that’s for sure. I need to resolve the following preliminary issue list:

  1. No decent IDEs
  2. very few libraries. I think there are about 500 gems compared with around 20000 Java libs in open source alone
  3. no native threads
  4. An active record one: Active Record does not use prepared statements and executes very poorly on a database. Now maybe a language/framework does not always need to be fast, but it should allow for efficient execution on a database, which is often shared infrastructure.
  5. Slow? execution speed. I need to do my own measurement on this one but I have it on my radar as a problem.
  6. The possibility of developers creating unmaintable code with clever tricks. Not sure on this one either until I have more experience.

If anyone can help out with any of those I am happy to hear from you.

On the positive side, Ruby is open source, follows the Unix way, has been around for a decade and is loved by a lot of people I respect greatly. Most open source responds well to criticism and gets better. Let’s hope thats what happens with Ruby rather than Ruby not getting better but the criticisers being taken out.

As to Java, what I have personally seen in the last year is large scientific C++ applications moving to the Java platform. I was personally involved in a 12 million line one of these. The other is large mainframe COBOL and BASIC systems moving to Java. Along with the growth shown on tiobe.com, I think Java is quite safely in the mainstream of computing. On the Tiobe index Java is ranked number 1 and Ruby number 22.

Anyone for Haskell? Sounds like an interesting language. It is ranked number 70.

Having initially posted this I wondered what Hani over at The Bile Blog was making of all of this. Here it is: http://jroller.com/trackback/fate/Weblog/tss_bringing_out_the_best

Published
Categorized as Java

By Greg Luck

As Terracotta’s CTO, Greg (@gregrluck) is entrusted with understanding market and technology forces and the business drivers that impact Terracotta’s product innovation and customer success. He helps shape company and technology strategy and designs many of the features in Terracotta’s products. Greg came to Terracotta on the acquisition of the popular caching project Ehcache which he founded in 2003. Prior to joining Terracotta, Greg served as Chief Architect at Australian online travel giant Wotif.com. He also served as a lead consultant for ThoughtWorks on accounts in the United States and Australia, was CIO at Virgin Blue, Tempo Services, Stamford Hotels and Resorts and Australian Resorts and spent seven years as a Chartered Accountant in KPMG’s small business and insolvency divisions. He is a regular speaker at conferences and contributor of articles to the technical press.