QUEST: the design of a very high level, pedagogic programming language