Keynote - A Cobbler’s Child

The most popular programming language in computer science has no compiler, interpreter, or complete specification. It is remarkably concise. It grew over decades; today, dozens of variations are in use. Its complexity has reached the point where it needs to be re-explained every time it is used—but too often it is not; instead, each variant is more or less taken for granted. This has led to ambiguities and inconsistencies. Much effort has been spent in hand-translating, in both directions, between this language and other languages that do have compilers, primarily for the purpose of implementing yet other languages.

The language could well describe parallel computation, but this fact has gone unexploited. In this talk we will summarize the history of the language, highlight variations and problems that have arisen, and propose specific solutions. It is high time that this language be taken seriously, so that all the best tools and techniques of our trade may be applied to it also.