What do programmers really need to know?