Text this: Programming Languages: Principles and Paradigms