Ruby Is Catching On, Time For An i Port
August 3, 2009 Timothy Prickett Morgan
Well, after much complaining and cajoling, the AS/400 community succeeded in getting IBM and its partner, Zend Technologies, the company behind the PHP programming language, to get a reasonably native port of the PHP engine and related Zend commercial tools for making PHP rugged enough for enterprise application development done for the i5/OS V5R4 and then the i 6.1 operating systems. And now, it looks like we are soon going to have to start asking for the Ruby scripting language to be embraced by the Power Systems-i combination and formally supported.
According to the latest Evans Data semi-annual survey of developers in North America, the use of Ruby has growth by 40 percent in the past year. The growth is big, but there’s still time to get to work on a port of the Ruby programming language and its related Rails framework to the i platform, since only 14 percent of the more than 400 developers polled by Evans Data say they use Ruby for at least some of their application development. However, another 20 percent say they expect to start using it in the coming year. So the hockey stick ramp seems to be pretty steep.
Some 3.3 percent of respondents to the Evans Data survey said they use Ruby less than 10 percent of the time they are programming, and another 6 percent said they use it between 10 and 30 percent of the time. Another 1.2 percent said they use it all day, with a smattering of programmers using it with increasing frequency.
Ruby was created in 1995 by Yukihiro Matsumoto, and is an open source scripting programming language that has its scripting inspired by Perl and its object-oriented programming approach inspired by Smalltalk. (Remember Smalltalk? It was the very slick object-oriented language that was supposed to be the future of cross-system programming on all of IBM’s incompatible iron. Big Blue was head-over-heels in love with it until it got scared of Sun Microsystems‘ Java, which not coincidentally appeared about the same time as Ruby.) Ruby 1.0 came out on Christmas Day, 1995, and the current stable version, 1.9.1, came out at the end of January this year, and 1.9.2 is in preview now. To the amusement of OS/400 shops everywhere, the insight that Ruby has is to make everything in the system an object, which means all objects can be programmatically manipulated in a consistent manner. And interestingly, Ruby applications have inherent multithreading, which means it can use threads in the processors that it runs on regardless of what the operating system is configured to support.
Perhaps more significantly in this down economy, surveys done by Indeed.com, a job posting aggregator, show that openings for jobs for Ruby on Rails programmers are up 50 percent in the past year. (See this Indeed.com link to play around with trend data. I plotted Ruby, Rails, and RPG just to show you.)
The Evans Data North American Development Survey, which is a for-fee report that you can get here, examines the use of programming and scripting languages and how companies are adopting deployment technologies such as Web services, SOA, or cloud computing; this is the 11th year of the survey.
“The increasing adoption of developers using scripting languages correlates with today’s overall emphasis on Web-centric applications which have to be highly malleable to rapidly changing market driven requirements,” explained John Andrews, president and chief executive officer at Evans Data, who released some teaser data points from the report to try to stir up some business. “Interestingly, while we see Linux continue to increase as a target platform, this category of development reflects the greatest growth in targeting a non-Windows target platform.”
That would seem to indicate that there is a place for an i platform. Ruby and Rails run on Unix platforms, so it makes sense for IBM and the Ruby team to take all the learning they did to make PHP run in the PASE AIX runtime, hook into the DB2 for i database, and provide a bridge for 5250 applications to Ruby apps and apply it to Ruby and Rails. That’s easy to say, but perhaps harder to do. Ruby doesn’t seem to have a commercial champion, like PHP has in Zend.
The other interesting snippets Andrews gave out from the report: 75 percent of the applications that developers are considering as possibly being ported to cloud infrastructure will require audit trails. (Why this is not 100 percent is beyond me. You want an audit trail for everything, and particularly software, data, and users hammering away at applications running on someone else’s box.) Some 65 percent of respondents said that they use agile programming methods some of the time, and they also said that they are two and a half times more likely to deploy commercial and closed source SQL databases (such as DB2, Oracle, and Sybase) for their primary databases than open source SQL databases. This is no mystery to me. Open source databases don’t scale well, and companies have had their data stored in particular databases for many years and are loathe to change what they do. Companies would rather change their iron than their operating system and their operating system than their databases.