Criteria for choosing a Programming Language