Hacker News new | ask | show | jobs
by devnull255 1518 days ago
I was introduced to programming in *NIX environments by Informix 4GL, which after learning I could generate the intermediary C code files with an option provided by its 4glcc (or something like that) command, led me to C. I was fascinated by how many lines of C code were generated with a 'let' assignment statement, and also by how assignments in 4GL were mapped to push and pop operations on a stack variable.

I also saw the link to RPG in the article. I took an RPG programming class in 1983, and I'm glad I forgot most of that.

2 comments

My Informix 4GL days were simply the most productive of my career. We were able to do so much, so quickly using these systems. Along with the domain expert, I was able to, single handedly, create an entire distribution system in less than a year. Order Entry, Credit/Debit memos, Inventory and planning, shipping and traffic, the gazillion reports, custom forms (let's hear it for dot matrix printers and their myriad of escape codes), and workflows, posting to AP, AR, GL, all of the exotic (and ever changing) pricing, discount, and royalty models. It was not uncommon for a typical order to hit 50 different accounts in the GL.

One on one interviews with the users, direct user support ("Yea, hang on, I'll be right there"), seeing their face light up when you showed them something they liked, getting yelled at when things got rocky, the whole kit. The back office staff was about 50 people. The IT fellow knew the business, so I interacted directly with him, and coded everything up. The GL/AR/AP system was pre-existing, I didn't have to write that.

We were a small consulting firm that customized an existing accounting package. Most customers didn't need anything as big as this. But even then, we had another fellow do essentially the same thing for a warehouse company. Hook up with an internal domain expert and pound out their entire system.

We're talking green screen, and green bar paper here. So, "UI" was trivial. UI discussions centered around how best to abbreviate field names or codes to cram more on particularly loaded screens, and what field order to use.

CRUD screens and reports in an hour. Thank heavens for decimal math.

A simpler time to be sure, but we got so much accomplished.

Informix 4GL was imperfect, as are all things, but we rarely had to say "no" to something because of it.

A snarky tagline used to say, "Informix-4GL is not 4G, and it's barely an L."

I understand the sentiment, although in reality it wasn't that bad. What I4GL and its ilk accomplished was to make a passable bridge between SQL and a vanilla procedural programming language, which still had the usual SQL/procedural impedance mismatches, but was miles ahead of horrors like Embedded SQL/C (as you've alluded to with the remark about generated C's verbosity.) I did my share of I4GL programming and still remember it semi-fondly.