CAP(ID:441/cap001)

Cornell Assembler 


for Cornell Assembly Programming

Macro-assembler for Cornell's Burroughs 220 by David J. Waks (while an undergraduate) in 1959

Places
References:
  • CAP Manual, Cornell Computing Center, July 1960 view details
  • Bemer, R "ISO TC97/SC5/WGA(1) Survey of Programming Languages and Processors" December 1962 view details
          in [ACM] CACM 6(03) (Mar 1963) view details
  • Lesser, Richard C. "Richard C. Lesser's Recollections: The Cornell Computing Center, the Early Years, 1953 to 1964," view details Extract: Creation of CORC
    The next programming advance at Cornell came in the early 1960's, when Professors Richard Conway and William Maxwell of the Department of Industrial Engineering, and Robert J. Walker of the Department of Mathematics wrote an interpretive compiler called CORC, the Cornell Compiler, similar to the widely used BASIC, which was being developed at Dartmouth. Whereas BASIC had a highly structured, formal syntax, CORC was programmed in English statements and was easy to learn and use. Initially written for the 220, and later for the Control Data1604, it increased student usage greatly. Programs submitted before 5 o'clock would be compiled or run during the night, and results made available to the student the next morning. By 1963, approximately 1,000 students were using the computers for coursework. In 1962, the College of Engineering incorporated computer programming as part of the third semester of calculus, and, in the academic year, 1963-1964, 14 credit courses related to computing were offered on campus. Extract: BAC
    Cornell was one of the founders of the original Burroughs User Group, the Cooperating Users' Exchange (CUE), of which Robert Gordon of Stanford was the first president, and I was the second. This group had large representation among Universities and military research facilities and, through the urging of this group, the next breakthrough in software was achieved. Burroughs Corporation, in early 1961 published and distributed the Burroughs Algebraic Compiler, " a representation of ALGOL for the Burroughs 220 Data-Processing System". As had board wiring and machine language programming, assemblers now dwindled in importance. We had been using the assembler CAP (Cornell Assembly Program), written in 1959/60 for the Computing Center by an undergraduate student, David J. Waks. With the availability of the CAP assembler and the BAC compiler, programming the 220 was greatly facilitated.


          in Oral Histories - Cornell Computing and Information 2002 view details
  • Rudan, John W. "The History of Computing at Cornell" Cornell University (digital) 29-Jan-2004 view details Extract: More about the Use of CORC
    Instructional Computing
    More about the Use of CORC
    Although Lesser provides some interesting information
    about the use of the Burroughs 220 and the
    Control Data 1604 computer for course work by students,
    additional information may provide a better
    sense of the practices at the time and the load volume
    generated. When the CORC process started, it could
    be considered rather archaic?students did not prepare
    their own input but wrote their programs on specially
    prepared coding sheets that facilitated both the writing
    and the transfer to punch cards by professional
    keypunch operators. Figure 2 gives a sense of the
    situation.
    The original caption for this pictorial in a Cornell
    Computing Center publication circa 1963 was:
    With the CORC simplified computing language,
    all Cornell students can make use of
    the Computing Center. After a student has
    completed his program descriptions, it is
    punched on cards by the center staff; run
    though the computer; then returned to the
    center laboratory for correction and resubmission
    by the students when necessary.
    [...]
    At the time it was the practice to record initial runs,
    that is the first run after the program deck was
    punched by keypunch staff, and the reruns, which
    were subsequent runs after corrections were made by
    students and until the program produced the expected
    results. One measure of the growth is that initial runs
    increased by 2.5 times from 1962?63 to 1965?66.
    Reruns showed a four-fold increase over this same
    period. These increases give witness to the increasing
    use of the computer in the instructional programs at
    the university. Extract: CAP
    The development and production use of CAP was quite an experience.
    The programmers were initially avid users but then grew more cautious because the program had numerous errors. The current process of alpha and beta testing and field testing was not a routine practice. You wrote a program, you ran it. So with CAP. It was not uncommon for Mr. Waks to come to the Computing Center after his classes, find a number of error complaints, and go to the console and create fixes and a new version, which became the production version at the completion of his time. And so it went! Eventually CAP became more reliable, and an increasing amount of programming was done using it. Extract: CORC, CUPL, PL/C
    Introduction of PL/C
    One of the primary languages for introductory computing
    instruction changed from CUPL to PL/C.
    Conway and his various associates, who had developed
    CORC in the early 1960s then CUPL in the late
    1960s, now followed with PL/C as the language of
    choice for this purpose. (CORC was used from 1962 to
    1966 on both the Burroughs 220 and the Control Data
    1604, while CUPL was used from 1965 to 1969 on
    both the Control Data 1604 and IBM 360/65.)
    Adopting PL/C was in keeping with the computing
    industry trend to adopt the PL/I language for more
    applications. IBM commissioned Conway13 and his
    associates to develop a student version of PL/I, which
    was named PL/C, and provided the initial support that
    was also supplemented by support from Seimens. The
    development of PL/C was built on the previous experience
    noted above as well as new technologies, so
    when completed it was the first high-performance
    compiler with advanced error-correcting techniques
    for a subset of the PL/I language. Once under way, the
    project was partially funded by income from sales. In
    1970–71 more than 100 copies of PL/C had been distributed,
    and 60 sales had been made. Later in the
    decade, at its peak, PL/C was used at 250 universities
    around the world, according to Conway. Members of
    the team that produced the first PL/C release were
    Conway, Howard Morgan, R. Wagner, and five graduate
    students in Computer Science, the principal one
    being Tom Wilcox.
          in Oral Histories - Cornell Computing and Information 2002 view details