Единственно верного ответа на вопрос, какой язык использовать, не существует. Это хорошо и плохо одновременно. Наша отрасль постоянно создает новые и лучшие технологии, и по сравнению с ними все существующее кажется хуже, чем оно есть на самом деле. Вы в любом случае будете испытывать сомнения покупателя, который, что бы ни купил, думает, что есть вариант получше, но если вы основываете свой выбор на результатах анализа, то он будет правильным для своего времени. Следующие вопросы помогут вам оценить языки/фреймворки:
• Кто является его разработчиком? Движущая сила, стоящая за языком, важна, особенно если это конкретная компания. Какая часть ее доходов зависит от успеха этого языка? Если условия для бизнеса изменятся, выживет ли она и что с ней произойдет при этом? Языки, созданные вокруг независимого комитета по стандартизации, обычно имеют больше шансов на долгожительство.
• Как давно он существует? Зрелость – важный фактор. Ваша цель не стать защитником языка, а обеспечить решение задач и стабильность для ваших клиентов. Старайтесь избегать языков, существующих менее двух лет, – за этот срок другие успеют пройтись по всем граблям в языке и станет понятно, сможет ли он расти и расширяться.
• Насколько активно тематическое сообщество? Когда у разработчика возникает вопрос, он обращается к поисковику. Но если язык новый, данных о нем мало. Изучите, насколько активно интернет-сообщество пользователей данной технологии: сколько результатов поиска выдается по запросу, существуют ли активные группы пользователей, есть ли у языка живое и деятельное сообщество open source, сколько книг было опубликовано по этому языку?
• Учат ли его в вузах? Убедительным доказательством перспективности языка служит то, что его изучают в университетах. Вузы обязаны думать о долгосрочной перспективе, поскольку студенты должны получать знания, которые останутся актуальными еще несколько лет после выпуска. Как правило, языки, привязанные к одной компании, в университетах не изучаются.
• Насколько широко эта технология представлена на рынке труда? Представьте, что завтра вам нужно будет подобрать большую команду. Сможете? Просмотрите сайты вакансий, позвоните в агентства и оцените не только количество вакансий, в которых этот навык требуется, но и количество кандидатов, обладающих этим навыком. Если язык только начинает развиваться, вам придется значительно переплачивать узкому кругу экспертов.
Принять правильное решение бывает сложно; однако с последствиями ошибки вы столкнетесь очень быстро. Потратьте достаточно времени на анализ и выбирайте с умом. Не поддавайтесь соблазну выбрать технологию, которая использовалась для проверки концепции, потому что обычно она не слишком хорошо масштабируется при создании полноценного продакшена.