FARGO (programming language)

FARGO (fourteen-o-one automatic report generation operation) was the predecessor to the RPG programming language. FARGO was more of a utility program than a programming language, whereas RPG had a program generation process that produced executable object code.

A transitional tool

The idea behind FARGO was to facilitate ease of transition for IBM 407 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 which required more memory than SPS). These represented a significant paradigm shift and learning curve for the technicians who were accustomed to wiring a 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 control panels of tabulating machines. Early FARGO training material showed the wiring control of panels 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 storage.

Backward compatibility

IBM 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.

  • IBM (1964). FARGO for IBM 1401 (PDF). C24-1464-3.

Content Disclaimer

Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.

  1. The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
  2. There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
  3. It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
  4. Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
  5. Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.