Chapter 2

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

Plankalkul is a computer language designed for engineering purporses by Konrad Zuse in 1945. It was published in year 1972.

2. Mention an interesting feature of Zuse’s programs.

One of the interesting feature of Zuse’s programs is the inclusion of mathematical expressions showing the current relationships between program variables.

3. What does Plankalkul mean?

Plankalkul means program calculus.

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

The first hardware shortcoming was the lack of floating point hardware. The second was the lack was automatic incrementing address registers.

5. What is the number of bits in a single word of the UNIVAC I’s memory? How are the bits grouped?

The number of bits is 72. It is grouped into 12 parts which contains 6 bit bytes each.

6. What hardware capability that first appeared in the IBM 704 computer strongly affected the evolution of programming languages ?

Explain why.Its capabilities prompted the development of Fortran because it was able to support floating-point operations hardware.

7. Who developed the Speedcoding system for the IBM 701 ?

The speedcoding was developed by John Backus.

8. Who developed Short Code? Why is Short Code called automatic programming?

The shortcode was developed by John Mauchly in 1949. Short Code is called automatic programming because Short Code was nottranslated to machine code, it was implemented with a pure interpreter.

10. What was the most significant feature added to Fortran I to get Fortran II?

Independent-compilation capability

11. What control flow statements were added to Fortran IV to get Fortran 77?

logical loop statements and IF with an optional ELSE

12. Which version of Fortran was the first to have any sort of dynamic variables?

Fortran 90

13. Which version of Fortran was the first to have character string handling?

Fortran 77

14. Why were linguists interested in artificial intelligence in the late 1950s?

Linguists were concerned with natural language processing.

15. What are the different data types and structures in Common LISP?

Common LISP has a large number of data types and structures, including records, arrays, complex number, and character strings. It also has a form of packages for modularizing collection of function and data providing access control.

16. In what way are scheme and Common LISP opposites of each other?

Common LISP allows for static scoping and dynamic scoping Scheme only uses static scoping. Scheme is relatively small while Common LISP is large and complex.

17. What dialect of LISP is used for introductory programming courses at some universities?

Scheme

18. What two professional organizations together designed ALGOL 60?

ACM and GAMM

19. What was the goal for developing C?

C has adequate control statements and data-sructuring facilities to allow its use in many application areas. It alse has a rich set of operators that provide a high degree of expressiveness.

20. What were the significant modifications to ALGOL 58 to produce ALGOL 60?

The concept of block structure was introduced, two different means of passing parameters to subprograms were allowed, procedures were allowed to be recursive, stack-dynamic arrays were allowed.

21. What language was designed to describe the syntax of ALGOL 60?

BNF

22. On what language was COBOL based?

FLOW-MATIC

23. In what year did the COBOL design process begin?

1959

24. What data structure that appeared in COBOL originated with Plankalkul?

Hierarchical data structures (records)

25. What organization was most responsible for the early success of COBOL (in terms of extent of use)?

Department of Defense (DoD)

27. Why was BASIC an important language in the early 1980s?

Its smaller dialects could be implemented on computers with very small memories

28. PL/I was designed to replace what two languages?

COBOL and Fortran

29. For what new line of computers was PL/I designed?

the IBM system/360 line of computers

30. What features of SIMULA 67 are now important parts of some object-oriented languages?

Data abstraction

31. What innovation of data structuring was introduced in ALGOL 68 but is often credited to Pascal?

User-defined data types

32. What design criterion was used extensively in ALGOL 68?

Orthogonality

33. What language introduced the case statement?

The case statement was introduced in ALGOL-W, a version of ALGOL 60 created by Niklaus Wirth and C. A. R. (Tony) Hoare.

34. What operators in C were modeled on similar operators in ALGOL 68?

for and switch statements, in its assigning operators, and in its treatment of pointer

35. What are two characteristics of C that make it less safe than Pascal?

Lack of complete type checking and flexibility

37. What are the two kinds of statements that populate a Prolog database?

The statements that populate a Prolog database are called facts and rules.

38. What is the primary application area for which Ada was designed?

Embedded systems

39. What are the concurrent program units of ada called?

tasks (using the rendezvous mechanism)42. What three concepts are the basis for object-oriented programming Classes, objects and methods.

Problem Set

1. What features of Fortran IV do you think would have had the greatest influence on Java if the Java designers had been familiar with Fortran?

Capability of passing subprograms as parameters to other subprograms. It allows programmers to pass a class to another class as parameters. It will help them to integrate classes so modularity in programming can be accomplished.

2. Determine the capability of Short Code, and compare them with those of a contemporary programmable hand calculator.

Short Code consists of coded version of mathematical expression that was to be evaluated. Short code can be used to code many equations such as power, square roots, addition, subtraction, division but there is no multiplication code. Short code was able to be implemented into UNIVAC I computer. In the other hand contemporary programmable calculator was able to do multiplication with its embedded programming language. So with the contemporary calculator people can solve arithmetic problem easier than using the Short Code but it is more difficult to do further improvement to the programmable hand calculator than to the Sort Code.

It was boldly stated that FORTRAN would provide the efficiency of hand-coded programs and the ease of programming of the interpretive pseudocode systems.Fortran I- Fortran I was described in October 1956. It included input/output formatting, variable names of up to six characters, and user-defined subroutines. The early success of Fortran I was shown in results of a survey made in April 1958. Most of the code written for 704s was being written in Fortran, despite skepticism of most programming world a year earlierFortran II- Fortran II compiler was distributed on 1958. It fixed many bugs in the Fortran I and added some significant features to the language, the most important being the independent compilation of subroutines. Few years after, it also added support for double precision and complex data typesFortran IV- Fortran IV was developed in 1961 and released in 1962. It became the most used programming language of its time. IT contains many improvements from Fortran II, like explicit type declarations for variables, logical if construct and capability of passing subprograms as parameters to other subprograms

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

Speed of the generated object code. Because at that time, hardware performance is not reliable, provided that there was still no language design that allows a language to fully use hardware capabilities to the efficient point, unless the design was done from scratch / uses an existing design that must be able to do simple functions as primitive syntaxes.

6. Make an educated guess as to the most common syntax error in C programs

The most common syntax error in C programs is the punctuator (such as semicolons), brackets and operators placement. It is the most common error as programmers tend to forget to put a semicolon on every end of statements due to lack of meticulousness. Or, they either forget to put an closing bracket or placed the closing bracket on the wrong spot. This might happen due to lack of readability and writability of a code.

7. LISP began as a pure functional language buat gradually acquired more and more imperative features. Why?

Because LISP completely dominated AI applications for a quarter century. Many contemporary implementations are compiled, and the resulting code is much faster than running the source code on a interpreter. In addition to its success in AI, LISP pioneered functional programming, which has proven to a lively area of research in programming languages.

9. Why, in your opinion, did Fortran allow names that began with I,J,K,L,M, and N as implicitly integer type?

Because people at that time, especially scientists and engineers, used those alphabets to represent an unknown number as variable so they can process the problem. In my pure opinion, it is because it’s easier to use those alphabets as names since most likely Fortran was not yet used to develop a program that is too complex / has too many parts that using such variable name would confuse the programmer

10. Outline the major developments in ALGOL 60.

The concept of block structure was introduced, two different means of passing parameters to subprograms were allowed, procedures were allowed to be recursive, stack-dynamic arrays were allowed.

13. What is the primary reason why C became more widely used than Fortran?

Fortran can’t allocate new variables or space during execution time. This made recursive subprograms to run and made it difficult to implement a data structure that change shape dinamically. Kinds of program being built were simpler than recent. Thus Fortran are not able to accomodate the requirements of recent software developments. But, C is able to cover most of Fortran’s weakness on developing software that has advanced requirements. That is why C is more widely used.

16. What is your opinion of the argument that languages that are too complex are too dangerous to use, and we should therefore keep all languages small and simple?

I strongly disagree with that argument. Languages that are too complex, in my opinion is not dangerous at all – in case that the programmer who use the language knows exactly what he / she is doing. High complexity means that the program will be able to do more than simple coded programs, as complexity is defined as orthogonality. There is no use in keeping all languages small and simple. Since if there’s a language that some thinks too complex, people just don’t have to use it as standard. Instead, they can use simple ones as the standard.

25. Give a brief general description of the Java servlet.

Java servlet is a class in Java that resides and executed on a Web server system. Its main function is to extend capabilities of a server. Servlets responds to request made by clients and gives output, one example is in form of HTML document. Servlet is commonly used for form processing and for database access. To run a servlet, a web container must be used. Servlet’s life cycle, url mapping and access rights is managed by web container.