Senin, 06 Oktober 2014

Chapter 2: Evolution of Major Programming Languages

This post is about chapter 2 of Sebesta's Programming Language Concept book. I will show you about how I think about this chapter by answering 5 numbers of Review Questions, and 5 numbers of Problem Set.

Review Questions:
1. In what year was Plankalkül designed? In what year was that design published?
   Plankalkul was designed in 1945 by a German scientist called Konrad Zuse, but the Plankalkul itself was published in 1972.

2. What two common data structures were included in Plankalkül? 
   The data structures included in Plankalkul were arrays and records. Those two are just addition to the usual scalar type.

3. How were the pseudocodes of the early 1950s implemented?
   In the early 1950s, the computers  weren't as fast as they are nowadays. They were unreliable, expensive, and having extremely small memories. There were no high-level programming languages, so people have to do the programming using the machine code, which means using numeric codes for specifying instructions. Pseudocodes were made to avoid the errors by making new instructions to replace the numeric codes.

4. Speedcoding was invented to overcome two significant shortcomings of the computer hardware of the early 1950s. What were they?
    They were pseudoinstructions for the four arithmetic operations on floating-point data and also novel facility of automatically incrementing address registers.

5. Why was the slowness of interpretation of programs acceptable in the early 1950s? 
    Because in that time the available computers were far less usable than they were today. The computers were slow, unreliable, expensive, and having small memories. There was also lack of supporting software.

Problem Set:
1. What features of Plankalkül do you think would have had the greatest influence on Fortran 0 if the Fortran designers had been familiar with Plankalkül?
   It would be the arrays, loop, and selection features.

2. Determine the capabilities of Backus’s 701 Speedcoding system, and compare them with those of a contemporary programmable hand calculator.
   Backus's speedcoding system converted the 701 to a virtual three-address floating-point calculator which includes four arithmetic operational on floating point such as sqrt, sine, arc tangent, exponent, and logarithm. It was so fast because it only needs 4.2 miliseconds to execute.

3. Write a short history of the A-0, A-1, and A-2 systems designed by Grace Hopper and her associates.
  A-0, A-1, and A-2 was a project developed by a team led by Grace Hopper. They were actually a series of compiling system that expanded pseudocodes into machine code subprograms.

4. As a research project, compare the facilities of Fortran 0 with those of the Laning and Zierler system.
The Laning and Zierler system (Laning and Zierler, 1954) was the first algebraic translation system to be implemented. It translated arithmetic expressions, used separately coded subprograms to computer transcendental functions (e.g., sine and logarithm), and included arrays. Meanwhile, Fortran 0 was mathematical formula translation system implementation

5. Which of the three original goals of the ALGOL design committee, in your opinion, was most difficult to achieve at that time?
   It would be the second goal: "It should be possible to use the language for the description of algorithms in printed publications". In my opinion, it would be hard for someone who hasn't learnt about programming language to know the meaning of syntaxes. Even the syntax was made by human and still being adapted from natural language, sometimes it's hard to find out what does it mean, or when to use the syntax, etc.
   

Tidak ada komentar:

Posting Komentar