March 11, 2013

KBP Chapter 2

Rickvian Aldi / 01PBT / 1601253441
Assignment By Mr. Tri Djoko Wahjono

Review Questions

1. In what year was Plankalkul designed? In what year was that design published?
-Designed 1945, published at 1972

2. Mention an interesting feature of Zuse's programs.
-The inclusion of mathematical expressions showing the current relationships between program variables. These expression stated what would be true during execution at the points in the code where they appreared.

3.What does plankakul mean?
-Plankalkul means program calculus.

4.Speedcoding was invented to overcome two significant shortcomings of the computer hardware of early 1950s. What were they?
-The system included prseudoinstructions for the four arithmetic operations on floating-point data, as well as operations such as square root, sine arc tanget exponent. On the other hand, Speedcoding included the novel facility of automatically 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 words of the UNIVAC I's memory had 72 bits, grouped as 12 six-bit bytes.

6.What hardware capability that first appeared in the IBM 704 computer strongly affected the evolution of programming languages? Explain why.
-Because of its capabilities prompted the development of FORTRAN.
With both indexing and floating-point instructions in hardware, heralded the end of the interpretive era, at least for scientific computation.

7.Who developed the speedcoding system for the IBM 701?
-John Backus 1954

8.Who developed Short Code? Why Short Code called automatic programming?
-Developed by John Mauchly in 1949.
-Short code was not translated to machine code; rather, it was implemented with a pure interpreter.

9.Under what enviromental consideration was Fortran developed? Which is the first version of the Fortran?
-The environment in which Fortran was developed was as follows:
-Computers had small memories and were slow and relatively unreliable
-The primary use of computers was for scientific computations
-There were no existing efficient and effective ways to program computers
-Because of the high cost of computers compared to the cost of programmers, speed of the generated object code was the primary goal of the first FORTRAN compilers.
The first version of FORTRAN is fortran 0.

10.What was the most significant feature added to fortran I to get Fotran II?
-The most important being the independent compilation of subroutines. Without independent compilation, any change in a program required that the entire program be recompled.

11.What control flow statements were added to Fortran IV to get Fortran 77?
-Fortran 77 retained most of the features if Fortran IV and added character string handling, logical loop control statements, and an if with an optional else clause.

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 linguist 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?
-records, arrays, complex number, character strings, many more.

16.In what way are Scheme and Common LISP opposites of each other?
-Scheme is small language with simple sytax and semantics.
-Common LISP is relatively large and complex language.

17.What dialect of LISP is used for introductory programming courses at some universities?
-Scheme is well suited to educational applications, such as courses in functional programming and general introductions to programming.

Problem set

1. What features of Fotran IV do you think would have had the greatest influence on Java if the Java designers had been familiar with Fotran?
-Amon its most important additions were explicit type declaration for variables, a logical if construct and capability of passing subprograms as paramaters to others subprograms.

3.Write a short history of the Fotran 0, Fotran I, Fotran II, and Fotran IV systems.
-Fotran 0:
Even before the 704 sysetem was announced, plans were begun for Fortran. John Backus and his group at IBM had produced the report titled "The IBM Mathematical FORmula TRANsalating System: FORTRAN". This document described the first version of Fortran, the first fortran compiler included little syntax error checking.
Fortran 0 was modified during the implementation periond, which began in january 1955.

-Fortran I :
The implemented language, which we called Fortran I, is described in the first Fortran Programmer's Reference Manual, published October 1956.
the most audacious claim made by the fortran development group during the design of the language was that the machine code produce by the compailer would be about half as efficient as what could be produced by hand.

- 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 types

Fortran 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

4. As a research project, compare the features of C with those of the BASIC.
-BASIC was easy for beginners to learn, especially those who were not science oriented, and its smaller dialects can be implemented on computers with very small memories.
-C has adequate control statements and data-structuring facilities to allow its usee in many applications areas. It also has a rich set of operators that provide a high degree of expressiveness.

5.Which of the three original goals of the Fotran design commitee, in your opinion, was most difficult to achieve at that time?
-Speed of the generated object was the most difficult to achieve because of computers at that time has slow and not reliable performances.

6.Make an educated guess as to the most common syntax error in C programs.
-C has lack of complete type checking, this will cause syntax error difficult to found. For example, in versions before C99, functions could be written for which parameters were not type checked

7.LISP began a a pure functional language but gradually acquired more and more inverative features. Why?
-LISP-The first functional programming language was invented to provide language features for list processing. Interest in AI grew out liguistics were concerned with natural language processing, pyschologist were interested in modeling human information storage and retrieval, mathematiicians were interested in mechanizing certain intelligent processes.
Some method must be developed to allow computers to process symbolic data in linked lists which make LISP gradually developed.

9. Why, in your opinion, did Fortran allow names that began with I,J,K,L,M, and N as implicitly integer type?
-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

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.