Пізня відповідь, але оскільки ще немає прийнятої відповіді, я спробую. Я вважаю це двома питаннями і спробую відповісти на них окремо:
Як менеджери обирають мови програмування?
Значно залежить від розміру досвіду організації та керівника, але, як правило, це буде мати оцінку поточної ситуації та майбутніх сценаріїв та вимог. Зазвичай це робиться за допомогою PESTLE або аналогічного аналізу, і просто для того, щоб дати кілька зразків у кожній категорії:
- Політичні
- "Ніхто не звільнявся за покупку IBM" - безпечний вибір.
- Генеральний директор почув, що Java крута - ажіотаж.
- Головний архітектор любить .NET - проект для домашніх тварин.
- Мова контролюється ворожим конкурентом - чому Google не покладається на C #.
- Економний
- Витрати на ліцензування.
- Вартість навчання розробників.
- Кодові базові міграційні витрати.
- Соціальна
- Вхід від команди.
- Наявність навичок в будинку (потреби в навчанні, наступність).
- Наявність навичок на ринку.
- Загроза існуючому статусу кво в команді розробників.
- Наявність достатньо великої спільноти практики.
- Технологічна
- Підвищення продуктивності.
- Поліпшення якості.
- Можливість взаємодії з існуючою базою коду.
- Дотримання стандартів.
- Зрілість.
- Юридичні
- Умови ліцензування.
- Технологічний контроль (Хто володіє та контролює цю технологію? Яка майбутня стратегія ліцензування може бути?)
- Відповідність законодавству та регуляторам.
- Екологічні
- Існуюча інфраструктура компанії.
- Існуючі навички в компанії.
- Інтеграція із зовнішніми партнерами.
- Рівень технологічної підтримки більш широкого середовища.
Тоді купу мов, що відповідають критеріям, можуть бути додатково оцінені за допомогою SWOT , аналізу вигоди та видатків тощо.
Весь процес може бути досить складним, але, як підсумок, більшість компаній або проектних команд будуть шукати найбезпечніший варіант, враховуючи поточні обставини, які все ще можуть забезпечити необхідні їм можливості. Досить часто це може означати дотримуватися поточної платформи довше.
Як програміст може допомогти переконатися, що для проекту обрана правильна мова програмування
Як це було сподіватися, сподіваємося, що типовий програміст, як правило, матиме лише 1/6 частини загального внеску в процес прийняття рішень. І, як правило, вона або він здебільшого цікавляться лише мовними можливостями!
Ну, найкращим способом впливати на рішення, здається, є більш широка картина процесу відбору, створення союзників у команді та поза нею, створення хорошого резюме щодо технологічної сторони речей і намагання не концентруватися лише на мовних можливостях.
І, звичайно, потрібно потрапити на посаду, коли керівник проекту або розробника (або хто інший відповідає) бачить переваги проходження всього процесу оцінювання і готовий врахувати ризики та невизначеності переходу на інше мова в першу чергу. Для цього потрібно продемонструвати, що:
- Поточна платформа вже не є адекватною.
- Нова платформа обіцяє переваги, які значно переважають клопоту.
Однак, якби ви запитали "Який найкращий спосіб використовувати на роботі мову, яка мені подобається", відповідь, ймовірно, полягала б у "приєднанні до компанії, яка вже використовує мову, або створити свою власну".