Less-java, more learning: Language design for introductory programming