Factors to consider when choosing languages and technologies