CS 446 Notes 7 for 18 Oct 1995
CS 446 Fall Quarter Notes 7 Gio Wiederhold
Experimental Seminar on Large Scale Software Construction.
Charles Simonyi
currently of Microsoft Corporation, author of
the original Micosoft Word will give a special seminar about recent
work at Microsoft Research.
Wednesday, October 18, 1995 at 3:15 in MJH 146.
The Death of Computer Languages, the Birth of Intentional Programming
High level languages have been one of the most successful concepts in
software, yet we still feel strangely dissatisfied. New language
development has practically ceased not because of (or should I say not
only for) a dearth of ideas but for the pragmatic reason that legacy
code needs outweigh any benefits that could be reasonably expected. We
will deconstruct the principles of high level languages into three
groups: unassailable, doubtful, and terrible-but-accepted-as-
necessary. By re-evaluating the latter two groups in light of the
revolution in user interfaces and machine power, we reach an
arrangement whereby the programmer's contributions can be directly
encoded into a form which we term intentional. An Intention represents
an arbitrary abstraction by defining its looks, semantics, and other
behaviour that the abstraction might need in an integrated development
environment. Since individual programming language features in
existing or even just planned future programming languages can be
expressed as intentions and thereafter can co-exist with each other,
any programming languages possessing a fixed set of syntactic and
semantic rules will be superceded just as old dedicated word
processors were obsoleted by personal computers. The main benefit will
be that the new high level language ideas will be able to flourish
without ever again creating a conflict with the legacy code which has
been absorbed into the intentional system, a state which we term
software immortality. The cost of introducing a new intention will be
low enough that special intentions can be defined by users for their
own domains and with domain specific knowledge the intentions can
yield highly optimized implementations. We will discuss some plausible
ideas which have been waiting in the wings just for such an
opportunity.