Developing for IBM i: Why Does It Need To Be So Hard?
June 28, 2010 Garry Taylor
There is something wonderful about being a computer programmer. Maybe it’s the ability to see a problem with our computing experience and be able to fix it, in the same way a mechanic can see a problem with his car and repair it. We can be dissatisfied with our computers and do something about it.
Growing up with computers as I did, programming them just seemed to be part of the experience, not a bolt on, not an addition. It was just what you did with a computer. At least it was for me and many of my friends. Computer magazines such as Micro User came with listings in BASIC, which we slavishly entered into our 8-bit home computers, always ending with a slight anti-climax when the endless typing resulted in a short and tedious game. It usually involved green blocks we were to pretend were monsters from the depths of the earth. Or something like that.
As we grow up, we want to program bigger and better computers, and as we become adults, we may even get to choose jobs programming these computers. Do what we love and get paid? That surely is the dream.
But if your chosen platform is IBM i, it may indeed remain a dream.
I have worked with many different computer platforms, big to small, simple to complex, but few rival the appeal of IBM i. Its command line interface and prompting makes Unix look incredibly arcane. Its built-in SQL database makes you wonder why all operating systems don’t have this. And its job scheduling/batch processing just makes everything else look a bit silly. These black, shiny machines with blinking green cursors just beg to be tinkered with and programmed. Unfortunately, IBM does not see it that way.
Let’s say I want to program for Solaris. I get a Sparc workstation from eBay for about $300, download the free compilers, and I’m set. Same for Mac, Windows, OpenVMS, HP-UX, GNU/Linux, and just about everything else I can think of. What about IBM i? Well, no, it’s not quite as simple as that. First of all you need hardware. This is reasonably straight forward to get, although very expensive compared to just about everything else. But now, of course, we need a modern version of i/OS, so we need to talk to IBM and it all becomes very complicated. OK, skip that, I’ll make do with whatever version the hardware came with. Now to get a C compiler, of course IBM does not release the specs needed to port GCC or any other compiler, so we’re stuck with IBM’s ILE C. I’ve nothing against ILE C. It’s a very decent compiler. But if I’m lucky and have a P05 tier server, then it’s $3,000. That’s the cheap version.
It is this quite remarkable pricing that will further relegate IBM i to the sidelines. I work for a small company. We run a couple of Solaris servers and a couple of Mac servers. Even as a great i fan, I would not even attempt to sell them on the virtues of this platform, simply due to the costs. The bean counters where I work have probably never heard of development tools that cost money. We use Python, C, and Java, and we’ve not paid for any of it. This is also the case for Java and Python on i, but if we need C, we are paying through the nose. Same for RPG programmers, of course.
So, if someone comes up with some great new business application around here, it’s not going to get written on IBM i.
Now, I know IBM offers PartnerWorld for ISVs, and I have indeed been involved with this for some time, but to get a quote on the compilers and a modern version of i/OS, I need to own hardware first. So to even be told how much the compilers will cost, I need to have bought hardware. Another route is the remanufactured systems on offer from IBM, however during a phone call to get a quote, the IBM representative simply was not interested as I was not an IBM customer, not a proper business. I was just me.
IBM needs to change this. Now. IBM and its business partners may say that the iSeries is not comparable to other systems and is priced accordingly. In that case, presumably no market share will be lost to these incomparable systems and IBM will have no difficulty selling against them?
IBM needs to make a system that is affordable to small developers, and priced comparably to other systems. Although $2,000 is more expensive than 99 percent of PCs sold, but I’d happily buy a developer iSeries for this much, even if it had 10 percent of the horsepower of that $2,000 PC. Developer tools must be free to developers making commercial or open source software for the iSeries, just like every other platform in the world, not made by IBM. By free I don’t mean “sign up to this scheme and we’ll talk.” I mean let me download an ISO, burn it to a CD, and install.
Alternatively, just make the OS and developer tools free and let me worry about buying hardware. Don’t make me hunt around for a decent P05 machine just to get free tools. Just let programmers run free and do what we do, which is write software. The fact is, I could get a top-end million dollar Solaris, HP-UX, AIX, OpenVMS server, whatever, and my compilers still cost zip.
IBM needs to make money. We all appreciate this. But it also needs developers, and we can all read about how we need to do something about the aging population of RPG programmers working on IBM i. Tell me, as a young man, how do I get an IBM i with RPG without spending the earth? I’d love to learn more RPG to supplement my C programming, but how do I do that exactly?
Timeshare systems have their place, but there comes a time, and this time arrives very quickly when you need your own box, you need to experiment, run QSECOFR, install stuff, mess stuff up, and IPL. I have used free timeshares and also paid a monthly fee for a login. These are fine for what they are. But they do not replace a system under our desks, and we should not pretend that they do.
What we also do not need is an emulator running atop Windows. We need actual Power hardware if you want to stop the exodus to Intel x64 servers, encouraging their purchase is probably not advisable.
Why is the IBM i the only computer on earth where I cannot just get one and start writing software? IBM, I await your answer.
Garry Taylor is an i developer who runs the Web site Pink Dirty Neon, which a year ago announced two cloud computing CL commands–one that lets you store data on Amazon’s Simple Storage Service (S3) storage utility and another that lets you park data on Google’s Docs service–and a third that enable you to send messages, called Tweets, from your i box out to Twitter.