Static vs. Dynamic Programming Languages: Which is Right for You?