Review Questions:
1. In what year was Plankalkul designed? In what years was that design published?
Plankalkul was designed in 1943 by Konrad Zuse as his proposal for his Ph. D. dissertation. In a lengthy manuscript dated 1945. The design was published in 1972.
2. Mention an interesting feature of Zuse’s programs.
An interesting feature of Zuse’s programs was the inclusion of mathematical expressions showing the current relationships between program variables. These expression stated that would be true during execution at the points in the code where they appeared. These are very similar to the assertions of Java and in those in axiomatic semantics.
3. What does Plankalkul mean?
Plankalkul means program calculus. It was defined and the algorithms were written in language to solve a wide variety of problems by Zuse.
4. Speedcoding was invented to overcome two significant shortcomings of the computer hardware of the early 1950s. What were they?
They were the novel facility of automatically incrementing address registers which didn’t appear in hardware until the UNIVAC 1107 computers of 1962. The speedcoding interpreter effectively converted the problem of 701 ti a virtual three-address floating-point calculator.
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 in a single word of the UNIVAC I’s memory is 72 bits and the bits are grouped as 12 six-bit bytes.
6. What hardware capability that first appeared in the IBM 704 computer strongly affected the evolution of programming language? Explain why.
Indexing and floating-point instructions in hardware, because one of the primary reasons why the slowness of interpretive system was tolerated from the late 1940s to the mid-1950s was the lack of floating-point hardware in the available computers. All floating-point operations had to be simulated in software, a very time-consuming process. Because so much processors time was spent in software floating-point processing, the overhead of interpretation and the simulation of indexing were relatively insignificant. As long as floating-point had to be done by software, interpretation was an acceptable expense.
7. Who developed the Speedcoding system for the IBM 701?
The speedcoding system was developed by John Backus for the IBM 701 which is an example of such a system (Backus, 1954).
8. Who developed Short Code? Why is Short Code called automatic programming?
Short Code was developed by John Mauchly. It is called automatic programming because it is not translated to machine code, rathter it was implemented with a pure interpreter. It clearly simplifies the programming process, but at the expense of execution time.
9. Under what environmental consideration as Fortran developed? Which is the first version of Fortran?
Environmental consideration as Fortran developed was under:
– Computers had small memories and were slow and relatively unreliable
– The primary use of computer was for scientific computations
– There were no existing efficient and effective ways to proram computers
– Because of the high cost of computers compare 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 Fortran II?
The most significant feature added to Fortran I to get Fortran II was the independent compilation of subroutines. Without it, any change in a program required that the entire program be recompiled.
11. What control flow statements were added to Fortran IV to get Fortran 77?
Control flow statements added to Fortran IV to get Fortran 77 were logical loop control statements and an If with an optional Else clause.
12. Which versions of Fortran was the first to have any sort of dynamic variables?
Fortran 90(ANSI, 1992) was the first version of Fortran to have any sort of dynamic variables.
13. Which version of Fortran was the first to have character string handling?
Version of Fortran that was the first to have character string handling was Fortran 77. Moreover it became standard in 1978 and it retained most of features of Fortran IV.
14. Why are linguist interested in artificial intelligence in the late 1950s?
Linguist were interested in artificial intelligence in the late 1950s because the were concerned with natural language processing.
15. What are the different data types and structures in Common LISP?
The different data types and structures in common LISP are the 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 a packages for modularizing collections of functions and data providing access control.
23. In what year did the COBOL design process begin?
COBOL design process was begun in 1959 when it was held the meeting of the subject of a common language for business applications, which was sponsored by the Department of Defense at the Pentagon.
27. Why was BASIC was an important language in the early 1980s?
In early 1980s BASIC was an important language because it was easy for beginners to learn, especially those were not science oriented, and its smaller dialects can be implemented on computers with very small memories.
Problem Set:
1. What features of Fortran IV do you think would have had the greatest influence of Java if the Java designers had been familiar with Fortran?
It think they would be the capability of passing subprograms as parameter to others subprogram, explicit type declarations for variables, and a logical if construct.
3. Write a short history of the Fortran 0, Fortran I, Fortran II, Fortran IV systems.
Fotran 0 was the first version of Fortran. It stated that it would provide the efficiency of hand-coded programs and the ease of programming of the interpretive pseudocode systems. Environmental consideration as Fortran developed was under: computers had small memories and were slow and relatively unreliable, the primary use of computer was for scientific computations, there were no existing efficient and effective ways to proram computers, because of the high cost of computers compare to the cost of programmers, speed of the generated object code was the primary goal of the first Fortran compilers.
Fortran I included input/output formatting, variable names of up to six characters, user-defined subroutines, the if selection statement and the Do loop statement. There were no data typing, variable whose names began with I, J, K, L, M, N were implicity integer type, and all others were implicitly floating-point.
Fortran II fixed many of the bugs in the Fortran I compilation system and added some significant features to the language, most important being the independent compilation of subroutines. Without independent compilation, any change in a program required that the entire program be recompiled. The capability of including precompiled machine language versions of subprograms shortened the compilation process considerably and made it practical to develop much larger programs.
Fortran IV became one of the most widely used programming languages of its time. It was an improvement over Fortran II in many ways. It added explicit type declaration for variable, a logical If construct, and the capability of passing subprograms as parameters to other subprograms.
9. Why in your opinion, did Fortran allow names that began with I, J, K, L, M, and N as implicitly integer type?
In my opinion Fortran allowed it due to the programmers habits of using those character as name of variable. And it eased the programmers to declare the variable with int data type whenever they needed it.
10. Outline the major developments in ALGOL 60.Major development of ALGOL 60:
– The concept of block structure was introduced. This allowed the programmer to localize parts of programs by introducing new data environments, or scopes.
– Two different means of passing parameters to subprograms were allowed: pass by value and pass by name.
– Procedures were allowed to be recursive. The ALGOL 58 description was unclear on this issue. Note that although this recursion was new for the imperative languages, LISP had already provided recursive functions in 1959.
– Stack-dynamic arrays were allowed. A stack-dynamic array is one for which the subscript range or ranges are specified by variables, so that the size of the arrays is set at the time storage is allocated to they array, which happens when the declaration is reached during execution.
15. Are there any non procedural languages other than Prolog?
Yes there are, SQL is non procedural languages.
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?
My opinion about it is that those language are literally not dangerous. It is dangerous if an amateur tries to create a complex program with less understanding of concept of that languages which are too complex. If it is reachable to create a language which are small and simple, why not? As long as it can provide all that we need to create a program. Regarding simplicity is one of the characteristic that a programming language should have.
24. Why, in your opinion, do new scripting languages appear more frequently than new compiled languages?
In opinion I think it is because a scripted language is easier for the beginner to learn and implement than a compiled language. And also due to scripting languages efficiency of its ease built in interfaces and give the fastest turnaround from script to execution.
25. Give a brief general description of the Java servlet.
Java servlet is Java platform technology of choice for extending and enhancing Web servers. Servlets provide a component-based, platform-independent method for building Web-based applications, without the performance limitations of CGI programs. And unlike proprietary server extension mechanisms (such as the Netscape Server API or Apache modules), servlets are server- and platform-independent.