| By Rod Cope | Article Rating: |
|
| July 25, 2008 05:15 PM EDT | Reads: |
16,704 |
Open source software, while not synonymous with Java, may often be seamlessly integrated with Java code to produce a versatile synthesis that makes developers’ lives much easier. In recent years, developers have taken some open source dynamic languages, commonly referred to as “scripting languages,” and adapted them to the more mainstream Java platform. This allows the new hybrid language to maintain its scripting qualities, while being fully utilized by a Java program. Three of the most prominent open source/Java languages are JRuby, a Java implementation of Ruby; Jython, a Java implementation of Python; and Groovy, an object-oriented programming language for the Java platform.
JRuby, Jython, and Groovy
Before I go into my thoughts on JRuby, Jython or Groovy, let me provide a quick background on myself. I have been using Java since 1996 (it was first released in 1995). I am a Sun-certified Java Architect and have significant Java experience. Moreover, I have spoken at JavaOne a handful of times and will be speaking there again in 2008 on JRuby and Groovy. I have worked with JRuby and Groovy extensively – in fact, at OpenLogic, we used Groovy to build OpenLogic Enterprise, a technology platform that enables businesses to deploy, manage, and control commercial-grade open source infrastructure. We had more than 100,000 lines of Groovy code deployed in the product. We also wrote OSS Discovery, a tool enterprises use to find up to 900 of the most commonly used Java-based development tools, libraries, and server applications in JRuby.
In my experiences, dynamic scripting languages make it easier to write code in many situations. Scripting languages are much more human friendly than, say, C++. They lack all of that meticulous syntax. With dynamic languages, I am freer to do what I want – I can proceed without thinking as much about the nuts and bolts that go into the code. The fact that Microsoft is also getting involved with IronPython and IronRuby for their .NET framework only goes to show that these dynamic languages are significant and valuable. It validates the idea of incorporating dynamic languages – they are here to stay.
In my view, the fact that some scripting languages are based on the Java platform makes them better. They enjoy all the benefits of scripting languages like Ruby and Python, but also provide a very intimate bi-directional interface with Java. They present the developer with the ability to code, test, and debug quickly and efficiently while also harnessing the abilities of the Java platform. Another plus of Java-powered dynamic languages is their ability to leverage thousands of open source libraries written in either their “native” language or in Java. JRuby, Jython, and Groovy incorporate all of these goodies into nice, neat packages.
JRuby allows the embedding of the Ruby interpreter into any Java application with full two-way access between the Java and Ruby code. As such a fusion, it maintains the scripting qualities of Ruby while being tightly integrated with Java, and can be called directly from Java programs. Jython provides similar capabilities around Python. Groovy, unlike JRuby and Jython, is not derived from a foreign language. Rather, it’s loosely based on features from Ruby, Python, Smalltalk, and other languages, but designed from the ground up by Java developers for Java developers. Needless to say, it works well with other Java code and libraries, but is also a powerful scripting language in its own right.
Published July 25, 2008 Reads 16,704
Copyright © 2008 SYS-CON Media, Inc. — All Rights Reserved.
Syndicated stories and blog feeds, all rights reserved by the author.
More Stories By Rod Cope
Rod Cope is the CTO and founder of OpenLogic. He is a Sun Certified Java Architect with 25 years of software development experience, including 12 years of Java. For the past six years, he has been working on OpenLogic Enterprise, a certified, managed, updated, and supported collection of over 350 Open Source projects for Java developers. Rod routinely speaks at technical conferences such as Java Symposia and the O'Reilly Open Source Convention and has been selected as one of the Top 10 presenters at JavaOne.
- Cloud People: A Who's Who of Cloud Computing
- New Relic Q1 2013 Blazes Past Growth Targets and Reaches 40,000 Active Customer Accounts
- Cloud Expo New York: Delivering Digital Marketing on the Cloud
- Cloud Expo New York: Rethink IT and Reinvent Business with IBM SmartCloud
- Cloudant to Exhibit at Cloud Expo & Big Data Expo New York
- The Accessibility of the Cloud
- Cloud Expo NY: Best Practices for Delivering Oracle Database as a Service
- Cloud Expo New York: Basics of SSD Technology and Its Use in Cloud
- Session Topics: 12th Cloud Expo / Cloud Expo New York
- Cloud Expo New York: The Big Challenge of Big Data & Hadoop Integration
- Measuring the Business Value of Cloud Computing
- What CIOs Need to Know About Enterprise Virtualization
- Cloud People: A Who's Who of Cloud Computing
- Cloud Expo New York: Best CIO Practices Shared from SHI’s Customers
- Cloud Expo New York: How to Use Google Apps Script
- New Relic Q1 2013 Blazes Past Growth Targets and Reaches 40,000 Active Customer Accounts
- Cloud Expo New York: Why Big Data Is Really About Small Data
- Cloud Expo New York: Delivering Digital Marketing on the Cloud
- Small Cancers, Big Data, and a Life Examined
- Cloud Expo New York: Requirements of a Cloud Database
- Cloud Expo New York: Rethink IT and Reinvent Business with IBM SmartCloud
- Cloudant to Exhibit at Cloud Expo & Big Data Expo New York
- The Accessibility of the Cloud
- Learn How To Use Google Apps Script
- A Cup of AJAX? Nay, Just Regular Java Please
- Java Developer's Journal Exclusive: 2006 "JDJ Editors' Choice" Awards
- JavaServer Faces (JSF) vs Struts
- The i-Technology Right Stuff
- Rich Internet Applications with Adobe Flex 2 and Java
- Java vs C++ "Shootout" Revisited
- Bean-Managed Persistence Using a Proxy List
- Reporting Made Easy with JasperReports and Hibernate
- Creating a Pet Store Application with JavaServer Faces, Spring, and Hibernate
- Why Do 'Cool Kids' Choose Ruby or PHP to Build Websites Instead of Java?
- What's New in Eclipse?
- Where Are RIA Technologies Headed in 2008?

























