[TYPES] The type/object distinction and possible synthesis of OOP and imperative programming languages

Andreas Rossberg rossberg at mpi-sws.org
Sat Apr 20 05:00:46 EDT 2013

On Apr 19, 2013, at 09:21 , Uday S Reddy <u.s.reddy at cs.bham.ac.uk> wrote:
> 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.

Unfortunately, that has been the reality in the "Real World" for the last 40 years, and I'm pretty sure it will continue to be so for the next 40. In mainstream language design, formal training is the exception, not the rule. Most decision makers couldn't parse an operational semantics if their life depended on it. Let alone understand a denotational model or a type system.

I usually compare it to architects designing bridges without knowing the first thing about statics. It's sufficient qualification to have crossed bridges all your life. And if in doubt, a road sign always is an appropriate measure for preventing one from collapsing. Traffic participants are expected to bring parachutes.

To be fair, it took a few millennia before knowledge about statics prevailed among bridge builders, too.


More information about the Types-list mailing list