Addressing the psychology of programming in programming language design