Зависит от задач, в идеале знать о разных языках, библиотеках, фреймворках и т.д., не в ущерб основному языку. Так больше вакансий подойдут просто. Но в принципе, можно и на совершенно чистом языке работать. Условные Java или Python, которые изначально довольно гибкие и универсальные.
И самое главное -- программист это человек, который может решить поставленную задачу грамотным способом. Что он при этом использует -- дело вторичное. Изучать нужно все по мере необходимости в контексте выполнения некоторой задачи.