The Leading Educational Resource for IT Professionals

Book Review: The Modern RPG IV Language, Fourth Edition


This book isn't a training manual; it's a reference book.

The Modern RPG IV Language, Fourth Edition by Robert Cozzi, Jr. is the latest version of a book that has enjoyed a long history of popularity in the RPG community. With this book, MC Press continues its tradition of providing relevant and timely materials in a quality book format.

I have three of the four editions of this book and wouldn't part with any of them. When the fourth edition of Bob's book was announced, I was eager to obtain one. One reason was that my third edition was getting a little raggedy from use, but mostly I wanted to see what Bob was going to say about the "new" subject areas that have impacted RPG since 2003, when the third edition came out. We all know that Bob was reluctant at first about the free-format style, even though he had explained it well, with examples, in his third edition of this book. Also, the RPG language now included new XML opcodes and built-in functions (BIFs), and these needed some of Bob's touch to help us understand them.

In this fourth edition, Bob has basically added to his previous edition. All the previous well-written examples and explanations are still there, but now there's more. In summary, the book now includes the new XML operations and BIFs, additional examples and text on free-format, and a chapter on Web programming interfaces using CGI APIs.

In chapter 2, I was glad to see a new section on integer (and unsigned integer) variables, their characteristics, comparisons to C and Java, and a great table with details. We in the RPG world tend to use what we've always used for numeric data: decimal! This section shows us a new perspective on a very old data type.

In chapter 4, Bob has added explanations and examples for the %subarr (get/put part of an array), %xml, and %handler BIFs, providing the usual detailed breakdown of the BIF parameters.

While discussing BIFs, I'd like to mention that many new examples have been added to the BIF chapter, and most of these new examples are shown in the free-format style. The %trim BIF upgrade to include a specified trim character is also described here.

In chapter 5 on opcodes, Bob updated the book for the CallP (Call with prototype) operation and provided an entirely new example. For the Update operation, Bob has included information on the %fields BIF option. However, the biggie in this chapter is the thorough discussion (with examples) of the Xml-Into operation and associated BIFs.

Chapter 12 on alternate syntax (free-format) was expanded in this edition, from 7 pages to 21 pages. This seemed a little short until I realized that Bob put dozens of free-format examples throughout the book (where they belong) and didn't just jam everything into here.

The last chapter of this book is new; it addresses the Web development world we now live in. Bob introduces us to CGI and the IBM APIs we can use to develop Web applications. The explanations and examples are classic Cozzi—well-written and easy to follow.

To be clear, this book isn't a training manual; it's a reference book. It's well-organized, with BIFs and opcodes in separate chapters in alphabetical order, and contains good examples.

You should consider this book to be an investment in your career. It belongs on the desk of every RPG programmer.

Also in Book Reviews

Book Review: Extract, Transform, and Load with SSIS


This book could easily be used as a teaching tool for students, interns, or even as a reliable resource for experienced SSIS developers to consult when they need an ETL refresher.

Continue Reading →

Book Review: 21st Century RPG: /Free, ILE, and MVC


Dave touches all the important buttons, and you’ll learn a lot with this book—even if you’re stuck in the 1980s RPG III world!

Continue Reading →

Book Review: Developing Business Applications for the Web--With HTML, CSS, JSP, PHP, ASP.NET, and JavaScript


The book breaks down the topic of business Web application development into three main sections. The first section covers static Web pages and the techniques used to develop these pages. The second section covers four popular programming languages in use today: JavaScript, PHP, ASP.NET, and JavaServer Pages (JSP). The third section covers topics that a Web developer needs to understand to develop successful Web applications.

Continue Reading →