Monday, March 4, 2013

Answers of Concepts Programming Languages Chapter 1

A. Review Questions
1.      Because by studying programming design, he/she will get the following benefits :
a.      Increased capacity to express ideas
b.      Improved background for choosing appropriate language
c.      Increased ability to learn new languages
d.      Better understanding of the significance of implementation
e.      Better use of languages that are already known
f.       Overall advancement of computing
2.        -
3.      Fortran
4.      COBOL
5.      LISP
6.      C
7.      - 
8.      - 
9.      One of the example of orthogonality lack in C language is the expression of “a + b”, where a happens to be a pointer. When the addition wanted to be done, the value of b needs to be multiplied by 4 at first. Therefore, the type of a determines the treatment to b.
10.   Program which built based on orthogonality is ALGOL 68, although it causes unnecessary complexity because of the large number of orthogonalities it has.
11.    -
12.   In contemporary programming language design, we can find the abstraction support because abstraction is the key concept in that programming language design.
13.   A reliable program is a program which can performs to its specifications under all conditions.
14.   Because if we don’t type check the parameters in the subprogram, it will led to countless program error and the function/subprogram only will produce nonsense product.
15.   Aliasing is when we have two or more pointers pointing to the same address/memory cell.
16.   Exception handling is the facility included in programming languages to intercept run-time errors, take corrective measures, and continue the program.
17.   Programs that are difficult to read is also difficult to write and to modify
18.    -
19.   In the past 50 years, programming language design has been influenced by von Neumann architecture.
20.   The programming language used in von Neumann architecture is imperative languages.
21.   Two major programming language deficiencies identified in 1970’s were incompleteness of type checking and inadequacy of control statements.
22.   Three fundamental features of object-oriented programming are data abstraction, inheritance and dynamic method binding.
23.   The first object oriented programming program is Smalltalk.
24.   An example of two languages which in direct conflict with each other is between object-oriented programming and procedure-oriented programming.
25.   Three general methods of implementing programming language are compilation, pure interpretation, and hybrid implementation systems.
26.   Compiler does faster job in executing program because it will translate the whole code first and then compile it.
27.   Symbol table serves as a database for the compilation process in compiler. Symbol table contains the type and attribute information of each user-defined name in the program.
28.   Byte code provides the portability to any machine that has a byte code interpreter and an associated run-time system.
29.   Hybrid implementation system is the combination of compiler and interpreter. It translates the high-level language to an intermediate language designed to allow easy interpretation and then the source language statements are decoded once.
30.   By using Borland JBuilder, we have a complex and powerful system for creating Java software

B. Problem Set
1.    I don’t think that to solve a problem in a particular algorithmic step, we need to learn programming language because the key to solve the problem relies on our logic. Although we learned or not learned about any programming languages, but we have the understanding on the way to solve it and can think logically, the problem can be solved.
2.    The first programmer in human history is Ada Lovelace.
4.    Scientific applications concern about the efficiency of the program and there are also quite many applications designed for this purpose. While in business application, less application was made because it requires certain programming language, in this case is the COBOL language. In business application, the precision of the result is the main concern.
5.    In Artificial Intelligence (AI) application, it uses symbolic computations, where symbols are manipulated. It also requires more flexibility than other programming domains. While in web software, programming languages are not widely needed. Scripts and markup languages are the basic languages used in web software.
6.    I think simplicity of a programming language is the most important thing because by having simplicity in a language, it enhances the chance of a person to understand that language faster while more and more programming languages appear. By having great simplicity, more programmers will use that language and more people understand about the code written in that language.
7.    The advantages of using semicolon in Java: it enhances the readability of the program since it makes it clear where a statement ends. It also will make the programmer to adapt faster in other programming languages using this same feature, like C, C++, PHP, etc.
        The disadvantages of using semicolon in Java: it requires more check whether there is semicolon in the end of every statement. It also needs to differentiate between statement and not statement.
8.    Pros: it shortens the length of the codes needed especially for the processes needed repeatedly. It also will help in debugging when errors happen because the code has been separated.
        Cons: it requires more type-checking. It adds more complexity to the language. 

No comments:

Post a Comment