IBM i Has Been Getting With The Program For Years
February 4, 2019 Timothy Prickett Morgan
There are many things that one could constructively criticize IBM about when it comes to the Power Systems platform running the IBM i operating system. But, in recent years at least, one of those things would not be – and could not be – that the company has not done enough to embrace the most important elements of the modern programming toolbox.
In fact, the company has done and increasingly good job of embracing and extending the compilers, interpreters, frameworks, and models of the programming languages that have gone mainstream since Java first took the stage at the beginning of the dot-com boom in 1996 as an attempt to bring a simplified variant of C++, living in an idealized, simplified, and importantly portable hardware abstraction called a virtual machine. Since that time, Big Blue and the IBM i community have worked together, often with the community out in front with the active involvement of the IBMers in the developerWorks organization, to bring the Apache Web server and the Tomcat application server the OS/400, i5/OS and IBM i platform along with programming languages such as Perl, PHP, Python, and Node.js, and versioning tools such as Git, and other systems software that are are essential tools for modern programmers.
The 2019 edition of the IBM i Marketplace Survey, which was released in January and which is spearheaded by Tom Huntington, executive vice president of technical solutions at HelpSystems, provided some insight into what is going on out there on the programming front. The survey was performed last October and had 700 respondents, with 57 percent coming from the United States but only 2 percent from Canada; another 19 percent came from Europe, 15 percent came from Latin America, and the remainder was split across Australia, Asia, and Africa. As we have pointed out before, this is not precisely representative of the actual IBM i installed base, which is more heavily distributed outside of the United States; but the numbers are gradually shifting in the right direction as HelpSystems translates the survey into more languages and organizations such as IT Jungle encourage readers to take the survey.
The diversity of operating systems supported on the Power Systems platform and the ability to snap in tools created for Unix-like operating systems into the PASE AIX runtime embedded in OS/400 and its successors is a key element to the ability to get and use tools that other platforms have. (In this way, IBM preserves its own advantages such as RPG business language programming and an integrated relational database management system and grafts on the advantages of other platforms, giving it a kind of hybrid vigor.) And IBM i shops have been embracing that operating system diversity on the platform and becoming less dependent on Windows Server machines running on X86 iron elsewhere in the datacenter, as you can see from this operating system distribution from the survey:
Only 22 percent of the companies surveyed said that they were only running the IBM i platform, and frankly, we find it hard to believe that this number is not zero percent given how pervasive Windows file and print servers are. But it is possible to go it alone with IBM i, perhaps in factory or remote retail settings, and it is possible so we will take the survey respondents at face value. What is interesting in this chart is that the share of Windows Server is falling. Back in the day, somewhere north of 95 percent of IBM midrange shops reported using Windows Server alongside their OS/400 and i5/OS machines, and this has been trending down as Linux, both on Power Systems iron inside of PowerVM logical partitions and on outboard X86 systems, is on the rise. AIX has gained some penetration at IBM i shops, too, both on distinct Power Systems machinery and on PowerVM partitions on the same machines running IBM i.
As you might imagine, RPG remains the most popular programming language in use at IBM i shops, with over 84 percent of respondents saying they use RPG to create applications (or bought RPG applications from third party software vendors that do). The SQL database programming language ranks number two, at 72 percent, followed by the CL scripting language native to IBM at 47 percent and Java at 41 percent. Here’s the rundown of programming language adoption:
There are a couple of interesting things going on here. First, while 68 percent of shops report using Windows Server in their IBM i shops, only 17 percent say they are using the .NET framework from Microsoft for programming, which supports Visual Basic and the Java-inspired (that’s the nice way to say that) C# languages. We would have thought that after two and a half decades, Java would have been up there with RPG and SQL as a preferred language, but that has not happened. The proportion of COBOL is about the historical trend and tends to be concentrated in the financial services and insurance industries where code was ported from mainframes so many decades ago.
Companies were obviously allowed to put down more than one programming language as part of the survey, and if you add up all of the percentages, you get 320 percent, which implies an arithmetic mean of 3.2 languages in use per site on average across the IBM i installed base. (Well, at least this upper echelon – by which we mean the active portion, not the biggest companies or those with the largest machines – part of the IBM i base. We don’t know anything about the people who don’t take surveys and we think that the data that was gathered for the five years of the IBM i Marketplace Survey are representative of these active shops. That means those that keep their systems and operating systems relatively current and that tend to be more inclined to adopt newer technologies, ranging from storage area networks to high availability clustering to advanced programming techniques.) We are of two minds about this average. First, RPG, SQL, and CL dominate, and combined they give you an average of two languages. We think there are lots of sites that mainly use RPG and SQL, particularly those that have third party application software. It is important to realize that the survey question was not what languages were used to create your applications, but rather what languages are used for new application development. So the base could have a lot more diverse and a higher numerical distribution of compilers and interpreters than this data implies. I don’t think this is the case, but it probably averages more like five languages because whether they know it or not, there’s probably some SQL, CL, or Java running somewhere in the application stack.
The survey asked companies about what open source technologies they have deployed in their IBM midrange shops, and believe it or not the Apache web server, which IBM first commercialized as the kernel of WebSphere back in 1998, is still on the rise and that is probably happening as fewer and fewer shops use Windows Server for application and Web serving and more shops go native. That the native Apache Web server has only 40 percent penetration tells you what those Windows Server that remain are doing. It is a mix of print, file, Web, and application serving plus a healthy dose of SQL Server for analytical database processing that companies don’t want to deploy natively on their IBM i machines. Python and Node.js are on a steady rise, and the Git versioning tool is finding its own level, too.
What we can’t know from the first five surveys and what we would like to know in the sixth next year is what percentage of RPG is being coded in the modern free form style that is more like what Java does and what percentage is still using the older school, more tightly constrained older RPG model. My guess is that for new code, it is probably as high as half and half, and that is reflected in the fact that about have of the companies surveyed said that they had bought Rational Developer for i and were using it for at least some application coding. About a third of the companies that have RDi say they are using it for all of their application development, about a third say it is around half and half, and a third say it is less than half. Average that out and it is averaging around half of the applications at half of the companies surveyed are done using RDi, which implies free form RPG.