Principles of language design and evolution

Heeded or not, Tony Hoare’s Hints on Programming Language Design [1] remains, more than 25 years after publication, the principal source of wisdom on how to produce sound programming languages. I will try to expand on Hoare’s principles by presenting some of what my own experience has taught me, through my work not only on Eiffel but also on numerous “little languages” as well formal specification languages such as Jean-Raymond Abrial’s Z [2], and through a lifetime passion for critical observation of languages of all kinds, from JCL, Fortran, troff, csh and awk to Miranda, Java, Perl, and XML.