FARGO Programming Language
Encyclopedia
FARGO was the predecessor to the popular RPG programming language
(RPG). FARGO was more of a utility program than a programming language, whereas RPG had a program generation process that produced an executable object.
Accounting Machine technicians to the new IBM 1400 series
of computers. The 1400 series had two assemblers
; Symbolic Programming System
(SPS) and Autocoder
(a more advanced assembler than SPS, and that required more memory). These represented a significant paradigm shift and learning curve for the technicians who were accustomed to wiring a plugboard
control panel to direct input, output, control and counter operations (add, subtract). Multiplication and division operations were possible but their practicality was limited.
Tabulator machine operations were directed by impulses emitted in a machine cycle; hence, FARGO emulated the notion of a cycle. FARGO coordinated the concept of coding sheets that closely approximated the principles of wiring panels of tabulating machines. Early FARGO training material showed the wiring panel vs. coding sheet relationships.
.
historically placed emphasis on backward compatibility, and FARGO and 1400 Autocoder continued to be used in some IBM System/360 shops by running in "Emulation" mode. COBOL
, FORTRAN
and RPG
languages did not require emulation because System/360 versions were provided.
RPG programming language
RPG is a high-level programming language for business applications.It has a long history, having been developed by IBM in 1959 as the Report Program Generator - a tool to replicate card processing on the IBM 1401 then updated to RPG II for the IBM System/3 in the late 1960s, and since evolved into...
(RPG). FARGO was more of a utility program than a programming language, whereas RPG had a program generation process that produced an executable object.
A Transitional Tool
The idea behind FARGO was to facilitate ease of transition for IBM 407IBM 407
The IBM 407 Accounting Machine, introduced in 1949, was one of a long line of IBM tabulating machines dating back to the days of Herman Hollerith. It was the central component of any unit record equipment shop. In the late 1950s, the 407 was adapted as an input/output device on early computers,...
Accounting Machine technicians to the new IBM 1400 series
IBM 1400 series
The IBM 1400 series were second generation mid-range business decimal computers that IBM sold in the early 1960s. They could be operated as an independent system, in conjunction with IBM punched card equipment, or as auxiliary equipment to other computer systems.1400-series machines stored...
of computers. The 1400 series had two assemblers
Assembly language
An assembly language is a low-level programming language for computers, microprocessors, microcontrollers, and other programmable devices. It implements a symbolic representation of the machine codes and other constants needed to program a given CPU architecture...
; Symbolic Programming System
Symbolic Programming System
The IBM 1401 Symbolic Programming System was an assembler that was developed by the Applied Programming Department of IBM as an alternative to the use of machine code for the IBM 1401 computer, the first of the IBM 1400 series. One source indicates that "This programming system was announced by...
(SPS) and Autocoder
Autocoder
Autocoder was the name given to certain assemblers for a number of IBM computers of the 1950s and 1960s.The first Autocoders appear to have been the earliest assemblers to provide a macro facility....
(a more advanced assembler than SPS, and that required more memory). These represented a significant paradigm shift and learning curve for the technicians who were accustomed to wiring a plugboard
Plugboard
A plugboard, or control panel , is an array of jacks, or hubs, into which patch cords can be inserted to complete an electrical circuit. Control panels were used to direct the operation of some unit record equipment...
control panel to direct input, output, control and counter operations (add, subtract). Multiplication and division operations were possible but their practicality was limited.
Tabulator machine operations were directed by impulses emitted in a machine cycle; hence, FARGO emulated the notion of a cycle. FARGO coordinated the concept of coding sheets that closely approximated the principles of wiring panels of tabulating machines. Early FARGO training material showed the wiring panel vs. coding sheet relationships.
Programs did not require compilation
Another important feature of FARGO programs is that they did not require compilation. Instead, specification cards were placed into the FARGO program deck at appropriate locations and then simply run with the data cards at the end of the program deck. FARGO was designed for IBM 1401 card systems with at least 4000 positions of Core storageMagnetic core memory
Magnetic-core memory was the predominant form of random-access computer memory for 20 years . It uses tiny magnetic toroids , the cores, through which wires are threaded to write and read information. Each core represents one bit of information...
.
Backward Compatibility
IBMIBM
International Business Machines Corporation or IBM is an American multinational technology and consulting corporation headquartered in Armonk, New York, United States. IBM manufactures and sells computer hardware and software, and it offers infrastructure, hosting and consulting services in areas...
historically placed emphasis on backward compatibility, and FARGO and 1400 Autocoder continued to be used in some IBM System/360 shops by running in "Emulation" mode. COBOL
COBOL
COBOL is one of the oldest programming languages. Its name is an acronym for COmmon Business-Oriented Language, defining its primary domain in business, finance, and administrative systems for companies and governments....
, FORTRAN
Fortran
Fortran is a general-purpose, procedural, imperative programming language that is especially suited to numeric computation and scientific computing...
and RPG
RPG programming language
RPG is a high-level programming language for business applications.It has a long history, having been developed by IBM in 1959 as the Report Program Generator - a tool to replicate card processing on the IBM 1401 then updated to RPG II for the IBM System/3 in the late 1960s, and since evolved into...
languages did not require emulation because System/360 versions were provided.