Offering regional and national programs, CIO (and CSO) events bring together some of the most respected names and thought leaders in information technology and security. Presented by CIOs and other senior level executives, these invitation-only programs offer timely topics and strong networking. Learn More »
Public Council Teleconference: Application Rationalization — Hidden Costs and Smart Decisions
November 17 at 11:00 am US/Eastern (GMT-5)
Join Honorio Padrón, of The Hackett Group, who will share the drivers for companies to tackle application rationalization and the results of research that define the hidden cost of complexity. Additionally, we will discuss key decision milestones—to start or not, holding the course steady and fulfilling expectations.
Virtual Desktop Cost-Benefit Analysis — Michael Jacobs, Catlin Group
The analysis contained in this presentation measures the cost of everything from the machines and licenses to the infrastructure for virtual vs. traditional desktop environments.
Honor your best senior team members - Apply for the CIO Ones to Watch Award
Get well-earned public recognition for your top up-and-coming team members, your IT organization and your enterprise. Award winners will be announced, publicized and feted in May 2010, great timing to help attract new IT recruits to your company.
Learn more about the CIO Executive Council »October 13, 2008 — CIO —
Several weeks ago, Lynn Greiner's article on the state of the scripting universe was slashdotted. Several people raised their eyebrows at the (to them) obvious omissions, since the article only covered PHP, Perl, Python, Ruby, Tcl and JavaScript. As I wrote at the time, Lynn chose those languages because hers was a follow-up to an article from three years back. Plus, most IT managers are familiar with at least one of those well-known scripting languages, even if they haven't personally written a line of code in one of them.
However, while we've covered several in depth, those five dynamic languages are not the only ones developers use. Since every programming language is a tool suited to solve a particular problem, it behooves each IT shop to use the best tool for the job. So in this article, I share a few up-and-coming scripting languages that really ought to be on your company's radar, with a few passionate arguments from developers who have adopted them.
Scala is particularly attractive to Java developers. Per its website: "Scala... is both object-oriented (think inheritance, methods, ...) and functional (think closures). It blends a number of modern language features, while maintaining close compatibility with Java."
Dean Wampler, senior consultant at Object Mentor, is currently co-writing a book on Scala for O'Reilly. "Scala is the best language I have seen that meets the 'one size fits all' goal," he says. "Scala fixes problems with Java, like verbosity and limitations in Java's support for object-oriented programming. In addition, Scala supports functional programming—an approach that has been around for a long time in academic computer science, but is now proving to be very useful for writing robust concurrent software. Concurrency is very important for scaling up software at large websites and enterprises."
For David Ritchie MacIver, a developer at Trampoline Systems, Scala's primary benefit is that he can avoid Java. "I can match [Java] in terms of library support, performance and ease of deployment," he says. Many Java tools carry over to Scala, too. MacIver says his company is adopting Scala for some of their visualization software as the software is updated, and reducing its use of Java and Ruby.
MacIver doesn't recommend Scala for everything, though. "People will push Scala for concurrency advantages. Please don't succumb to the temptation. It doesn't particularly have any. Any more than Java does, that is."
Another language gaining ground in the Java community is Groovy. According to its website, Groovy is an agile and dynamic language for the Java Virtual Machine (JVM). It builds on Java's strengths but has additional power features inspired by languages like Python, Ruby and Smalltalk.
So, what's Groovy's compelling feature? According to the slashdot commenter who first brought it up (and inspired this entire project... see what he or she started?), "I was surprised that Groovy didn't appear anywhere in the article. If there's a dynamic language poised to convert the enterprise crowd, it's Groovy. [It's] able to compile into Java bytecode, compile Java code and directly exploit the huge base of Java, but without the cumbersome Java syntax. I wouldn't be surprised to see Python and Ruby supplanted by Groovy in a couple of years."
Java developer Chris Broadfoot agrees. "Groovy lets Java developers code in an effective, expressive manner, while maintaining cross-compatibility with legacy Java code," he says.