Fall 2000
Book:
Programming Languages: Concepts and Constructs
by Ravi Sethi
To direct your study, I strongly suggest that you answer the nonprogramming
questions in chapters eight through twelve of your programming languages
text. For the other topics, I have provide sample type questions for you
to review. This will be a closed book test.
TOPICS
Ada, C++, Java, Smalltalk
Give an evaluation of the Ada language.
Give an evaluation of the C++ language.
Give an evaluation of the Java language.
Give an evaluation of the Smalltalk language.
Because Ada allows actual paramenters to be paired with formal parameters
by using the names of the formal parameters in the call statement, the
formal parameters names become visible in the caller. Ordinarily formal
parameter names are local to the called subprogram and are not visible
to the caller. Explain the effect on ease of modification of a subprogram
caused by the visibility of its formal parameter names.
You are responsible for porting a 750,000 C++ program to your company's
new computer. You manage to copy the source code to the new machine, but
you discover when you try to compile it that it has 15,000 compile errors.
What do you do now. How could you have avoided this in the first place.
You are responsible for porting a 750,000 Java program to your company's
new computer. You manage to copy the source code to the new machine. Give
the scenarios of what can (needs) to happen next.
Chapter 8: Elements of Functional
Programming
Chapter 9: Functional Programming
in a Typed Language
Chapter 10: Functional Programming
with Lists
What is printed?
fun last([x:int]) = print(x)
| last (x::y) = last[x]);
last([10,20,30,40]);
Chapter 11: Logic Programming
Chapter 12: An Introduction
to Concurrent Programs
SDL: Specification Description Language
What are the benefits of using SDL?
What type of applications can benefit the most from using SDL
Would you say that SDL is a hierarchical language.
Higher Levels of Abstraction
and Advances in Language Design
One of the more difficult problems in concurrent application is the answer
to the question "What time is it?" Synchronizing clocks across a network
of machines can be difficult, since you want the time to be exactly the
same across a network, yet it takes a finite amount of time to propagate
a given time to all machines.
a. Think of a method to pass the time to the various processor of
a multiprocessing system so that each machine has exactly the same time.
With some RISC processors, the execution of the assignment statement in
the following:
While some condition do
-- some statement here
C = A+B
end
will execute as follows:
Load control memory with A
Load control memory with B
Add two values (i.e. compute A + B)
goto while statement
store control memory into C
Explain how the store to C can occur after the jump to the top while loop and still be
correct?
Scripting Languages
What is a scripting language?
Give some examples of scripting languages?
In you bag of programming tools, why should you keep some scripting languages
handy?
Is there anything that you can do in a scripting language that you cannot
do in programming language?
Can you write a new language using an existing language?
Pros and cons of using scripting languages
Last Update: 12/2000
Name: D. Zage