TREAC Autocode(ID:7603/)

RWRE Autocode 


Autocode developed by RWRE for the TREAC (Telecommunications Research Establishment Automatic Calculator) computer at Malvern, using initial orders based on EDSAC

The first ever computer generated sound (1954) was programmed in TREAC autocode by S. N. Higgins (as a prelude to synthesising speach)


Related languages
EDSAC Initial Orders => TREAC Autocode   Based on

References:
  • Woodward, P. H. "The Mark 5 System of Automatic Coding for TREAC" pp23-31 view details
          in Goodman, Richard (ed) "Annual Review in Automatic Programming "(1) 1960 Pergamon Press, Oxford view details
  • Blum, E. K. review of Goodman 1960 view details Abstract: This volume contains the 18 papers presented to the Conference on Automatic Programming of Digital Computers held in April 1959 at Brighton Technical College. The papers are, for the most part, brief descriptions of various automatic programming systems in use in Great Britain at the time of the conference. The following sample of titles gleaned from the table of contents will convey some idea of the scope and content of the papers: "The MARK 5 System of Automatic Coding for TREAC"; "PEGASUS: An Example of an Autocoded Program for Sales Analysis and Forecasting"; "The Application of Formula Translation to Automatic Coding of Ordinary Differential Equations"; "Further DEUCE Interpretive Programs and some Translating Programs"; and "Automatic Programming and Business Applications."

    Most of the papers are written in a style and manner which seem to have become universally accepted for papers on computer programming, at least in the English-speaking world and probably in others. This style insists on a liberal dosage of impressively detailed flow charts which, considering the well-known and understandable reluctance of programmers to read their own programs much less those of others, one suspects most readers hastily skip over, willingly granting their authenticity. The flow charts are invariably accompanied by long lists of special instructions described in the private patois of the author, who seems blissfully unaware or unconcerned that his specially constructed vocabulary of acronyms may present;. rough going to the reader from the inlying provinces. Finally, the style demands long and wearisome descriptions of basic concepts (e.g., subroutine; symbolic instruction, etc.) long since familiar to the average reader, some indication of difficulties as yet to be surmounted (e.g., automatic storage allocation; easier debugging; et al). Nevertheless, the volume does give some idea of the status of automatic programming systems in Great Britain in early 1959. It also contains a concise description of the 709 SHARE operating system, and another brief account of FLOW-MATIC and MATH-MATIC. There are two interesting appendices worthy of mention. Appendix One consists of reprints of two papers by the late A. M. Turing, "On Computable Numbers with an Application to the Entscheidungsproblem", in which the "Turing machine" was conceived, and a brief corrective note on the same subject. Appendix Two contains the "Preliminary Report of ~ ACM-GAMM Committee on an International Algebraic Language", since published elsewhere.

    The reviewer cannot suppress the question of whether this sort of material (Appendices excepted), so soon obsolescent or obsolete and so difficult to present adequately in short papers, deserves the effort and expense required to reproduce it between the bound hard covers of a handsome book.

          in ACM Computing Reviews 2(03) May-June 1961 view details
  • Woodward, P. M. "The synthesis of music and speech" view details Abstract: This paper describes how a fast general-purpose computer with an amplifier and loudspeaker connected to one of its jump instructions can be programmed to play more than one musical note at a time. The same method of tone-generation can be used to produce artificial speed without special apparatus. External link: Online copy
          in The Computer Journal 9(3) 1966 view details
  • Campbell-Kelly, Martin "The Development of Computer Programming in Britain (1945 to 1955)" view details Extract: TREAC
    TREAC
    The TREAC (Telecommunications Research Establishment Automatic Computer) was constructed at Malvern by a group led by A. M. Uttley. The group was established in 1946; TREAC was completed in early 1953 and was the first parallel machine to be constructed in Britain (Carter 1953).

    The logical design of TREAC and its order code were strongly influenced by the EDSAC, although Uttley's team looked to Manchester for technology, using a Williams-tube main store and, much later, a magnetic-drum backing store.

    Programming support for TREAC was provided by the TRE Mathematics Division. The early programming for TREAC was based on the EDSAC: P. Taylor of the Mathematics Division spent a fortnight at Cambridge during the summer of 1950 learning to program the EDSAC, and he subsequently modified the EDSAC initial orders for use on TREAC (Taylor 1952; 1978).

    The EDSAC subroutine mechanism and library were also adopted for TREAC. It was not possible, however, to take over a significant fraction of the EDSAC subroutine library itself, for the different order code and word length of TREAC meant that subroutines had to be written freshly. A comprehensive library was eventually built up that included interpretive routines for double-precision and floating-point arithmetic.

    The first three or four years of TREAC'S operation were taken up with providing a computing service, developing the subroutine library, and solving users' problems. This left little time for experimentation in automatic programming. The situation changed in 1956, however, when P. M. Woodward of TRE visited the United States on sabbatical leave. While there, he took time out to see what was happening in automatic programming. He made visits to IBM, where FORTRAN was in the final stages of development for the 704, and to Univac, where Grace Murray Hopper was actively working on the A-series of compilers (Backus et al. 1957; Moser 1954). Woodward's recollection (Woodward and Jenkins 1977) is that he was shaken by the contrast with the primitive state of programming for TREAC; he returned to England laden with IBM and Univac literature and resolving to do better.

    Indeed, during the next few years, TRE (by then renamed RRE), was active in the field of automatic programming. An excellent input routine and an autocode were developed for TREAC in the late 1950s (Woodward 1959). Since the early 1960s RRE (now renamed RSRE) has had an enviable reputation for high-quality software, including its ALGOL implementations, CORAL, MASCOT, and several other systems (Currie et al. 1970; RSRE 1970; Jackson and Simpson 1974).


    Extract: Conclusions
    Conclusions
    When we compare the development of programming at the three centers -- Cambridge, Manchester, and Teddington -- there are several factors to consider. First, we must consider the quality of the programming system; this is a subjective issue that ranges from the purely aesthetic to the severely practical -- for example, from the elegance of an implementation at one extreme to the speed of a matrix inversion at the other. We must also consider the failures of the three centers, especially the failure to devise a programming system that exploited the full potential of the hardware. Finally, we must consider the influence of the programming systems on other groups; this is less subjective -- it was described in the previous two sections and is summarized in Figure 2.

    Few could argue that Cambridge devised the best of the early programming systems. The work done by Wilkes and Wheeler stood out as a model of programming excellence. Cambridge made several outstanding contributions to early programming: the use of closed subroutines and parameters, the systematic organization of a subroutine library, interpretive routines, and the development of debugging routines. Perhaps the finest innovation was the use of a symbolic notation for programming, as opposed to the use of octal or some variant. It is difficult for us today to appreciate the originality of this concept.
    If Cambridge can be said to have had a failure, it was the failure to develop programming languages and autocodes during the middle and late 1950s, as reflected in the second edition of Wilkes, Wheeler, and Gill (1957), of which Hamming said in a review,

    It is perhaps inevitable that the second edition, though thoroughly revised, does not represent an equally great step forward, but it is actually disappointing to find that they are no longer at the forefront of theoretical coding. (Hamming 1958)]

    By neglecting research into programming languages, Cambridge forfeited its preeminence in the programming field.

    In the early 1950s, however, Cambridge was by far the most important influence on programming in Britain. This came about partly through the excellence of the programming system and partly through the efforts that Cambridge made to promote its ideas. Two machines (I`EO and TREAC) based their programming system directly on EDSAC, and five machines (Nicholas, the Elliott 401 and 402, MOSAIC, and Pegasus) were strongly influenced by it. It is also probably true that no programming group was entirely uninfluenced by the Cambridge work. Overseas, the influence of the EDSAC programming system was just as great, largely through the classic programming textbook by Wilkes, Wheeler, and Gill (1951) (see Campbell-Kelly 1980a).

    At Manchester the programming system devised by Turing for the Mark I makes a disappointing contrast with the elegance of the Cambridge work. From the point of view of notation, it is difficult to find a single redeeming feature. Probably the only feature of real merit was the concept of dividing a program into physical and logical pages. Echoes of this idea can be discerned in today's segmented computers.

    In its way, Turing's programming system did have considerable influence, for all efforts to replace it with something more suitable were curiously unsuccessful.

    Thus programmers for both Mark Is and all seven Mark Iota's had to struggle with Turing's clumsy teleprinter notation throughout the life of these machines. Here is perhaps one of the most valuable lessons of this study: poor design decisions taken early on are almost impossible to correct later. Thus even when people with a Cambridge background arrived at Manchester, they were unable to make a really fresh start. By producing two successive input routines that were not much better than Turing's, they managed to combine the worst of both worlds: an unsatisfactory programming system that was not even a stable one.

    The one real high spot of the Manchester programming activity was Brooker's Mark I Autocode. Brooker's achievement was the most important programming event of the mid-1950s in Britain. If Brooker had not devised his autocode at that time, programming in Britain might have developed very differently. The autocodes for DEUCE and Pegasus were directly inspired by Brooker's and had considerable notational similarities with it. Beyond the time scale of this paper, Brooker's Mark I Autocode and his later Mercury Autocode (1958) were a dominant influence on British programming until well into the 1960s, when languages such as ALGOL 60 and FORTRAN came onto the scene in Britain.

    Of the three programming systems devised at Cambridge, Manchester, and Teddington, it is probably the latter that inspires the least passion. Ii the punching of programs in pure binary was an efficient method, it was also a singularly uninspiring one. Curiously, aficionados of the Pilot ACE and the DEUCE had great enthusiasm for programming these machines, which really had more to do with the joys of optimum coding and exploiting the eccentric architecture than with any merits of the programming system.

    In many ways the crudity of the programming system for the Pilot ACE was understandable: the speed of events, the lack of a backing store, and so on. But perpetuating it on the DEUCE was a minor tragedy; by replicating the programming system on the 32 commercially manufactured DEUCES, literally hundreds of rank-and-file programmers were imbued in this poor style of programming. MOSAIC (Section 3.4) shows that it was entirely possible to devise a satisfactory programming system for machines of the ACE pattern; it is most unfortunate that this work was not well enough known to influence events.

    NPL did, however, have one notable programming-success: the GIP matrix scheme devised by Woodger and Munday. This scheme became the sole reason for the existence of many DEUCES. The reliability of the mathematical programs produced by NPL, their comprehensiveness, and their speed have become almost legendary. A history of numerical methods in Britain would no doubt reveal the true role of NPL in establishing the methods of linear algebra as an analytical tool for the engineer.

    In an interview, P. M. Woodward, one of the principals of the TREAC programming activity, recalled, "Our impression was that Cambridge mattered in software whereas Manchester mattered in hardware" (Woodward and Jenkins 1977). He might well have added that NPL mattered in numerical methods.

    Because this paper has been primarily concerned with the development of programming during the period 1945-1955, Cambridge has received pride of place as the leading innovator. Had the paper been concerned principally with hardware or numerical methods, however, the ranking of the three centers would have been different. But considered purely as innovators of programming, there can be no question that Cambridge stood well above the rest.
    Abstract: By 1950 there were three influential centers of programming in Britain where working computers had been constructed: Cambridge University (the EDSAC), Manchester University (the Mark I), and the National Physical Laboratory (the Pilot ACE). At each of these centers a distinctive style of programming evolved, largely independently of the others. This paper describes how the three schools of programming influenced programming for the other stored-program computers constructed in Britain up to the year 1955. These machines included several prototype and research computers, as well as five commercially manufactured machines. The paper concludes with a comparative assessment of the three schools of programming.

    Extract: EDSAC IO and TREAC IO
    TREAC, a prototype British machine built at the Telecommunications Research Establishment, also used EDSAC's programming system as its model. P. Taylor, who was responsible for programming TREAC, spent a fortnight at UML in the summer of 1950. Subsequently he transliterated Wheeler's initial orders for the TREAC and adopted the EDSAC style of organization of the sub-routine library. Taylor recalled (1978): "I considered this work by Wheeler to be magnificent. It is so difficult to appreciate what the primitive state was at the time and so to realise the enormous step he made. Now, of course, we build on a great deal more experience and so complications are common place."
          in Annals of the History of Computing 4(2) April 1982 IEEE view details