Mark Janssen writes: > The main thing that I notice is that there is a heavy "bias" in > academia towards mathematical models. I understand that Turing > Machines, for example, were originally abstract computational concepts > before there was an implementation in hardware, so I have some > sympathies with that view, yet, should not the "Science" of "Computer > Science" concern itself with how to map these abstract computational > concepts into actual computational hardware?
I think there is some misunderstanding here. Being "mathematical" in academic work is a way of making our ideas rigorous and precise, instead of trying to peddle wooly nonsense. Providing a mathematical description does not imply in any way that these ideas are not implementable on machines. In fact, very often these mathematical descriptions state precisely how to implement the concepts (called operational semantics), but using mathematical notation instead of program code. The mathematical notation used here is usually no more than high school set theory, used in a stylized way. In contrast, there are deeper "mathematical models" (called denotational semantics and axiomatic semantics) which are invented to describe how programming language features work in a deep, intrinsic way. This is similar to, for instance, how Physics invents mathematical models to capture how the nature around us works. Physicists don't need to "implement" nature. It has already been "implemented" for us before we are born. However, to understand how it works, and how to design systems using physical materials in a predictable way, we need the mathematical models that Physics has develeped. Similarly, the mathematical models of programming languages help us to obtain a deep understanding of how languages work and how to build systems in a predictable, reliable way. It seems too much to expect, at the present stage of our field, that all programmers should understand the mathematical models. But I would definitely expect that programming language designers who are trying to build new languages should understand the mathematical models. Otherwise, they would be like automotive engineers trying to build cars without knowing any Mechanics. Cheers, Uday Reddy -- Prof. Uday Reddy Tel: +44 121 414 2740 Professor of Computer Science Fax: +44 121 414 4281 School of Computer Science University of Birmingham Email: u.s.re...@cs.bham.ac.uk Edgbaston Birmingham B15 2TT Web: http://www.cs.bham.ac.uk/~udr -- http://mail.python.org/mailman/listinfo/python-list