Text this: On the construction of programs