​​Специализация или универсализация?



Хороший разработчик способен программировать на любом языке, поскольку языки — это просто «if-then-else»-образные конструкции и умные фичи для повторного использования. Но каждый программист в итоге определяется с любимым языком с его собственным набором идиом и конструкций, которые прочно оседают в его мозгу.



Сложность заключается в том, чтобы остановиться на языке, на который есть спрос на рынке. Хорошим выбором будут языки вроде Java, C++, PHP и JavaScript. Они формируют ядро технологических стеков, а, значит, будут востребованными среди работодателей.



Но не менее привлекательными будут новые языки, которые не только помогают решать проблемы головоломные для старых языков, но и предлагают новые концепции, не сформулированные ранее.



Когда дело доходит до новой технологии, сомневаются не только разработчики, но и работодатели. С одной стороны, их привлекает мысль о том, что новый язык решит все старые проблемы, с другой – они достаточно благоразумны, чтобы скептически относиться к подобным «причудам». Достижение технологией равновесия сжет занимать десятилетия, и они должны уметь мудро подойти к вопросу, чтобы не попасть в ловушку языка-однодневки, который больше никто не знает.



Лучшая позиция для разработчика — наработать опыт в языке, спрос на который на рынке возрастает. Перед выходом iPhone, Objective-C был вымирающим языком, использовавшимся исключительно для написания native-приложений под Mac. Все изменилось и потребность в Objective-C стремительно возросла. И для каждого разработчика выбор нового языка, который в любой момент может стать популярным или уйти в небытие – всегда авантюра.