The ultimate goal of all computer science is the program. In the beginning, so our myths and stories tell us, the programmer created the program from the eternal nothingness of the void. These notes have the status of letters written to ourselves: we wrote them down because, without doing so, we found ourselves making up new arguments over and over again. In 2002 at the first OOPSLA Onward track, James Noble and Robert Biddle presented a paper entitled “Notes on Postmodern Programming”. The paper was a both a paean, a homage to the love of programming and its lore, but also a mocking attack. One common question was whether the paper was serious or a joke? It was both, and that was the agenda. In following years, similar papers were presented, with diminishing impact: the shock of the new wears off. In this retrospective, we revisit some of the propositions made in the early papers, and attempt to re-experience the shock. Old men forget: yet all shall be forgot, but we’ll remember with advantages what feats we did that day.
James Noble is Professor of Computer Science and Software Engineering at Victoria University of Wellington, New Zealand. James has B.Sc(Hons) and Ph.D. degrees, both from VUW, completed in 1997. After leaving VUW, James worked in Sydney, first at the University of Technology, Sydney, and then at the Microsoft Research Institute, Macquarie University. James returned to VUW as a lecturer in late 1999, just in time to avoid the predicted end of the world.
James’s research centres around software design. This includes the design of the users’ interface, the parts of software that users have to deal with every day, and the programmers’ interface, the internal structures and organisations of software that programmers see only when they are designing, building, or modifying software. His research in both of these areas is coloured by my longstanding interest in object oriented approaches to design, and topics he has studies range from aliasing and object ownership, design patterns, agile methodology, via usability, visualisation and computer music, to postmodernism and the semiotics of programming.