Programming Languages and Compilers

 

Lecture 14

 

In this lecture we will look at programming languages, compilers and interpreters in the context of concurrent programming, distributed computing and the Internet.

 

The slides for this lecture can be found here.

 

Literature

 

Sebesta chapter 13

 

As background reading I suggest you read

 

Sebesta chapter 14

 

The online archive: occam - what is it?

 

The online Introduction to Polyphonic C#, by Nick Benton

 

The article ``FACILE -- from Toy to Tool'', by Thomsen, B., Leth, L. and Kuo, T.-M.: in: ML with Concurrency: Design, Analysis, Implementation, and Application, Flemming Nielson (Editor), Springer-Verlag, 1996. You can download a local copy here (note only accessible locally due to copyrights).

Exercises

 

Exercises for lecture 14 will be done from 12.30 till 14.15 before Lecture 15 on Thursday the 22nd of April.

 

The following exercises are best done as group discussions:

 

  1. Sebesta, review questions, 1,4,5,6,7,9,12,18,25,26,27,28,29,33, page 538-539.
  2. Sebesta, problem set, 3, page 539.
  3. What was the original target architecture of the Occam language? Could/should Occam be used for other purposes?
  4. What is the main difference between C# and polyphonic C#? Do you think the difference is worth while?
  5. What does Facile add to SML? Are these extensions sensible? Why not just use XML webservices instead?

 

 

You should limit the discussion to about 5 minutes per question, except review question 12 which could be much longer.

 

The following exercises you may prefer to do on your own or in pairs and discuss the outcome with your group:

 

  1. Sebesta, problem set, 4,6, page 539
  2. Sebesta, programming exercises, 6,  page 540