Monday, October 6, 2014

Assignment 2 Programming Language Concepts

Name   : Alvin Theodora
NIM     : 1801428434

Here is the second assignment of Programming Language Concept course, taken from the tenth edition of "Concepts of Programming Language" book by Robert W. Sebesta chapter 2 :

Review Questions
      1.  In what year was Plankalkul designed? In what year was that design published?

= Plankalkul was designed in 1945, but Plankalkul was not published at that time, because of many factors, such as conditions in wartime and post-war Germany, and his efforts to commercialize the Z3 computer and its successors. And, Plankalkul was comprehensively published in 1972.

2.  What two common data structures were included in Plankalkul?

= Two common data structures in Plankalkul were arrays and records, which called structs in C-based language.

3.  How were the pseudocodes of the early 1950s implemented?

= The pseudocodes in early 1950s did not literally mean as its contemporary meaning. It was named the way it was, and to use for. At that time, there were no high programming languages, or even assembly language, so programming was done with machine code, which is error prone. These deficiencies led to the development of somewhat higher programming language, and it was named pseudocodes, but it had not been an assembly language though.

4.  Speedcoding was invented to overcome two significant shortcomings of the computer hardware of the early 1950s. What were they?

= The shortcoming of the computer hardware of the early 1950s were pseudoinstructions for the four arithmetic operations on floating point data and the novel facility of automatically incrementing address register. Because of such features, the writability to program was drastically improved, rather than using machine code.

5.  Why was the slowness of interpretation of programs acceptable in the early 1950s?

= At that time, there was still lack of floating point hardware in the available computers. All floating point operations had to be simulated to software, a very time-expense. Hence, the slowness of interpretation was still acceptable at that time.


Problem Set Question
1. What features of Plankalkul do you think would have had the greatest influence on Fortran 0 if the Fortran designers had been familiar with Plankalkul?

= If Fortran 0 had been familiar with Plankalkul, Fortran 0 would have included arrays and records as its data structure, test the connectivity of a given graph, and perform syntax analysis on logic formulas that had parentheses and precedence.

2.  Determine the capabilities of Backus’s 701 Speedcoding system, and compare them with those of a contemporary programmable hand calculator.

= The Speedcoding interpreter effectively converted 701 to a virtual three-address floating-point calculator. The system included pseudoinstructions for the four arithmetic operations on floating-point data, but it has small limitations on the memory, for instance, the remaining usable memory after loading the interpreter was just 700 words and the add instruction took 4.2 milliseconds to execute. Contemporary programmable hand calculator was interpreted with the machine code, which has faster time-execution, however it could not handle complex syntax of arithmetic operations as speedcoding did.

3.  Write a short history of the A-0, A-1, and A-2 systems designed by Grace Hopper and her associates.

= Between 1951 and 1953, Grace Hopper and her associates developed a series of compiling system, named A-0, A-1, and A-2 that expanded pseusocode into machine code subprograms. The pseudocode source for this compiler was still quite primitive, however it had been a better improvement over the machine code because it made source programs much shorter.

4.   As a research project, compare the facilities of Fortran 0 with those of the Laning and Zierler system.

= -) Fortran 0 provided the efficiency of hand-coded programs and the ease of programming of the interpretive pseudocode systems.
   -) Laning and Zierler system translated arithmetic expressions, used separately coded subprograms to compute transcendental functions, and included arrays.

5.  Which of the three original goals of the ALGOL design committee, in your opinion, was most difficult to achieve at that time?

= Among of the three original goals of the ALGOL design committee, I think that the first goal point which is “The syntax of the language should be as close as possible to standard mathematical notation, and programs should be readable with little further explanation” was the most difficult to achieve at that time, because it competed with the another existing language ( Fortran ) for scientific applications to be the universal language of its application area at that time.






1 comment:

  1. Excellent post, An individual brings up appropriate with respect to the various hardware and furthermore I incline toward these records certainly and furthermore you will get rethinking on the web to deliver work remarkably.

    ReplyDelete