Platform independent... come on!
Torbj?rn Appehl
VD/CEO for LOAD System AB. IBM Champion for Power Systems. Vice President for Common Europe
LAMP Stack is the new old (Windows is now old old). PIR/O Stack is the deal now. Power Systems, IBM i and RPG. /O for Open Source as an option.
To start with. I know I am swimming against the tide here. But some say just dead fishes go with flow...
Here we go again. "It is so great, with this technology we become vendor independent an can move our application around on all kinds of different platforms with different vendors.." Have we heard this before? Sure, I guess the discussion was like that for COBOL a long time ago but I know for sure this was one of the main arguments for JAVA 10 - 20 years ago. Today we hear this around container technologies. And yes, that could be a good argument for some kind of applications where for example performance or total cost of ownership isn't that important.
Another aspect could be that you would like to have an optimized application platform instead, especially if you make business applications that will handle large amounts of data. Credit card, logistics and ERP applications are examples of that.
IBM Power Systems as the hardware, IBM i as the operating environment and RPG as programming language is an example where everything is built and tweaked tight together. There are database functions that is as close to the CPU as possible through the systems licensed internal code beneath the operating system where the SQL-standard relational database Db2 for i is integrated. Integrated means this is not a software that installs on-top of the operating system. It is built in the OS and almost in the hardware itself! The list of benefits by doing this is very long as you can imagine. (Many companies has tried this before. Microsoft failed with their projects to integrate MS SQL into Windows, Oracle tried similar thing..)
There are security features on the CPU (the Power chip) itself that makes your data secured in a way no other application environments can offer. The system itself was built from the beginning with multiple users at the same time in mind. Deep dive into other OS architectures and you'll find this is pretty unique. If you look at the overall RAS (Reliability, Availability, Serviceability (or sometimes Security)) the platform is outstanding.
RPG as the programming language then. Why is this still something you should consider while developing heavy back end systems? Well, who could tell better than Scott Klement himself? (Text from COMMON.org)
"[---]But add up sales figures? Write payment records to a database? These things are only done in business applications. And these are the things that RPG excels at! All programming languages can add up numbers, of course. But most languages are designed to work with integer and floating point numbers. Integers can’t store fractions, so they are not a good fit for business applications. Floating point numbers store only approximations of a number, especially when your numbers get larger, they start to round the values off, losing precision. RPG’s native numeric data type is decimal numbers in packed or zoned decimal format. You can store more than 60 digit numbers with no loss of precision, and no special fancy coding is needed to do decimal math in RPG – it’s the native built-in way of doing math. In most other languages, if you want to use true decimal numbers, you need to call a special set of APIs. RPG does it natively. RPG rocks for sales figures!"
Ok, now it sound like I am against new technologies such as containers. I am not, but I am so tired of the whole search for the holy grail that the IT-industry is obsessed with. Silver bullet, one solution fits all.. you name it.
And yes one more thing, if you think you are truly vendor independent. Try to move your application off AWS or Azure and we'll have a talk again.. All vendors tries to optimize their stack and create unique solutions. Not always with the goal to make your job to move away from their platform as difficult as possible, but that is a consequence.
Experienced DB2 for i Data Scientist
4 年You are now my number one hero. The blue fish has to be live, not dead!!
Ecoystem Leader IBM Power EMEA
4 年Great article Torbj?rn - keep them coming! Next time your fish in the picture needs to be blue ??