Usage of the Java Language by Novices over Time: Implications for Tool and Language Design | Synapse