Programming is not just engineering — it is design. All my hopes and beliefs about programming boil down to that one assertion, which has become my main cause. The misunderstanding of programming as engineering has many pernicious effects, infecting our tools, technologies, and practices. Computer Science embodies this fallacy in its very name. Therefore I have banded together with some other programming language researchers and developers to form the IFIP Working Group 2.16 on Programming Language Design.
Design is the rallying cry of our mission statement and proposal (though some in the group are not as passionate about the issue as I, nor even completely in agreement with my take on it). The group is in some ways a reaction to the way that the top programming language conferences have become stuffy and stilted, because of their fixation on rigorous evaluation (which would make perfect sense if programming was just engineering). I am amazed that I set out to form this group just a year ago, starting with a dinner conversation with Andrew Black while I was at the Emerging Languages Camp in Portland. Much of the credit goes to Andrew — I am just the pebble that started the landslide. It appears there was a lot of pent-up demand for such a group, because we got an enthusiastic reception to the idea, and quickly gathered an impressive set of people.
We are following the proven model of IFIP working groups, which means that this is an invitation-only group, with permanent members and provisional visitors. Some of us are a little uncomfortable with having an exclusive club, and we may experiment with ways to open up participation, or maybe run a workshop. I hope that this group will in some small way enable further progress in programming languages, and also help foster a better appreciation of what programming is really about.