Поздний ответ, но так как пока нет принятого ответа, я попробую. Я воспринимаю это как два вопроса и попытаюсь ответить на них отдельно:
Как менеджеры выбирают языки программирования?
Сильно зависит от размера организации и опыта менеджера, но обычно включает оценку текущей ситуации и будущих сценариев и требований. Обычно это делается с помощью PESTLE или аналогичного анализа, и просто для того, чтобы дать несколько образцов в каждой категории:
- политическая
- «Никто не был уволен за покупку IBM» - безопасный выбор.
- Генеральный директор слышал, что Java это круто - ажиотаж.
- Главный архитектор любит .NET - любимый проект.
- Язык контролируется враждебным конкурентом - почему Google не полагается на C #.
- экономный
- Лицензионные расходы.
- Стоимость обучения разработчиков.
- Затраты на перенос базы кода.
- Социальное
- Бай-ин от команды.
- Наличие навыков в доме (потребности в обучении, преемственность).
- Наличие навыков на рынке.
- Угроза существующему статус-кво в команде разработчиков.
- Наличие достаточно большого сообщества практиков.
- технологический
- Улучшение производительности.
- Улучшение качества.
- Возможность взаимодействия с существующей кодовой базой.
- Соблюдение стандартов.
- Зрелость.
- легальный
- Условия лицензирования.
- Технологический контроль (Кто владеет технологией и контролирует ее? Какова будет стратегия лицензирования в будущем?)
- Соблюдение правовых и нормативных требований
- экологическая
- Существующая инфраструктура внутри компании.
- Существующие навыки внутри компании.
- Интеграция с внешними партнерами.
- Уровень технологической поддержки более широкой средой.
Затем группа языков, соответствующих критериям, может быть дополнительно оценена с использованием SWOT , анализа затрат и результатов или подобного.
Весь процесс может быть довольно сложным, но в итоге большинство компаний или проектных групп выберут самый безопасный вариант, учитывая их текущие обстоятельства, которые все еще могут предоставить необходимые им возможности. Довольно часто это может означать придерживаться текущей платформы дольше.
Как программист может помочь убедиться, что для проекта выбран правильный язык программирования
Как мы надеемся, было продемонстрировано, что обычный программист обычно получает лишь 1/6 от общего вклада в процесс принятия решений. И, как правило, ее или ее больше всего интересуют только языковые возможности!
Что ж, лучший способ повлиять на решение, по-видимому, иметь более широкую картину процесса отбора, создать союзников внутри и вне команды, составить краткий обзор по технологическим аспектам и попытаться не концентрироваться только на языковых возможностях.
И, конечно же, нужно войти в положение, когда менеджер проекта или развития (или кто-либо еще отвечает) видит преимущества прохождения всего процесса оценки и готов рассмотреть риски и неопределенности перехода на другое язык на первом месте. Для этого нужно продемонстрировать, что:
- Текущая платформа больше не является адекватной.
- Новая платформа обещает преимущества, которые намного перевешивают трудности.
Однако, если бы вы спросили: «Как лучше всего использовать на работе язык, который мне нравится», ответ, вероятно, был бы «присоединиться к компании, которая уже использует этот язык, или начать свой собственный».