An objective comparison of languages for teaching introductory programming | Synapse