From the perspective of a software developer, IBM has delivered some great new features this year. What's your favorite?
It's the holiday season. It's a time for family gatherings and giving thanks. It's a time for gifts and reflection on the year. What better time than the holidays to look back on some of the great gifts we software developers received from IBM this year?
I reached out to some of my friends, who happen to be IBM i development experts, to find out what their favorite gift from IBM was this year. After tabulating the responses from industry experts, below are the top four gifts.
4. New Languages (Node.js and Python)
The majority of respondents to my inquiry for this list had Node.js and/or Python somewhere on their list. This shouldn't be surprising to anyone. New languages are always big news for the IBM i world, thought there will always be naysayers who will claim we don't need new languages on IBM i. There's also the chance that adoption will be slow for new languages on a platform where RPG is king, but it's always exciting to me and other likeminded developers to have a new tool to experiment with.
Python, on the other hand, is not a new language, but it's very powerful. I'm no expert in the language, but I do know from speaking to students and professors from multiple universities around the country that Python is being used as the programming language of choice for intro-level courses in computer science and software engineering. Professors cite its simple syntax as the primary reason. Students spend less time learning syntax and more time concentrating on the fundamentals of software development. The introduction of Python to IBM i allows us to make the system more attractive to recent grads.
3. RDi 9.5
The latest version of IBM's flagship editor for IBM i is, in my experience, is a huge improvement. Enhancements in stability, speed, and functionality all add up to a great new release. If you haven't tried the latest version, I highly recommend you download a trial and take it for a spin. When asked about her favorite enhancement from IBM this year, Susan Gantner had this to say:
I'd have to say the RDi V9.5 release and primarily the new free-format RPG formatting facility… It's a feature that a lot of people have been asking for. There are a couple of other smaller goodies in V9.5 as well but the formatter is my personal favorite. –Susan Gantner
2. DB2 for i Services
Many who responded had this new feature at the top of their list. I can understand why. With DB2 for i Services, system information that was hidden behind obscure, often-complicated, and minimally documented APIs is available for use in a very simple manner in SQL. Tim Rowe gives many examples in his blog post on systemideveloper.com. Here's one of the examples from IBM's DeveloperWorks site to determine user profiles that have trouble signing on:
SELECT * FROM QSYS2.USER_INFO
WHERE SIGN_ON_ATTEMPTS_NOT_VALID > 0
This SQL statement returns a list of every user profile that has at least one invalid sign-on attempt. No need to write a program to call various APIs and build this list. The SQL statement can be called from a program or used ad hoc from STRSQL or Run SQL Scripts. How simple is that?
A complete list of available DB2 of i Services can be found on DeveloperWorks here.
1. Fully Free-Format RPG
This is the big news of the year. I have done some development with the new fully free-format syntax and will never go back. I was never a fan of the positional nature of fixed-format RPG, and I'm glad to see the last remnants of it removed from the language.
The best enhancement, as well as the newest, is the removal of the 80-character limit imposed on even free-form code. As a writer, speaker, and teacher of IBM i modernization, I encourage developers to use free-format code and to use descriptive names for variables, data structures, and subprocedures. This can be frustrating to do when limited to 80 characters per line, especially when indenting deeply nested code.
For me the biggest thing has probably been the RPG free-form support. I know that technically the major components were available in 2014 - but for many it did not become available until this year plus the final touch (the removal of the 80 column barrier) was a 2015 addition. It seems a relatively small thing - but having taught RPG to a number of Java and other programmers in recent years, the old fixed format definitions were a significant inhibitor. The first time we taught the completely free-form version to a group of Java programmers it was like night and day. By the time the class was over they were discussing which of their Java programs to rewrite in RPG. That's not something that used to happen. Prior to full free-form they would agree that the language was useful for business operations and they could see themselves working with it, but there was not the same wholehearted embrace. – Jon Paris
If you haven't had a chance to read up on the new fully free-format syntax, have a look on the DeveloperWorks Wiki here.
As my first year as a regular contributor to MCPress Online comes to end, I want to take a moment to thank those of you who read my articles. I especially want to thank those of you who have provided feedback either privately or in the comments. As an author, this lets me know that the topics I cover are in sync with the needs of the community. Next year, I will still do the types of articles I have been doing in this column, but I will also begin mixing in more technical topics as well.
I want to wish all of my readers a safe and happy holiday season. I look forward to writing for you going forward.