,,RPG ,,RPG ,REPORT ,PROGRAM ,GENERATOR IS THE OLDEST PROGRAMMING LANGUAGE STILL DOING ITS ORIGINAL JOB4 ,,IBM INTRODUCED IT IN #AIEI FOR THE #ADJA TO GENERATE BUSINESS REPORTS FROM DATA FILES1 AND SIXTY-PLUS YEARS LATER ,,RPG ,,IV REMAINS THE PRIMARY APPLICATION LANGUAGE OF ,,IBM'S MIDRANGE LINE NOW CALLED ,,IBM I WHERE ,,RPG ,,II-ERA CODE AND FRESHLY WRITTEN FREE-FORM CODE ROUTINELY COEXIST IN THE SAME SHOP4..> ,THE LANGUAGE'S PREMISE WAS EXACTLY WHAT ITS NAME SAYS3 BUSINESSES DIDN'T NEED GENERAL COMPUTATION SO MUCH AS THE SAME LOOP FOREVER READ A RECORD1 CALCULATE1 PRINT1 REPEAT4 ,,RPG ENCODED THAT LOOP DIRECTLY INTO THE PROGRAMMING MODEL AS THE PROGRAM CYCLE3 A BUILT-IN READ-PROCESS-WRITE PATTERN THE MACHINE RAN AUTOMATICALLY1 WITH THE PROGRAMMER SUPPLYING ONLY THE VARIATIONS4 ,AROUND IT GREW THE LANGUAGE'S MOST RECOGNIZABLE FEATURE FIXED-FORM1 COLUMN-ORIENTED SYNTAX1 WHERE A PROGRAM'S MEANING LIVES PARTLY IN WHICH COLUMNS ITS CHARACTERS OCCUPY4 ,SPECIFICATION TYPES "<,INPUT1 ,CALCULATION1 ,OUTPUT THE FAMOUS ,F_/,I_/,C_/,O SHEETS THAT MIRRORED PUNCHED-CARD THINKING"> MADE AN ,,RPG PROGRAM LOOK LESS LIKE PROSE AND MORE LIKE AN ENGINEERING FORM BECAUSE THAT'S WHAT IT WAS3 THE TABULATING-MACHINE WORKFLOW REINCARNATED AS A PROGRAMMING LANGUAGE4..> ,A DYNASTY OF MIDRANGE MACHINES ,,RPG'S HISTORY IS THE HISTORY OF ,,IBM'S SMALL-BUSINESS COMPUTERS3 - ,,RPG "<#AIEI"> THE #ADJA ORIGINAL1 REPORTS FROM FILES - ,,RPG ,,II THE WORKHORSE OF THE ,SYSTEM_/#C THROUGH ,SYSTEM_/#CF ERA2 STILL SUPPORTED UNDER Z_/,,OS AND Z_/,,VSE - ,,RPG ,,III STRUCTURED OPERATIONS FOR THE ,SYSTEM_/#CH - ,,RPG_/#DJJ THE ,,AS_/#DJJ'S VERSION - ,,RPG ,,IV _/ ,,ILE ,,RPG THE MODERN LANGUAGE ON ,,IBM I1 WITH AT LAST FREE-FORM SYNTAX1 MODULES1 AND SERVICE PROGRAMS2 RELEASE #G4D SHIPPED IN ,OCTOBER #BJBJ ,THE LINEAGE ALSO ESCAPED ,,IBM3 ,,RPG IMPLEMENTATIONS RAN ON ,,DEC ,,VAX1 ,HONEYWELL1 ,BURROUGHS1 ,,HP #CJJJ1 ,WANG ,,VS1 EVEN ,,MS-,,DOS THE COLUMNAR FORMAT PROVED AS PORTABLE AS THE PUNCHED CARD IT REPLACED4..> ,,RPG IS THE LIVING FOSSIL OF THE PUNCH-CARD ERA3 FOR MOST OF ITS LIFE1 "9WHERE"9 YOU WROTE A CHARACTER DETERMINED WHAT IT MEANT COLUMN #F MARKED THE SPECIFICATION TYPE1 AND SEASONED ,,RPG PROGRAMMERS READ CODE THE WAY ENGINEERS READ FORMS4 ,,RPG ,,IV'S FREE-FORM SYNTAX "<#BJJA ONWARD"> RETIRED THE COLUMNS AFTER FORTY-TWO YEARS4 ,WHERE IT SITS ,,RPG IS THE PROOF THAT 8DEAD0 IS A STATUS LANGUAGES EARN RATHER THAN RECEIVE4 ,IT HAS NO THEORETICAL ELEGANCE AND NO GLAMOUR BUT IT MODELS ONE THING " PERFECTLY ENOUGH THAT BILLIONS OF LINES OF IT STILL RUN THE WORLD'S MIDRANGE BACK OFFICES4 ,IT OUTLIVED THE #ADJA1 THE ,SYSTEM_/#C1 THE ,,AS_/#DJJ1 AND EVERY OBITUARY WRITTEN FOR IT4 ,CHECK YOUR UNDERSTANDING - .< .> ,WHAT DOES ,,RPG STAND FOR1 WHEN DID IT APPEAR1 AND ON WHAT MACHINE8 - .< .> ,WHAT IS THE 8PROGRAM CYCLE0 THE IDEA ,,RPG HARD-WIRED INTO THE LANGUAGE8 - .< .> ,WHAT MADE CLASSIC ,,RPG SYNTAX UNUSUAL AMONG PROGRAMMING LANGUAGES8 - .< .> ,IS ,,RPG DEAD8 #A "9"9,REPORT ,PROGRAM ,GENERATOR"9"91 "9"9#AIEI"9"91 ON THE "9"9,,IBM #ADJA"9"94 #B THE BUILT-IN "9"9READ CALCULATE OUTPUT"9"9 LOOP2 THE PROGRAMMER SPECIFIED ONLY THE PER-RECORD LOGIC INSIDE IT4 #C "9"9FIXED-FORM1 COLUMN-ORIENTED SYNTAX"9"9 MEANING DEPENDED ON WHICH COLUMNS CHARACTERS OCCUPIED "<,F_/,I_/,C_/,O SPECIFICATION SHEETS">4 #D "9"9,NO"9"9 ,,RPG ,,IV_/,,ILE ,,RPG STILL RUNS ON ,,IBM I1 WITH MODERN FREE-FORM RELEASES2 ,,RPG ,,II CODE STILL EXECUTES UNDER Z_/,,OS AND Z_/,,VSE4