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 »
Webcast: In the Google Apps Cloud: How to Achieve Your Business Objectives
Dec 3rd, '09, 1 - 2 pm US/Eastern (GMT-5)
Join Council member Brent Hoag, Director, Global IT, at JohnsonDiversey, as he discusses the adoption of Google Apps which has helped meet four corporate goals; sustainability, simplification, increased employee productivity and global collaboration.
Webcast: Collaboration Initiatives: Benchmarks & Best Practices
Dec 15th, '09, 4 - 5 pm US/Eastern (GMT-5)
Join Council members Ruth Thorpe, VP & CIO at the U.S. Pharmaceutical Operations of Sanofi-Aventis, and Gary Kuyper, CIO at Bethany Christian Services, as they speak about their collaboration initiatives and experiences in how and why they chose the social networking and collaboration tools they are using and their business goals for collaboration, and facing culture change challenges.
Data Overview: Collaboration Initiatives Field Guide: Benchmarks & Best Practices
This appendix to the Council Field Guide provides an analysis which discusses benchmarks for collaboration IT implementation costs, adoption rates and payoffs. The overview identifies top IT and business goals and satisfaction rates for collaboration initiatives as well as best practices and lessons learned for implementing collaboration IT.
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.