An Analysis of 36 Program Approaches