name and describe five criteria that are used by organizations to choose among programming languages.