A concise introduction to computer languages design, experimentation, and paradigms - Cooke, Daniel E. (Thomson/Brooks/Cole, 2003)