World Library  
Flag as Inappropriate
Email this Article

Laning and Zierler system

Article Id: WHEBN0002732031
Reproduction Date:

Title: Laning and Zierler system  
Author: World Heritage Encyclopedia
Language: English
Subject: Compilers, Timeline of programming languages
Collection: Compilers
Publisher: World Heritage Encyclopedia
Publication
Date:
 

Laning and Zierler system

The Laning and Zierler system (sometimes called "George" by its users) was one of the first operating algebraic compilers, that is, a system capable of accepting mathematical formulae in algebraic notation and producing equivalent machine code (the term compiler had not yet been invented and the system was referred to as "an interpretive program"). It was implemented in 1954 for the MIT WHIRLWIND by J. Halcombe Laning and Neal Zierler. It is preceded by the UNIVAC A-2, IBM Speedcoding and a number of systems that were proposed but never implemented.

Contents

  • Description 1
  • Sample Program 2
  • Applications 3
  • Influence on FORTRAN 4
  • Notes 5
  • References 6
  • See also 7

Description

The system accepted formulae in a more or less algebraic notation. It respected the standard rules for operator precedence, allowed nested parentheses, and used superscripts to indicate exponents. It was among the first programming systems to allow symbolic variable names and allocate storage automatically.

The system also automated the following tasks: floating point computation, linkage to subroutines for the basic functions of analysis (sine, etc.) and printing, and arrays and indexing.

The system accepted input on punched tape produced by a Friden Flexowriter. The character set in use at the Whirlwind installation included "upper-case" (superscript) digits and a hyphen, which were used to indicate array indices, function codes, and (integer) exponents. Like other programming notations of its time, the system accepted only single-letter variable names and multiplication was indicated by juxtaposition of operands. A raised dot was available to indicate multiplication explicitly (the character was created by filing off the lower half of a colon!) The system also included support for solution of linear differential equations via the Runge-Kutta method.

The system was described in an 18-page typewritten manual written for people familiar with mathematics but perhaps unfamiliar with computers. It contains almost nothing in the way of an introduction to computer hardware.

Sample Program

The following example, taken from page 11 of the system's manual, evaluates \cos x for x = 0, 0.1, ..., 1 using the Taylor series expansion. The implementation is not terribly efficient, and the system already includes \cos x in its subroutine library, but the example serves to give a flavor of the system's syntax. Note that division in the system is evaluated after multiplication:

 1 x = 0,
   z = 1 - x2/2 + x4/2·3·4 - x6/2·3·4·5·6
     + x8/2·3·4·5·6·7·8 - x10/2·3·4·5·6·7·8·9·10,
   PRINT x, z.
   e = x -  1.05,
   CP 1,
   STOP

Applications

Few applications were written for the system. One documented application, authored by Laning and Zierler themselves, involved a problem in aeronautics. The problem required seven systems of differential equations to express, and had been given to the Whirlwind because it was too large for MIT's Differential Analyzer to handle. The authors, exploiting the Runge-Kutta feature of their programming system, produced a 97-statement program in two and half hours. The program ran successfully the first time.

Influence on FORTRAN

Some sources have said that the Laning and Zierler system was the inspiration for FORTRAN. John Backus himself admitted to having contributed to this misconception:

The effect of the Laning and Zierler system on the development of FORTRAN is a question which has been muddled by many misstatements on my part. For many years I believed that we had gotten the idea for using algebraic notation in FORTRAN from seeing a demonstration of the Laning and Zierler system at MIT. (Backus )

After reviewing documentation from the time, Backus learned that the FORTRAN project was "well underway" when he and his team got a chance to see Laning and Zierler's work:

[W]e were already considering algebraic input considerably more sophisticated than that of Laning and Zierler's system when we first heard of their pioneering work... [I]t is difficult to know what, if any, new ideas we got from seeing the demonstration of their system. (Backus, op cit)

Notes

  1. ^ J. W. Backus, The history of FORTRAN I, II and III. Proceedings First ACM SIGPLAN conference on History of programming languages

References

  • Backus, J. W. The history of FORTRAN I, II and III. Proceedings First ACM SIGPLAN conference on History of programming languages (Available on line).
  • Laning, J.H. and N. Zierler. A Program For Translation of Mathematical Equations for Whirlwind I. Engineering Memorandum E-364, Instrumentation Laboratory, Massachusetts Institute of Technology. (Available on line).
  • Sammet, Jean E., "Programming Languages: History and Fundamentals" Prentice-Hall, 1969
  • "The Early Development of Programming Languages" in A History of Computing in the Twentieth Century, New York, Academic Press, 1980. ISBN 0-12-491650-3

See also

This article was sourced from Creative Commons Attribution-ShareAlike License; additional terms may apply. World Heritage Encyclopedia content is assembled from numerous content providers, Open Access Publishing, and in compliance with The Fair Access to Science and Technology Research Act (FASTR), Wikimedia Foundation, Inc., Public Library of Science, The Encyclopedia of Life, Open Book Publishers (OBP), PubMed, U.S. National Library of Medicine, National Center for Biotechnology Information, U.S. National Library of Medicine, National Institutes of Health (NIH), U.S. Department of Health & Human Services, and USA.gov, which sources content from all federal, state, local, tribal, and territorial government publication portals (.gov, .mil, .edu). Funding for USA.gov and content contributors is made possible from the U.S. Congress, E-Government Act of 2002.
 
Crowd sourced content that is contributed to World Heritage Encyclopedia is peer reviewed and edited by our editorial staff to ensure quality scholarly research articles.
 
By using this site, you agree to the Terms of Use and Privacy Policy. World Heritage Encyclopedia™ is a registered trademark of the World Public Library Association, a non-profit organization.
 


Copyright © World Library Foundation. All rights reserved. eBooks from Project Gutenberg are sponsored by the World Library Foundation,
a 501c(4) Member's Support Non-Profit Organization, and is NOT affiliated with any governmental agency or department.