In the 50s, when the first programming languages were designed,
computers cost millions, and relatively, programmers were almost free.
Those programming languages therefore reflected that relationship: it
didn't matter if it took a long time to program, as long as the
resulting program ran as fast as possible. Now, that relationship has
been reversed: compared to the cost of programmers, computers are
almost free. And yet we are still programming them in descendants of
the programming languages from the 50's: we are still telling the
computers step by step how to solve the problem.
Declarative programming is a new approach to applications: rather than
describing exactly how to reach the solution, it describes what the
solution should look like, and leaves more of the administrative parts
of the program to the computer. One of the few declarative languages
available is XForms, an XML-based language that despite what its name
might suggest is not only about forms. Large projects, at large
companies such as the National Health Service, the BBC and Xerox, have
shown that by using XForms, programming time and cost of applications
can be reduced to a tenth, and sometimes even much more!
Steven Pemberton is a researcher affiliated with the CWI in Amsterdam,
the Dutch national research centre for mathematics and computer
science, original home of Algol 60, Algol 68, Dijkstra, van
Wijngaarden, Python, and the European internet.
His tutor at university was Dick Grimsdale, who built the world's
first transistorised computer, and was himself a tutee of Alan Turing.
Steven later worked in Turing's old department, writing a compiler for
Algol 68 for the 5th computer in the line of computers Turing had
Steven co-designed the programming language ABC, which formed the
basis of Python, was the first user of the open internet in Europe in
1988, organised workshops at the first web conference in 1994, and
went on to co-design a number of Web technologies, including CSS,
HTML, XHTML, RDFa, and XForms. He was chair of the HTML Working group
for a decade.
He currently chairs two groups at W3C, and his work now focuses on
declarative techniques; he co-organises an annual conference on the
topic. In 2022 he received the ACM SIGCHI Lifetime Practice Award.