advertisement
javaboutique
Search Tips
Articles  |   Tutorials  |   Reviews  |   Tools  |   by Category  |   by Date  |   by Name  |   Submit  |   Source  |   Forums  |  
javaboutique
Browse DevX


Partners & Affiliates











advertisement

Review: Ruby on Rails vs. Java: An Expert Roundtable:

The Future of Java

BB: Let's talk about the directions that Sun has taken, or may someday take, with the Java platform? What are your opinions?

Neal: I think they should "calm down" on the Java platform. They're making it too big, too fast. They're adding JavaScript in the next version of Java. Adding JavaScript is an awful idea. There should be more effort put into splitting things out of the standard Java stack and simplifying it some because you can't keep making it bigger.

I actually like generics. A lot of people don't like generics because they make the syntax more obtuse. But generics make using Java a little easier. I also like enumerations. I'm pretty happy with the language stack of Java right now. I don't think a whole lot more needs to be added to the language or the standard stack of things that comes along with Java.

Stuart: I was not initially a big fan of Java 1.5 (as it was then known). But several things in Java 5.0 have grown on me. The concurrency libraries are a great example of how the academic community develops great libraries that eventually lead to the Java community process and improvements to the language.

As far as Sun's strategy goes, the business community doesn't seem to understand how Sun plans to make money and have longevity with Java and I don't begin to understand it either. I'm worried on that front. I think that Sun could learn something from Microsoft about out-of-box experience. It's wonderful that, with Java, you have dozens of choices to mix and match for building the simplest Web application. But it's also terrifying to have dozens of choices to decide how to mix and match. In this area Microsoft has historically done very good work. You sit down with Visual Basic or some other GUI, and you build simple applications very quickly. Maybe Microsoft stumbles with certain harder problems. But Microsoft gets people started off in a good way.

I think Ruby on Rails is more important for the out-of-box experience than it is for the dynamic language experience. The dynamic language experience can come along in some other languages. But the out-of-box experience comes along best in Ruby on Rails.

Here's another very important thing about Ruby on Rails: Ruby on Rails is designed from the beginning to make you want to bake in automated tests. With so many Java frameworks you have to think hard to figure out how to do automated tests. But on day one with Ruby on Rails, you have test fixtures and test versions of your database generated for you. Ruby on Rails is one of the few frameworks that assumes you'll be doing testing when you write a Hello World program.

One of the things that delights me is seeing that testing is in Ruby on Rails from the first minute. Of course you want to build your application and test it, but with Ruby on Rails we all build our applications and test them the same way. So I know when I sit down on somebody else's Ruby on Rails project, it's not just that the language, the framework, the templates, and all those things are going to be the same. The discipline for writing the automated tests at different levels is going to look the same across projects, so I can jump in and immediately be productive. I feel like when I sit down to do a Java application today, or join some team that is working on one, I'll immediately have to figure out how their automotive testing is done—or worse yet I'll have to design the automated testing because they haven't done it yet.

Neal: We are huge advocates of testing. We test everything. The project I am working on now is a very large J2EE distributed application. The last time I looked at the CruiseControl results, the project had over 4,500 tests that run every time you check code into the repository. So we have a strong, strong testing culture and in Ruby, testing is first and foremost. The only Web framework that has anywhere near that level of testing is Tapestry. Howard Lewis Ship, who writes Tapestry, does test-first development, and he includes all the unit tests for Tapestry along with it. That gives me great confidence in Tapestry as opposed to Struts or JSF. I can run all these unit tests and see that it works the way he intends it to work. Testing is really important.

Stuart: Having a common way of doing testing is really important. The exact API and method names have been copied from JUnit into so many other languages. In PyUnit, the method names are the same, with setup, teardown, and so on. At the unit testing level, we now have penetration across most languages that people use. We need to have the same uniformity at higher levels—levels like functional testing, integration testing, and fitness testing. Then we can leverage our experience as we move from one application to another. The Java world doesn't yet have a response to meet this need. But Ruby on Rails has a partial response with the stuff they are baking in from the very beginning.

How to Add Java Applets to Your Site

New on the Java Boutique:

New Review:

Time Management Made Easy with the Quartz Enterprise Job Scheduler
Why not just use the Java timer API? This open source scheduling API boasts simplicity, ease-of-integration, a well-rounded feature set, and it's free!

New Applet:

Reverse Complement
Reverse Complement is a simple applet that converts DNA or RNA sequences into three useful formats.

Elsewhere on internet.com:

WebDeveloper Java
Lots of Java information on webdeveloper.com

WDVL Java
Thorough Java resource at the Web Developer's Virtual Library.

ScriptSearch Java
Hundreds of free Java code files to download.

jGuru: Your View of the Java Universe
Customizable portal with online training, FAQs, regular news updates, and tutorials.

 IBM Software Construction Toolbox
 Microsoft RIA Development Center
 Destination .NET
XML error: not well-formed (invalid token) at line 33
advertisement
Receive Articles via our XML/RSS feed
Receive Articles via our XML/RSS feed

JavaBytes
Internet Cyclone
This powerful, easy-to-use, internet optimizer is for Windows 95, 98, ME, NT, 2000 and XP. It's designed to automatically optimize your Windows settings, boosting your Internet connection up to 200%.

IBM Gives a Mobile Voice to Developers
Inadequate Tools Send Software Down the Drain
USB 3.0 One Step Closer to Reality
Would-Be Linux Contributors May Get a Leg Up
SAP, Oracle Holding Out on Ubuntu?
GIPS Technology to Voice-Enable iPhone Apps
Citrix CTO Eyes the Future of Virtualization
The Pitfalls of Open Source Litigation
LiMo Open to Working With Google on Mobile
Google Gadgets Under Attack at Black Hat

The Guide to E-Mail Archiving and Management
Making XQuery Control Structures Work for You
Simplifying Composite Applications with Service Component Architecture
Overview: C++ Gets an Overhaul
Sharpening Your Axis with Visual Basic 9
Easier C++: An Introduction to Concepts
Simpler Multithreading in C++0x
Software as a Service Perceptions Survey - March 2007
Rackspace® Security
On Demand Media Technology Company Relies on The IT Hosting Leader to Provide Managed Microsoft Exchange

Advertising Info  |   Member Services  |   Contact Us  |   Help  |   Feedback  |   Site Map  |   Network Map  |   About



JupiterOnlineMedia

internet.comearthweb.comDevx.commediabistro.comGraphics.com

Search:

Jupitermedia Corporation has two divisions: Jupiterimages and JupiterOnlineMedia

Jupitermedia Corporate Info


Legal Notices, Licensing, Reprints, & Permissions, Privacy Policy.

Advertise | Newsletters | Tech Jobs | Shopping | E-mail Offers