ADA(ID:6043/ada007)

Aiken 


for Aiken Dynamic Algebra

Theoretically based "algebraicized" programming language by Howard Aiken, the original computer pioneer.

"little sister" of APL, a reduced version with a different set of operators

A wonderful concise version of the mathematical coding system of the Harvard M1, filtered through another 30 years reflection.


People:
Related languages
Aiken CPC translator => ADA   Evolution of
APL => ADA   Influence

References:
  • Aiken, H. "The Algebracizing of Computer Programs," Purdue University Colloquium, (November, 1969). view details
  • Noonan, Robert Edward "Computer programming with a dynamic algebra" Ph D Purdue 1971 view details
  • Boyce, R. F. "Topological Reorganization as an Aid to Program Simplification", Ph. D. thesis, Purdue University, (June, 1972). view details
  • Schutte, Lawrence J. "A report on the value of some advanced high level language operators on current sequential computers" view details Abstract: Recent advances in programming languages have sometimes drastically altered program structure as in the Reduction Languages of Backus (3) or produced less drastic but nonetheless dramatic effects like the elimination of the ?goto? statement in an increasing number of ?structured? programming languages (4). Now waiting in the wings are demands for topologically simpler program structures which will ease code optimization problems, increase programmer productivity, and aid automatic verification of program correctness. In these respects, perhaps the most advanced high-level programming language yet developed is Aiken Dynamic Algebra (ADA), the younger sister of APL (5, 6, 7). Boyce (8) has already shown the improved efficiency of ADA on pipeline and parallel machines, but his results for ADA in a sequential environment were inconclusive. This study reports the comparison of a sequential ADA implementation with the standard instruction sets of two existing sequential machine designs, the IBM 1130 and the IBM 360. Addition of 150 microinstructions allowed simultaneously a 5 to 35% decrease in execution time and a 5 to 40% decrease in the storage requirements for code to implement identical algorithms. Extract: About ADA
    AIKEN DYNAMIC ALGEBRA
    Aiken Dynamic Algebra was devised by the late Professor Howard Aiken (6), formerly of Harvard University, and later documented and developed by Dr. Robert Noonan (7), now at the University of Maryland. Like APL, ADA is not only a language but also a mode of thought and expression. However, ADA contains only three statement types - assignment, subroutine call, and repetition - and, unlike APL, only a few easily remembered operators. In addition to the conventional arithmetic and boolean operators, ADA contains operators to evaluate relational expressions, to multiply a value by a 1-bit boolean value, and to select the greater or lesser of two numbers. ADA
    control flow is strictly sequential except for a looping operator which allows a number of statements to be repeated until a specified logical expression is true.

    ADA is a topologically simple language and also a so-called "structured" or "gotoless" programming language. Such a powerful simplicity effectively allows a programmer to concentrate on producing a program rather than on exploiting sophisticated language features (7, 10).
    Another feature of ADA is a certain amount of intentional redundancy of expression (7, 8, ii). Just as with the expansion of a logical equation to a sum of products form, this redundancy allows a given program statement to be successfully specialized for a sequential,
    pipeline, or parallel execution-time environment. A second effect of such redundancy is that local application of algebraic identities can be used to manipulate and optimize ADA programs at the source level.
          in SIGPLAN Notices 8(11) November 1973 Proceedings of the ACM-IEEE symposium on High-level-language computer architecture 1973, College Park, Maryland, United States view details
  • Noonan, Robert E. "Dynamic algebra" pp326-334 view details Abstract: A language or set of languages, called dynamic algebras, which will simplify programming and provide the capability of simplifying programs are proposed. In such languages, the constructions of arithmetic and algebra are emphasized, resulting in fewer but larger statements, rather than smaller, explicitly sequenced assignments and transfer A set of operators (called the Aiken operators) are introduced and their usefulness demonstrated. Three examples are presented of the simplification of dynamic algebra programs using the ordinary rules of algebra. Finally, the efficiency of such programs on von Neumann, parallel, and pipeline machines is discussed.


          in Proceedings of the ACM SIGPLAN symposium on Very high level languages, March 28-29, 1974, Santa Monica, California, United States view details
  • Noonan, Robert E. "Towards a canonical form for computer programs" Proceedings of the 1975 ACM/CSC-ER annual conference pp235-240 1975 view details Abstract: An approach to the mechanization of the certification of programs is the development of a canonical form for computer programs. Two programs would be declared equivalent, that is, for all inputs they produce identical outputs, if and only if they have the same canonical form. The nature of such a canonical form for computer programs is discussed. For a certain non-trivial class of programs, a methodology for producing the canonical form from the original program is developed, and the present limitations of this approach are explored. Finally, the methodology is applied to two different sort algorithms, demonstrating that these algorithms are equivalent since they possess the same canonical form.
          in Proceedings of the ACM SIGPLAN symposium on Very high level languages, March 28-29, 1974, Santa Monica, California, United States view details