Concepts, Techniques, and Models of Computer (计算机的概念、技术和模型)
Concepts, Techniques, and Models
of Computer Programming
Peter Van Roy
Université catholique de Louvain
Louvain-la-Neuve, Belgium
Seif Haridi
Kungliga Tekniska Högskolan
Kista, Sweden
9/12/2004 P. Van Roy, BCS talk 1
Overview
Goals of the book
What is programming?
Concepts-based approach
History
Creative extension principle
Teaching programming
Examples to illustrate the approach
Concurrent programming
Data abstraction
Graphical user interface programming
Object-oriented programming: a small part of a big world
Formal semantics
Conclusion
9/12/2004 P. Van Roy, BCS talk 2
Goals of the book
To present programming as a unified
discipline in which each programming
paradigm has its part
To teach programming without the
limitations of particular languages and
their historical accidents of syntax and
semantics
Today’s talk will touch on both of these
goals
9/12/2004 P. Van Roy, BCS talk 3
What is programming?
Let us define “programming” broadly
The act of extending or changing a system’s functionality
For a software system, it is the activity that starts with a
specification and leads to its solution as a program
This definition covers a lot
It covers both programming “in the small” and “in the large”
It covers both (language-independent) architectural issues
and (language-dependent) coding issues
It is unbiased by the limitations of any particular language,
to